Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Jos Daniel Muoz Fras Universidad Ponticia Comillas. ETSI ICAI. Departamento de Electrnica y Automtica
ICAIdea
ndice
1. 2. 3. 4. 5. Niveles de estudio del ordenador. Descripcin del computador. Ciclo de ejecucin. Estructura de un computador elemental. Anlisis/diseo de un ordenador.
ICAIdea
El juego de instrucciones y cmo se codican. Los registros internos. Los tipos de datos: enteros, coma otante. . . Los modos de direccionamiento. El tratamiento de excepciones.
Estructura de Computadores Captulo 1: Introduccin. p. 3
ICAIdea
El juego de instrucciones est formado por todas las instrucciones que es capaz de
arquitectura MIPS dene 31 registros de propsito general de 32 bits y varios de uso especco por la CPU. La arquitectura IA-32 (Pentium) dene en cambio slo 8 registros de propsito general de 32 bits.
El tipo de datos soportados vara de una arquitectura a otra. Por ejemplo, los
microcontroladores de 8 bits soportan slo enteros de 8 bits. En cambio los microprocesadores de altas prestaciones de 32 bits (p. ej. Pentium) soportan enteros de 8, 16 y 32 bits, nmeros en coma otante de 64 bits, etc.
Los modos de direccionamiento denen los distintos mtodos para acceder a la
memoria por parte de la CPU. Por ejemplo, la direccin que se desea acceder puede estar contenida en un registro interno, en la propia instruccin. . .
El tratamiento de excepciones dene qu hace un ordenador cuando ocurre un error
interno (por ejemplo al dividir por cero), cuando ejecuta una instruccin no denida, cuando recibe una interrupcin externa, etc. programador se entiende el programador en lenguaje ensamblador. No obstante hay aspectos de la arquitectura que s pueden interesar al programador de alto nivel, como son los tipos de datos soportados por la mquina o el tratamiento de excepciones.
1 Por
Con qu unidades funcionales se implanta la arquitectura. Cmo se implanta cada una de estas unidades. Cmo es el ujo de datos entre unidades. Cmo se controlan.
Estructura de Computadores Captulo 1: Introduccin. p. 4
ICAIdea
Es decir, la organizacin de un computador dene cmo ste realiza sus funciones. Una misma arquitectura se puede implantar de varias maneras. Por ejemplo si se
desea mayor velocidad se pueden usar dos ALUs para poder efectuar dos operaciones en paralelo, lo cual implica mayor velocidad, aunque tambin un mayor coste.
Una misma unidad funcional se puede implantar de distintas formas. Por ejemplo un
sumador se puede implantar con propagacin de acarreo (lento pero barato) o con prediccin de acarreo (rpido pero caro).
El ujo de datos especica cmo se mueven los datos entre las distintas unidades del
ordenador.
Para controlar las unidades se usa la unidad de control, que puede implementarse
como una mquina de estados (control cableado) o con un secuenciador (control microprogramado).
Componentes discretos para la CPU. CPU en un solo chip: Microprocesador. Tecnologa de fabricacin de 130 nm a 90 nm. Tcnicas de encapsulado y de refrigeracin.
ICAIdea
totalmente obsoleta.
Las tecnologas de fabricacin de los circuitos integrados se denen por el ancho de
canal de los transistores que es posible fabricar. Cuanto menor sea el ancho del canal, ms rpido conmuta el transistor y por tanto puede funcionar a una frecuencia de reloj mayor. En la actualidad la tecnologas de fabricacin de los microprocesadores de altas prestaciones oscila entre 0,25 m y 0,13 m.
El lmite fundamental de la frecuencia de operacin es la capacidad de evacuar el
calor generado en el chip, el cual es proporcional a la frecuencia de reloj. Por tanto un mismo chip mejor refrigerado puede funcionar a mayor frecuencia (overclocking).
Una misma arquitectura puede tener distintas organizaciones. Una misma organizacin puede tener distintas realizaciones. Arquitectura: IA-32 Organizaciones: 8086, 80286 . . . Pentium 4 Realizaciones Pentium 4: de 2.4 a 3.4 GHz
Estructura de Computadores Captulo 1: Introduccin. p. 6
Por ejemplo:
ICAIdea
arquitectura en los sucesivos modelos. Por ejemplo, a partir del Pentium MMX se aadieron nuevas instrucciones para soporte multimedia junto con 8 registros de 64 bits accesibles por estas nuevas instrucciones. A pesar de esto, la compatibilidad hacia arriba est garantizada, es decir, un Pentium 4 fabricado hoy es capaz de ejecutar un programa escrito en 1978 para el 8086.
Otro ejemplo de arquitectura es la del IBM System/360, nacida en 1964 y que ha
El funcionamiento. La estructura.
ICAIdea
La organizacin jerrquica es imprescindible a la hora de estudiar y disear sistemas complejos. Cada nivel consta de una serie de subsistemas interrelacionados de los que slo se necesita un modelo simplicado. De esta forma la complejidad de cada nivel es abordable. Por ejemplo, en un programa en C la funcin main() consta de varias funciones, de las que slo hace falta conocer lo que hacen y cuales son sus argumentos. A su vez cada funcin necesitar llamar a otras funciones de las que slo necesita conocer su cometido y sus argumentos. . . Para estudiar cada nivel es necesario conocer:
El funcionamiento: Es la operacin de cada componente individual como parte de la
estructura.
La estructura: Es el modo en que cada uno de los componentes estn interrelaciona-
dos.
Funcin de un computador
Procesar datos ->Clculos. Almacenar datos ->Bases de datos. Transferir datos ->Comunicaciones.
Entonces:
Los ordenadores se utilizan para todo tipo de tareas. Sin embargo, cada una de estas tareas incluye una o varias de estas funciones:
Procesar datos. Es la funcin para la que nacieron los primeros computadores.
Veremos en esta asignatura que los datos del mundo real se modelan como entidades codicadas en binario sobre las cuales se realizan una serie de operaciones bsicas.
Almacenar datos. La primera idea que se viene a la cabeza es la de un gran sistema
de bases de datos. Sin embargo hasta los computadores empotrados (p. ej. el ABS de un coche) cuya funcin principal no es el almacenamiento de datos, necesitan un almacenamiento temporal para guardar los resultados intermedios de sus clculos.
Transferir datos. Antes de procesar datos, el computador necesita adquirir dichos da-
tos desde el exterior. De la misma forma necesita enviar los resultados de sus clculos al exterior. Para ello usa una serie de dispositivos perifricos conectados a su sistema de entrada/salida. Adems, cada da tienen mayor importancia las comunicaciones. En ellas los computadores tienen un papel fundamental como enrutadores de datos, conversores de protocolo, etc. Segn lo anterior cabe preguntarse si una calculadora sencilla (+, -, *, /) es un computador, pues es capaz de procesar datos. De la misma forma un radio cassette es capaz de almacenar datos en una cinta magntica y un telfono permite realizar una comunicacin. Todos estos sistemas tienen en comn el estar compuestos de un conjunto de subsistemas interrelacionados que les permite realizar su funcin, junto con un sistema de control que los gobierna. La diferencia entre la calculadora, el radio cassette y el telfono y un ordenador es que en los tres primeros el control es jo, mientras que en el ordenador el control es programable, lo que le permite solucionar cualquier problema que pueda resolverse con sus unidades funcionales.
Estructura de un computador
Seales de control Seales de datos
CPU Control
Instrucciones
Datos
tambin se realiza en los dispositivos de almacenamiento como discos, cintas, etc. Dichos dispositivos se conectan al sistema de entrada/salida).
El proceso de datos se realiza en el camino de datos. Dicho camino de datos est
formado por una o varias ALU (Arithmetic-Logic Unit), registros para almacenar datos temporales, unidades de punto otante, etc.
La transferencia de datos se realiza en el sistema de entrada y salida (E/S). De esta
forma es posible la comunicacin con el exterior para la entrada de datos y programas y la salida de resultados.
Todo el sistema est controlado por la unidad de control. El comportamiento de la
unidad de control viene dado por el programa, que se almacena tambin en la memoria.
Ciclo de ejecucin
Inicio
Parar? Si Parada
No
ICAIdea
El funcionamiento del computador viene dado por el diagrama de ujo mostrado en la transparencia:
Cuando se conecta el ordenador, ste comienza a leer instrucciones de memoria
paraba el programa y avisaba al operador (con una campana en el caso del EDVAC) para que este cargase el siguiente programa. Hoy en da dicho modo de funcionamiento est totalmente obsoleto. Los ordenadores actuales estn continuamente ejecutando mltiples procesos, incluso de varios usuarios (multiproceso y multiusuario), con lo que no tiene sentido parar la CPU cuando un programa termina; sino devolver el control al sistema operativo para que ejecute otro proceso (esto es lo que hace la funcin exit() de C).
A pesar de esto, muchos ordenadores disponen de instrucciones especiales (llamadas
halt, idle, stop. . . ) que hacen que se pare la ejecucin y la CPU entre en un modo de bajo consumo. La ejecucin de instrucciones se reanuda cuando se produce alguna peticin de entrada/salida (p. ej. una llamada por modem, la pulsacin de una tecla, etc.).
Qu ocurre cuando se produce un error (p. ej. una divisin por 0)? En estos casos
la CPU detecta esta condicin y ejecuta una funcin especca para tratar este error. Por ejemplo, puede terminar el programa y dar un mensaje de error al usuario. A este proceso se le denomina tratamiento de excepciones.
Operaciones CPU
Instruccin vectorial
Ciclo de Captacin
Ciclo de Ejecucin
ICAIdea
El diagrama de la gura representa el ciclo de instruccin de un ordenador en mayor 1 Las detalle. El ciclo representado es el de la instruccin ms compleja de un computador CISC. instrucciones ms simples slo emplean algunas de las etapas de las mostradas.
En primer lugar se calcula la direccin de la siguiente instruccin. Como los
programas se almacenan en memoria de forma que las instrucciones del programa estn situadas consecutivamente, dicho clculo consiste en la mayora de los casos en incrementar un contador. La excepcin a esta regla se da en las instrucciones de salto.
A continuacin se lee la instruccin de memoria y se almacena en un registro interno
de la CPU.
Una vez obtenida la instruccin se puede pasar a su decodicacin para averiguar
direccin, lectura de la memoria y almacenamiento en un registro interno. Si el dato ocupa ms de una palabra, ser necesario repetir este ciclo varias veces hasta leer todas las palabras que componen el dato. Por otro lado, existen ordenadores que disponen de instrucciones que usan varios datos de memoria. En este caso, tambin ser necesario repetir estas dos etapas tantas veces como sea necesario. Instruction Set Computer. Este tipo de ordenadores se caracterizan por tener un gran conjunto de instrucciones heterogneas que realizan labores complejas. Por heterogneas se entiende de distintos formatos y tamaos.
1 Complex
Una vez que la CPU tiene todos los datos, puede pasar a ejecutar la operacin
realiza un ciclo de clculo de direccin y escritura en memoria del resultado. En este caso, si el resultado ocupa ms de una palabra, ser necesario repetir el ciclo de escritura.
Existen ordenadores que disponen de instrucciones que realizan una misma operacin
sobre un vector de datos. En este tipo de instrucciones, despus de obtener el resultado se lee el siguiente elemento del vector para realizar una nueva operacin. En caso contrario, la ejecucin contina con la siguiente instruccin.
2 Dicha alternativa Existe una alternativa ms simple, que es la adoptada por las mquinas RISC. consiste en permitir instrucciones con un ciclo ms homogneo. En el caso del MIPS, que es el procesador que usaremos en el laboratorio, en lugar de existir un ciclo complejo como
Instruction Set Computer. Este tipo de ordenadores se caracterizan por tener un conjunto de instrucciones reducido y homogneo que realizan labores muy simples de forma muy eciente. Por juego de instrucciones homogneo se entiende de tamao jo y de formato regular. Con esta losofa de diseo se consiguen circuitos ms pequeos y ms ecientes. El nico inconveniente es que los programas necesitan ms instrucciones, aunque debido al bajo coste de la memoria esto no es ningn problema hoy en da (salvo en sistemas empotrados con restricciones de memoria); sobre todo porque el resultado es un sistema con mejores prestaciones (Patterson y Hennessy, 2000).
2 Reduced
el estudiado, del cual unas instrucciones utilizan todas las etapas y otras slo unas cuantas; existen slo 4 ciclos bsicos de instruccin que adems son muy parecidos entre ellos:
Ciclo de lectura de memoria. Ciclo de escritura de memoria. Ciclo de operacin. Ciclo de salto.
Esto hace que todas las instrucciones sean muy parecidas y como consecuencia el sistema se puede paralelizar fcilmente. Por el contrario, en un computador CISC, unas instrucciones tienen un operando de memoria, otras dos, otras ninguno. . . lo cual hace que el ciclo de ejecucin de cada instruccin sea distinto, siendo entonces ms difcil su paralelizacin. En las siguientes transparencias se detallan los ciclos de instruccin del procesador MIPS.
Operaciones CPU
Ciclo de Captacin
Ciclo de Ejecucin
Operaciones CPU
Ciclo de Captacin
Ciclo de Ejecucin
Operaciones CPU
Decodificar Instruccin
Operacin Instruccin
Ciclo de Captacin
Ciclo de Ejecucin
El MIPS tiene un banco de 31 registros internos, lo que le permite almacenar variables y resultados intermedios para operar con ellos sin necesidad de acceder a memoria. Esto permite una mayor velocidad de operacin, ya que el acceso a los registros es mucho ms rpido que el acceso a la memoria y adems de esta forma mientras est realizando la operacin puede estar leyendo la siguiente instruccin de memoria, lo cual hace que aumenten las prestaciones enormemente. En resumen la losofa RISC es cargar los datos que necesitemos para realizar la operacin en los registros del procesador y a continuacin realizar las operaciones pertinentes. Cuando se obtengan resultados que es necesario guardar se realiza una operacin de escritura para almacenarlos en la memoria principal. Por ltimo indicar que las operaciones de salto lo nico que hacen es informar a la etapa de clculo de la direccin de la instruccin que la siguiente instruccin a ejecutar est en la direccin a la que se desea saltar.
CPU
Acc R. Est ALU Unidad de control RDAM R. I. Reg. 2 Bus Interno (Datos y direcciones) C.P. RDIM
Memoria
Reg. 1
Bus de Datos
ICAIdea
En la transparencia se muestra un diagrama de bloques simplicado de un ordenador elemental con arquitectura von-Newmann. No se ha incluido la unidad de entrada/salida para no complicar en exceso en diagrama. La funcin de cada elemento es:
C.P. es el contador de programa. Contiene la direccin de la siguiente instruccin del
programa.
R.I. es el registro de instruccin. Almacena la instruccin que se est ejecutando en
este momento.
Reg. 1 y Reg. 2 son dos registros para almacenar temporalmente los operandos de la
ALU.
ALU es la unidad aritmtico lgica. Esta unidad es la encargada de realizar todas las
operaciones del ordenador. La eleccin de la operacin a realizar la realiza la unidad de control en funcin de la instruccin que se est ejecutando.
Acc es el acumulador. Su funcin es almacenar el resultado de la ALU para que
instruccin almacenada en el R.I. y generar las seales de control (-ordenes) que gobiernan el resto de elementos de la CPU.
Bus Interno. Est compuesto por una serie de conexiones que comunican entre s a
todos los elementos de la ruta de datos de la CPU. En este caso elemental el mismo bus permite transportar tanto direcciones como datos. En CPUs ms complejas existen varios buses internos de forma que se puede conseguir mayor grado de paralelismo.
Bus de Direcciones. Es un bus que permite enviar a la memoria la direccin a la que
la memoria.
Memoria. Permite almacenar tanto el programa como los datos. Se organiza como un
vector de n palabras. Necesita una seal de control denominada R/W, que proviene de la unidad de control, para indicar si el acceso es de lectura o de escritura.
Anlisis/diseo de un ordenador
El anlisis o el diseo de un ordenador es complejo, pero abordable si:
ICAIdea
Desde el punto de vista de la organizacin, un ordenador no es ms que un sistema digital complejo que implementa una arquitectura. Aunque sea una tarea compleja, el diseo o anlisis de un ordenador es abordable, pero para ello hay que tener en cuenta que:
La nica manera de abordar la complejidad es dividiendo el sistema en subsistemas
ms simples (divide y vencers). De esta manera se llega a sistemas que son fciles de disear.
En el diseo de un ordenador, como en cualquier sistema digital de proceso de datos,
realizar las operaciones requeridas sobre los datos, as como los registros para almacenar los resultados intermedios y los elementos de interconexin. Salvo los registros, el resto de elementos de la ruta de datos son circuitos combinacionales.
El ujo de datos por el camino de datos ha de estar coordinado
perfectamente. De ello se encarga la unidad de control. Esta unidad ser un circuito secuencial.
El proceso de diseo consiste en disear en primer lugar la ruta de datos para a con-
Referencias
Amdahl, G. M., Blaauw, G. A., y Brooks Jr., F. P. (1964). Architecture of the IBM System/360. IBM Journal Of Research And Development, 8(2). Disponible on-line en: http://www.research.ibm.com/journal/rd/441/amdahl.pdf. Patterson, D. A. y Hennessy, J. L. (2000). Estructura y diseo de computadores. Intercie circuitera/programacin. Revert.
16-2