You are on page 1of 6

Arquitectura del procesador

http://www.zator.com/Hardware/H3_2.htm

Disponible la versin 6 de OrganiZATOR Descubre un nuevo concepto en el manejo de la informacin. La mejor ayuda para sobrevivir en la moderna jungla de datos la tienes aqu.

Tecnologa del PC
[Home] [Inicio] [ndice]

Subir

OPTEX FA Photoelectric sensor,Photoeye, Displacement sensor,etc www.sca-shinyei.com Promocin Laptops Dell Laptops Hasta $900.000 de Descuento y LoJack Includo Cmprala Online! Dell.com/MX/ Emprise Technologies, LLC ARM Industry Experts Systems, Consulting, & Support www.emptechllc.com

3.2 Arquitectura del Procesador


1 Sinopsis El procesador es todo un mundo en s mismo; aunque los primeros eran comparativamente simples, actualmente han alcanzado una notable complejidad. En el presente captulo dedicaremos algunos comentarios a su estructura lgica, mencionando de pasada que su tecnologa fsica ha avanzado paralelamente con la de construccin de circuitos integrados, IC's, lo que a la postre ha significado unas dimensiones fsicas cada vez ms pequeas y un menor consumo. La evolucin de ambos parmetros no solo ha permitido incrementar la densidad de integracin, tambin la velocidad (frecuencia de funcionamiento). Si nos referimos a la familia Intel, de los 2.100 transistores del 4004 en 1970, que con solo 46 instrucciones funcionaba a unos 800 KHz, se pas a los 29.000 transistores del 8086 en 1979 a 14 MHz; y en 1999 a los 8.200.000 transistores del Pentium III a 2 GHz. Nota: acabo de leer (Noviembre 2001) que Intel anuncia la nueva tecnologa de 0.13 micras para su serie Pentium 4 (hasta ahora era de 0.18 micras), con la que se espera que a fines de 2002 se alcancen los 3 GHz. en estos procesadores. Un poco despus (Enero 2002) leo que Intel espera alcanzar 1.2 THz en sus procesadores para el 2005 (escribo esto en un Pentium II a 200 MHz no demasiado antiguo). En Abril del 2002 Intel anuncia el procesador Pentium 4 con tecnologa CMOS de 0,16 micras a 2.4 GHz y mejoras en el proceso de fabricacin que permiten su fabricacin en obleas de 300 mm. Esta tecnologa permite al fabricante proporcionar ms de cinco veces el volumen de productos en una sola oblea en comparacin con la del procesador Pentium 4 inicial. En Junio del mismo ao Intel desvela su nueva tecnologa de fabricacin de transistores "Tera-Herz", con la que pretende que en el 2005 pueda alcanzar los 10 GHz. Craig Barret, CEO [7] de la compaa, afirma que en un futuro no lejano esperan conseguir 2.000 millones de transistores en un procesador a 30 GHz. Actualmente se trabaja en el lmite de la resolucin ptica de los dispositivos utilizados en su construccin (se usan tcnicas fotogrficas con longitudes de onda cada vez menores para la luz utilizada), y debido a la altsima frecuencia de funcionamiento, los conductores internos funcionan ms como guas de onda que como conductores elctricos convencionales. Adems, las dimensiones fsicas del propio dispositivo estn tericamente limitadas si se desea que todos sus elementos funcionen segn un mismo patrn de tiempo (cosa que es imprescindible). Para dar una idea de las formidables dificultades tcnicas que han debido resolver los diseos actuales, considere que a la velocidad del Pentium III, las seales elctricas solo recorren 15 centmetros en cada ciclo de reloj.

2 Tipos de arquitectura Una de las primeras decisiones a la hora de disear un procesador es decidir cual ser su juego de instrucciones. Este conjunto de instrucciones (rdenes) es el lenguaje que realmente entiende el procesador, y constituye lo que se conoce como lenguaje ensamblador o lenguaje-mquina [1]. La decisin es trascendente, por dos razones. Primero: el juego de instrucciones decide el diseo fsico del conjunto. Segundo: cualquier operacin que deba ejecutarse con el procesador deber poder ser descrita en trminos de este "lenguaje" elemental (recuerde que los compiladores e intrpretes son en realidad traductores desde el lenguaje de alto nivel (fuente) a este lenguaje-mquina. Sin entrar en detalles, podemos decir que frente a esta cuestin caben dos filosofas de diseo. La primera conduce a mquinas denominadas CISC ("Complex Instruction Set Computer"); las mquinas construidas segn el otro criterio se denominan RISC ("Reduced Instruction Set Computer"). Como puede deducirse de sus propios nombres, las mquinas CISC utilizan instrucciones muy complejas, diramos que muy descriptivas y especficas, lo que necesariamente se traduce en varias consecuencias: El lenguaje debe contener un amplio surtido de ellas (una para cada circunstancia distinta). Son instrucciones complejas, por tanto de ejecucin lenta. La circuitera del procesador tambin es compleja. Para un trabajo especfico se requieren pocas instrucciones (siempre hay una que resuelve el problema). Las mquinas RISC representan el enfoque opuesto. Utilizan instrucciones muy simples, que deben ser cuidadosamente escogidas, porque cualquier operacin debe ser expresada como una secuencia de estas pocas instrucciones. Las consecuencias son justamente opuestas a las anteriores:

1 de 6

31/01/2012 11:47 p.m.

Arquitectura del procesador

http://www.zator.com/Hardware/H3_2.htm

El lenguaje contiene un conjunto pequeo de instrucciones. Las instrucciones son muy simples, por tanto de ejecucin rpida. La circuitera es ms simple que en los procesadores CISC. Para cualquier operacin se requieren varias instrucciones elementales. Naturalmente cada criterio tiene sus pros y sus contra en lo que a rendimiento se refiere. En las mquinas CISC, lentitud de cada instruccin frente a poca cantidad de ellas; en las RISC, rapidez individual aunque hay que ejecutar un mayor nmero [2].

3 Componentes principales. De forma esquemtica podemos suponer que un procesador se compone de cinco elementos: Memoria Unidad Artimtico-Lgica ALU ("Arithmetic and Logic Unit" Unidad de Control CU ("Control Unit" Bus interno Conexiones con el exterior ( 3.2.1) ) )

Puesto que su conocimiento es esencial para la programacin en ensamblador, nos detendremos brevemente la descripcin de la arquitectura del 8088; adems de ser el motor del primer PC, es uno de los primeros ejemplares de una prolfica saga que ha tenido una gran influencia en la informtica actual. Adems recordemos que incluso los modernos Pentium pueden emular el funcionamiento en modo real de sus ancestros. En le figura 1 se muestran sus elementos.

3.1 Los registros El procesador necesita para su funcionamiento de ciertas reas de almacenamiento, que aqu se llaman registros, y que son de dimensiones mnimas [3]; sin embargo, tienen la ventaja de su rapidez. Comparados con los accesos a RAM, los de registro son como mnimo 10 veces ms veloces. El 8088 dispone de catorce registros de 16 bits que se agrupan en cuatro grupos y que reciben nombres especiales (precisamente los que se utilizan para designarlos en lenguaje ensamblador).

3.1.1 Registros de uso general Existen 4 registros denominados AX, BX, CX y DX que en realidad tienen asignados usos caractersticos, aunque pueden ser utilizados a discrecin para cualquier cosa que necesitemos. AX es denominado acumulador; suele contener uno de los operandos que intervienen en las operaciones aritmticas y lgicas, y despus de esta, el resultado de la operacin. En general las instrucciones que trabajan con este registro (o su mitad inferior) tienen un microcdigo ms simple que la misma instruccin ejecutada con otro registro. BX es el registro base, suele contener la direccin de inicio de una tabla de valores. CX es denominado contador. Las instrucciones de bucle (LOOP) utilizan este registro como contador. DX es un registro de datos, multiuso. Se utiliza en operaciones de multiplicacin y divisin junto con AX. En operaciones de entrada/salida de puertos IN/OUT, su mitad inferior DL, contiene el nmero de puerto ( 2.5). Aunque estos cuatro registros son de 16 bits (como los 10 restantes) [6], en caso necesario pueden ser utilizados en dos mitades (nibbles), "High" y "Low", de 8 bits, con lo que puede considerarse que existen 12 registros de uso general (no simultneos), los anteriores y sus mitades: AH; AL; BH; BL; CH; CL; DH y DL.

3.1.2 Registros de segmento Se dispone de cuatro registros que sirven para contener las direcciones de otros tantos segmentos (zonas de 64 KB de memoria). Utilizndolos en conjuncin con otros registros que sealan las direcciones concretas dentro de estos segmentos (los desplazamientos ), permiten manejar la totalidad de la memoria direccionable (el bus de direcciones es de 20 bits). Ver al respecto el epgrafe "Direccionamiento segmentado" ( 5.1). Segmento de cdigo CS ("Code segment"). Seala la direccin del segmento de cdigo del programa que se est ejecutando ( E1.3.2). Segmento de datos DS ("Data segment"). Seala la direccin del segmento de datos del programa en ejecucin ( E1.3.2).

2 de 6

31/01/2012 11:47 p.m.

Arquitectura del procesador

http://www.zator.com/Hardware/H3_2.htm

Segmento de pila SS ("Stack segment"). Seala la direccin del segmento donde est la pila del programa ( E1.3.2). Segmento extra ES ("Extra segment"). Es un segmento auxiliar a los anteriores, se utiliza para sealar espacio extra en alguno de los segmentos o para almacenar momentneamente direcciones intermedias. Nota: Puede ocurrir que programas pequeos utilicen el mismo segmento para el cdigo, los datos y la pila.

3.1.3 Registros de puntero Son 5 registros destinados a contener direcciones; estas direcciones son desplazamientos dentro de los segmentos indicados por los registros de segmento (ver figura 5.1 Fig.2) El primero, denominado indistintamente puntero de instruccin IP ("Instruccin pointer") y contador de programa PC ("Program counter"), indica el desplazamiento (dentro del segmento de cdigo CS) de la prxima instruccin a ejecutar. El puntero de pila SP ("Stack Pointer"), seala el desplazamiento del final de la pila dentro del segmento de pila SS. En caso necesario la pila puede crecer a partir de este punto, de forma que por ejemplo, una nueva invocacin de funcin crear un nuevo registro de activacin que comenzar en este punto. El puntero base BP ("Base pointer") seala el desplazamiento (dentro del segmento de pila SS) donde se encuentra el origen de la zona ocupada por las variables dinmicas. Existen dos registros denominados "de ndice", en razn de su utilizacin muy particular; el ndice fuente SI ("Source index") y el ndice destino DI ("Destination index"). Generalmente estos dos registros se utilizan con alguno de los registros de uso general y con ciertas instrucciones especficamente pensadas para transferir datos (dentro de un rango de posiciones de memoria), desde un punto inicial de un segmento de datos, a otro. Ver en la pgina adjunta un ejemplo relativo al uso de punteros ( 3.2 Ejemplo-2).

3.1.4 Registro de estado Existe un registro especial, el registro de estado (FLAGS), en el que 9 de los 18 bits actan como semforos (indicadores del estado del procesador y del resultado de determinadas operaciones). Por ejemplo, si despus de una suma aritmtica hay o no desbordamiento del bit ms significativo. Los nombres y situacin de cada uno, dentro de la palabra de 16 bits, se muestran en la figura 2. Cada bits individual puede estar "activo" (1) o "inactivo" (0), y tiene un identificador que termina en F ("Flag"). Son los siguientes:

Bit

Indicador de: Acarreo ("Carry Flag")

Uso Indicador de arrastre del bit de mayor orden, que puede ocurrir en las operaciones aritmticas suma y resta. Si est activo Indica un nmero par de bits activos (bits cuyo contenido es 1). Esta informacin es til cuando el procesador controla transmisiones de datos. Indicador de ajuste en operaciones aritmticas con cantidades BCD ( E0.1w1). Est activo si el resultado de operacin es cero o resultado de comparacin igual. Si est activo indica que el resultado de operacin o de comparacin son negativos [5].

CF Paridad ("Parity Flag") PF Acarreo auxiliar AF Cero ("Zero Flag") ZF Signo ("Sign Flag") SF

TF

Detencin ("Trap Flag") Si est activo, el procesador genera automticamente una interrupcin despus de la ejecucin de cada instruccin, lo que permite controlar paso a paso la ejecucin del programa. Este bit debe estar normalmente inactivo (a 0). Interrupcin ("Interrupt Flag") Direccin ("Direction Flag") Este bit controla el estado del sistema de interrupciones enmascarables ( 2.4). Cuando est activo (1) permite las interrupciones; el estado inactivo (0) las deshabilita. Indica la direccin de las operaciones.

IF

DF

Desbordamiento OF (Overflow Flag")

Seala desbordamiento aritmtico

Nota: Los usuarios de MS-DOS o Windows puede usar el programa DEBUG ( el contenido de los registros de la siguiente forma:

1.7.1) para inspeccionar y modificar

3 de 6

31/01/2012 11:47 p.m.

Arquitectura del procesador

http://www.zator.com/Hardware/H3_2.htm

Invocar DEBUG desde una ventana DOS (suponemos que estamos en Windows; el "prompt" es un guin "-") introducir el comando R (pedimos que nos muestre el contenido de los registros). Salir de Debug con Q En mi PC la respuesta al comando tiene el siguiente aspecto: AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=1779 ES=1779 SS=1779 CS=1779 IP=0100 NV UP EI PL NZ NA PO NC Los valores estn expresados en hexadecimal. La ltima secuencia de caracteres ( NV UP EI PL NZ NA PO NC ) muestra el contenido del registro de estado (el bit TF de detencin no se muestra), el significado de la notacin utilizada es el siguiente: Bit Indicador de: Acarreo CF Paridad PF Acarreo auxiliar AF Cero ZF Signo SF Interrupcin IF Direccin DF Desbordamiento OV ("Overflow") OF Tambin es posible inspeccionar el contenido de un solo registro, aadiendo al comando R el nombre del registro. Por ejemplo, el comando R IP muestra el contenido del contador de programa. Los nombres que pueden utilizarse para los registros son los siguientes: AX; BX; CX; DX; SP; BP; SI; DI; DS; ES; SS; CS; IP y F (este ltimo para el registro de estado). Despus de un comando de este tipo, DEBUG responde con un "prompt" distinto del habitual ":", para indicar que debe introducir el nuevo valor que desea para el registro. Pulsando INTRO se vuelve al modo normal. NV ("No overflow") DN ("Down") decremento UP incremento EI ("Enabled Interrupt") activa DI ("Disabled Interrupt") desactivada NG ("Negative") negativo PL ("Plus") positivo ZR ("Zero") NZ ("No Zero") AC ("Auxiliar Carry") NA ("No Auxiliar") PE ("Parity Even") paridad par PO ("Parity Odd") paridad impar Indicativo si bit 1 CY ("Carry yes") Indicativo si bit 0 NC ("No Carry")

3.1.5 Comentario Observe que tanto el registro contador de programa IP, como el de base BP, siempre contienen direcciones de memoria (los otros pueden contener direcciones o datos). Ni los registros de segmento ni los de puntero se pueden dividir en mitades (como los de uso general).

3.2 Unidad Aritmtico-lgica Como su propio nombre indica, la unidad Aritmtico-Lgica ALU ("Arithmetic and Logic Unit"), es responsable de realizar ciertas operaciones aritmticas y lgicas. En cuanto a las primeras, ya hemos indicado ( 3) que los primeros procesadores solo eran capaces de realizar operaciones de aritmtica bsica con nmeros enteros, y que las operaciones con nmeros fraccionarios deban hacerse mediante artificios software. Esto haba motivado la aparicin de procesadores especficos para estas operaciones, los denominados coprocesadores matemticos. A partir de la introduccin del Intel 80486 el coprocesador matemtico fue incluido en el procesador. La unidad aritmtica de los procesadores actuales no solo puede realizar las operaciones aritmticas bsicas con nmeros enteros o fraccionarios, tambin ejecuta operaciones como raz cuadrada y funciones trascendentes, como clculo del seno, coseno, tangente, arcotangente, logaritmos y exponenciacin. Nota: En C++ los operadores aritmticos estn incluidos en el lenguaje ( E4.9.1), las operaciones trascendentes estn implementadas mediante funciones de la Librera Estndar ( 5), en la que existe toda una seccin dedicada a estas operaciones <math.h>.

4 de 6

31/01/2012 11:47 p.m.

Arquitectura del procesador

http://www.zator.com/Hardware/H3_2.htm

Por su parte, la unidad lgica es la responsable de realizar operaciones lgicas como AND, OR, XOR, etc (

E4.9.8).

3.3 Unidad de Control La Unidad de Control CU ("Control Unit") funciona como rbitro del funcionamiento del procesador. Se encarga de coordinar que todos los elementos funcionen de forma armnica. Para la ejecucin de una instruccin de lenguaje mquina se requieren una serie de operaciones elementales y de sucesos fsicos en los diversos componentes del procesador. Podramos poner un ejemplo: El procesador es un submarino en inmersin y el comandante da la orden de emerger. Esto requiere una serie de operaciones; los tripulantes deben abrir unas vlvulas, cerrar otras; orientar el timn de profundidad; ajustar la velocidad, etc. etc. En el procesador, la operacin MOV AX, BX (mover el contenido del registro BX a AX), requiere tambin la operacin de una serie de vlvulas (aqu se llaman puertas lgicas) en un orden determinado. El conjunto de operaciones necesarias para que se complete cada instruccin de lenguaje-mquina se conoce como microcdigo. Es un programa de actuacin cableado en silicio (firmware) o en una memoria interna especial del procesador CROM ("Control Read Only Memory), y suele comenzar con las maniobras necesarias para traer ("Fetch") la prxima instruccin (sealada por el contador de programa IP), a un mdulo de la CU denominado decodificador de instrucciones. La Unidad de Control, responsable de que todas estas operaciones se ejecuten correctamente, es en realidad el poder ejecutivo de la UCP (siguiendo con nuestro smil, en las mquinas de von Neumann [4], el "Poder legislativo" sera el programa grabado en memoria). Nota: Algunos microprocesadores modernos (por ejemplo los Pentium de Intel), permiten modificar el contenido de la CROM, alterando as el microcdigo. Esto no solo permite actualizarlo, tambin corregir ocasionalmente algunos errores ("Bugs"); estas actualizaciones se realizan a travs de la secuencia POST del BIOS ( 4.2). En la terminologa utilizada por los fabricantes de procesadores, las versiones del microcdigo se denominan escalamientos. Al referirse al microcdigo, el nmero de escalamiento es equivalente al nmero de versin en el caso del software. Como todo lo dems que ocurre en el ordenador estas operaciones se ejecutan segn el comps de las seales de reloj que llegan desde la placa-base. En ocasiones se trata de un microcdigo complicado, para el que se necesitan varios ciclos de reloj. Por ejemplo, en el 8080 (un antepasado del 8088 montado en los primeros PC's), el microcdigo de las instrucciones ms complejas necesitaba nada menos que 18 ciclos de reloj (CLK) para su ejecucin, frente a los 4 ciclos de las instrucciones ms rpidas. Aunque el microcdigo se mejora constantemente, su simplificacin tiene un lmite, que marca el rendimiento del procesador. Las nicas formas de acelerarlo es aumentar la frecuencia del reloj y el procesamiento paralelo y simultaneo de varias instrucciones. Esta ltima capacidad requiere una arquitectura especial (sper escalar) de los procesadores, a la que ya nos hemos referido ( 3).

3.4 El bus interno Los diversos elementos de un microprocesador estn interconectadas de forma muy compleja (el propio micro lo s), de forma que la imagen de la figura 1 es solo una simplificacin conceptual. En realidad existen varios buses principales, cuya anchura que es dos a cuatro veces la del bus externo ( H2) de los PC's, y muchos ms secundarios. En la figura adjunta se muestra un esquema de la arquitectura interna de un procesador de la familia Pentium de Intel ( Arq. Pentium) en la que puede apreciarse su complejidad.

4 El lenguaje del procesador Hemos sealado que el lenguaje que entiende el procesador es lenguaje-mquina, pero rramente se emplea como tal, se utiliza un lenguaje de un poco ms alto nivel, ensamblador o macro-ensamblador. Cada modelo de procesador tiene su propio lenguaje-mquina y necesita su propio ensamblador, pero todos los miembros de la saga Intel x86 (includos los actuales Pentium) comparten un ncleo que proviene de su ancestro el 8086. Desde luego este tutorial "Tecnologa del PC", no trata sobre programacin en assembler (que adems no es mi especialidad), pero como algunos me han escrito solicitando informacin al respecto, incluyo algunas referencias donde puede encontrarse informacin acerca de la programacin en ensamblador y donde conseguir macroensambladores. WEB Ster webster.cs.ucr.edu

En mi opinin, esta web mantenida por Randall Hyde, es el "Sitio" por antonomasia sobre este asunto de la programacin en ensamblador. Hace honor a su ttulo: "The Place on the Net to Learn Assembly Language Programming". Empieza por aqu y seguramente no tendrs que seguir buscando por ah. IBM Personal Computer Assembly wiretap.area.com

Tutorial de Joshua Auerbach, de la Universidad de Yale, para los que se inician en el ensamblador del PC. Winston (Leos Literak) www.penguin.cz

Un completo diccionario sobre el juego de instrucciones la familia Intel 80x86 hasta el 80486. Roger Jegerlehner www.jegerlehner.ch

5 de 6

31/01/2012 11:47 p.m.

Arquitectura del procesador

http://www.zator.com/Hardware/H3_2.htm

Esta pgina contiene un excelente resumen de las instrucciones ensamblador de la serie Intel 80x86 descargable en formato .pdf Trinity College shakti.trincoll.edu

Estas pginas de un curso sobre arquitectura de ordenadores y ensamblador del Trinity College de Hartford en Connecticut. Contienen algunos ejemplos de programas en ensamblador. En el Infierno de los programadores pueden consultarse dos pginas en las que hay abundante informacin sobre ensambladores y desensambladores: www.programmersheaven.com www.programmersheaven.com Inicio. [1] Aunque los informticos suelen utilizan el vocablo ensamblador como sinnimo de lenguaje-mquina, en realidad hay una diferencia importante entre ambos. El verdadero lenguaje mquina es un conjunto de instrucciones en forma de unos y ceros, cuya traduccin ASCII es uno, dos, o ms caracteres por instruccin, segn el tipo de instruccin y procesador utilizado. Por ejemplo, en el 8088, las instrucciones 51h; 52h y 53h son respectivamente rdenes de salvar el contenido de los registros CX, DX y BX en la pila, pero escribir directamente en este lenguaje nativo sera inhumano. En realidad se utiliza un lenguaje denominado ensamblador o macro-ensamblador; este lenguaje ha sustituido cada instruccin-mquina por un nemnico o macroinstruccin que la hace ms fcil de recordar por el programador. Por ejemplo, las instrucciones anteriores pueden escribirse como: PUSH CX; PUSH DX y PUSH BX respectivamente (como puede ver mucho ms fciles de recordar). Aunque es de muy bajo nivel (muy cercano al lenguaje-mquina), este lenguaje dispone de algunas otras comodidades, como permitir escribir comentarios en el fuente. Posteriormente el compilador traduce nuestros nemnicos al verdadero lenguaje-mquina y el conjunto es ensamblado en un conjunto ejecutable. El lenguaje C++ permite incluir directamente en sus fuentes sentencias ensamblador ( E4.10), aunque una de las razones de la invencin de su antecesor el C, fue precisamente no tener que escribir en el referido lenguaje ensamblador. [2] A este respecto se me ocurre una ancdota que viene al caso. Seguramente muchos sabis que AutoCad es un programa de diseo grfico asistido por ordenador muy utilizado en arquitectura e ingeniera, que con los aos ha llegado a unos niveles de refinamiento y potencia realmente notables (creo que llegar a dominarlo supone casi una diplomatura). Tengo un viejo amigo que, en razn de su profesin lo utiliza en su trabajo diario, y en alguna ocasin he tenido que pedirle ayuda. Aunque AutoCad tiene centenares de instrucciones, mi amigo utiliza solo un conjunto pequesimo de ellas; ha desarrollado su propia tcnica, y a veces hace verdaderos malabarismos para conseguir lo que quiere en base a tan pocas instrucciones, a pesar de lo cual es increblemente rpido. La ltima vez que nos vimos le dije entre risas que era un delineante RISC. [3] El procesador se apoya constantemente en la RAM externa para su funcionamiento. [4] John von Neumann matemtico Hngaro (Budapest 1903), emigrado a USA, donde falleci en 1957. Una de las mentes ms brillantes de su tiempo, llegara a ser una leyenda en Princeton. Sus aportaciones matemticas, en el campo de la teora de Juegos, son importantes, as como sus trabajos tericos para la construccin de la primera bomba atmica, pero cuando conoci el ENIAC, qued fascinado por las posibilidades y potencial de los ordenadores, de cuyos aspectos tericos lleg a ser una autoridad. Su trabajo ms conocido es un famoso informe de 1945: "First draft of a report on EDVAC", en el que sienta las bases tericas para el diseo de un ordenador ("Electronic Discrete Variable Automatic Computer"). Este trabajo le ha valido ser considerado por algunos (quizs un poco exageradamente) como el padre de la moderna informtica. En cualquier caso, parece que le corresponde el honor de ser el primero en concebir un ordenador cuyo programa est albergado en la memoria de la mquina (como otro dato ms). Una mquina de este tipo se denomina, justamente por eso, "de von Newmann". Por supuesto todos los ordenadores modernos lo son. [5] La forma de almacenamiento interno utilizada es de complemento a dos ( significativo de los nmeros negativos es 1. E.2.4a), por lo que el bit ms

[6] Cuando a partir de la introduccin del 80386, los registros pasaron a ser de 32 bits, los registros generales pasaron a denominarse EAX, EBX, ECX y EDX. Como Intel garantiz la compatibilidad hacia atrs con el cdigo ensamblador antiguo, las mitades de estos registros podan seguir direccionndose como AX, BX, CX, DX, y sus cuartas partes como AH; AL; BH; BL; CH; CL; DH y DL. [7] CEO "Chief Executive Officer". Consejero delegado en espaol. Inicio

|ndice|

Copyright 1990-2011 Zator Systems.

6 de 6

31/01/2012 11:47 p.m.

You might also like