diseño del computador elemental

Upload: michael-se

Post on 05-Apr-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/31/2019 diseo del computador elemental

    1/17

    ICAIdea

    Estructura de Computadores

    Captulo 1: Introduccin.

    Jos Daniel Muoz Fras

    Universidad Pontificia Comillas. ETSI ICAI.

    Departamento de Electrnica y Automtica

    Estructura de Computadores Captulo 1: Introduccin. p. 1

    ICAIdea

    ndice

    1. Niveles de estudio del ordenador.

    2. Descripcin del computador.

    3. Ciclo de ejecucin.

    4. Estructura de un computador elemental.

    5. Anlisis/diseo de un ordenador.

    Estructura de Computadores Captulo 1: Introduccin. p. 2

  • 7/31/2019 diseo del computador elemental

    2/17

    ICAIdea

    Niveles de estudio del ordenador

    Arquitectura de computadores: Estudia los

    atributos de un sistema [computacional] talcomo son vistos por el programador. Define:

    El juego de instrucciones y cmo secodifican.

    Los registros internos.

    Los tipos de datos: enteros, coma flotante. . . Los modos de direccionamiento.

    El tratamiento de excepciones.

    Estructura de Computadores Captulo 1: Introduccin. p. 3

    Esta definicin es la primera realizada sobre la arquitectura de ordenadores,

    aparecida en el artculo: Architecture of the IBM system/360 (Amdahl et al., 1964).1

    Otra manera de expresarlo es decir que la arquitectura define qu hace un ordenador.

    El juego de instrucciones est formado por todas las instrucciones que es capaz de

    ejecutar el ordenador. Estas instrucciones se codifican como nmeros binarios.

    Los registros internos tambin estn definidos por la arquitectura. Por ejemplo la

    arquitectura MIPS define 31 registros de propsito general de 32 bits y varios de uso

    especfico por la CPU. La arquitectura IA-32 (Pentium) define 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 flotante de 64 bits, etc.

    Los modos de direccionamiento definen 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 define qu hace un ordenador cuando ocurre un error

    interno (por ejemplo al dividir por cero), cuando ejecuta una instruccin no definida,

    cuando recibe una interrupcin externa, etc.

    1Por 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.

  • 7/31/2019 diseo del computador elemental

    3/17

    ICAIdea

    Niveles de estudio del ordenador

    Organizacin de computadores: Estudia cmo se

    implanta una arquitectura mediante circuitosdigitales. Define

    Con qu unidades funcionales se implanta laarquitectura.

    Cmo se implanta cada una de estas

    unidades. Cmo es el flujo de datos entre unidades.

    Cmo se controlan.

    Estructura de Computadores Captulo 1: Introduccin. p. 4

    Es decir, la organizacin de un computador define 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 flujo de datos especifica 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 mi-

    croprogramado).

  • 7/31/2019 diseo del computador elemental

    4/17

    ICAIdea

    Niveles de estudio del ordenador

    Realizacin del computador: Estudia la

    tecnologa con la que se implanta fsicamenteuna organizacin concreta. Por ejemplo usando:

    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.

    Estructura de Computadores Captulo 1: Introduccin. p. 5

    La construccin de la CPU mediante componentes discretos est en la actualidad

    totalmente obsoleta.

    Las tecnologas de fabricacin de los circuitos integrados se definen 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).

  • 7/31/2019 diseo del computador elemental

    5/17

    ICAIdea

    Niveles de estudio del ordenador

    En resumen:

    Una misma arquitectura puede tenerdistintas organizaciones.

    Una misma organizacin puede tenerdistintas realizaciones.

    Por ejemplo:

    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

    El ejemplo propuesto no es del todo cierto, ya que Intel ha introducido mejoras en la

    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

    evolucionado hasta los sistemas S/390 de la actualidad.

  • 7/31/2019 diseo del computador elemental

    6/17

    ICAIdea

    Descripcin del computador

    Un computador es un sistema complejo

    organizado como una jerarqua de subsistemasinterrelacionados. De cada nivel interesaestudiar:

    El funcionamiento.

    La estructura.

    Estructura de Computadores Captulo 1: Introduccin. p. 7

    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 simplificado. 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.

  • 7/31/2019 diseo del computador elemental

    7/17

    ICAIdea

    Funcin de un computador

    Procesar datos ->Clculos.

    Almacenar datos ->Bases de datos.

    Transferir datos ->Comunicaciones.

    Entonces:

    Una calculadora.

    Un radio-cassette. Un telfono.

    Son computadores?

    Estructura de Computadores Captulo 1: Introduccin. p. 8

    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

    codificadas 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 com-

    putador, 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 ordenadores que en los tres primeros el control es fijo, mientras que en el ordenador el control es

    programable, lo que le permite solucionar cualquier problema que pueda resolverse con sus

    unidades funcionales.

  • 7/31/2019 diseo del computador elemental

    8/17

    ICAIdea

    Estructura de un computador

    de

    Control

    CPU

    DatosDatos

    Memoria

    E/S

    Instrucciones

    Camino

    Datos

    Seales

    de control

    Seales

    de datos

    Arquitectura de von Newmann.

    Estructura de Computadores Captulo 1: Introduccin. p. 9

    La funcin de almacenamiento de datos se realiza en la memoria. (En realidad

    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 flotante, 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 memo-

    ria.

  • 7/31/2019 diseo del computador elemental

    9/17

    ICAIdea

    Ciclo de ejecucin

    Ejecucin

    Inicio

    Parada

    Captura

    Instruccin

    Parar?

    No

    Si

    Estructura de Computadores Captulo 1: Introduccin. p. 10

    El funcionamiento del computador viene dado por el diagrama de flujo mostrado en la

    transparencia:

    Cuando se conecta el ordenador, ste comienza a leer instrucciones de memoria

    (captura instruccin) y a ejecutarlas (ejecucin).

    El ciclo captura-ejecucin contina hasta que se desconecta el ordenador.

    No obstante, en los ordenadores primitivos exista una instruccin de stop que

    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 defuncionamiento 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 especfica 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.

  • 7/31/2019 diseo del computador elemental

    10/17

    ICAIdea

    Ciclo de ejecucin detallado

    Clculo Dir.

    Dato

    Decodificar

    Instruccin

    Operacin

    Instruccin

    Captacin

    Dato

    VariasPalabras

    Clculo Dir.

    Resultado

    Almacenar

    Resultado

    VariasPalabras

    Clculo Dir.

    Instruccin

    Captacin

    Instruccin

    Operaciones

    Acceso a

    Memoria

    CPU

    Ciclo deCaptacin

    Ciclo deEjecucin

    Instruccin vectorial

    Estructura de Computadores Captulo 1: Introduccin. p. 11

    El diagrama de la figura representa el ciclo de instruccin de un ordenador en mayor

    detalle. El ciclo representado es el de la instruccin ms compleja de un computador CISC.1 Las

    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 internode la CPU.

    Una vez obtenida la instruccin se puede pasar a su decodificacin para averiguar

    qu hay que hacer a continuacin.

    Si la instruccin necesita traer datos de memoria se realiza un ciclo de clculo de

    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.

    1Complex Instruction Set Computer. Este tipo de ordenadores se caracterizan por tener un

    gran conjunto de instrucciones heterogneas que realizan labores complejas. Por heterog-

    neas se entiende de distintos formatos y tamaos.

  • 7/31/2019 diseo del computador elemental

    11/17

    Una vez que la CPU tiene todos los datos, puede pasar a ejecutar la operacin

    demandada por la instruccin y generar el resultado, el cual se guarda en un registro

    interno.

    Por ltimo, el resultado obtenido puede ser escrito en memoria. En este caso se

    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.

    Existe una alternativa ms simple, que es la adoptada por las mquinas R ISC.2 Dicha alternativa

    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

    2Reduced 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 eficiente. Por juego de instrucciones homogneo se entiende de tamao fijo y de formato

    regular. Con esta filosofa de diseo se consiguen circuitos ms pequeos y ms eficientes. 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).

    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 instruccio-

    nes 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.

  • 7/31/2019 diseo del computador elemental

    12/17

    ICAIdea

    Ciclos de ejecucin del MIPS

    Clculo Dir.

    Dato

    Decodificar

    Instruccin

    Captacin

    DatoVarias

    Palabras

    Clculo Dir.

    Instruccin

    Captacin

    Instruccin

    Operaciones

    Acceso a

    Memoria

    CPU

    Ciclo deEjecucin

    Ciclo deCaptacin

    Ciclo de lectura de memoria.

    Estructura de Computadores Captulo 1: Introduccin. p. 12

    ICAIdea

    Ciclos de ejecucin del MIPS

    Almacenar

    Dato

    VariasPalabras

    Clculo Dir.

    Instruccin

    Captacin

    Instruccin

    Operaciones

    Acceso a

    Memoria

    CPU

    Ciclo de

    Ejecucin

    Decodificar

    Instruccin

    Clculo Dir.

    Dato

    Ciclo deCaptacin

    Ciclo de escritura en memoria.

    Estructura de Computadores Captulo 1: Introduccin. p. 13

  • 7/31/2019 diseo del computador elemental

    13/17

    ICAIdea

    Ciclos de ejecucin del MIPS

    Decodificar

    Instruccin

    Clculo Dir.

    Instruccin

    Captacin

    Instruccin

    Operaciones

    Acceso a

    Memoria

    CPU

    Operacin

    Instruccin

    Ciclo deEjecucin

    Ciclo deCaptacin

    Ciclo de operacin o salto.

    Estructura de Computadores Captulo 1: Introduccin. p. 14

    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 opera-

    cin puede estar leyendo la siguiente instruccin de memoria, lo cual hace que aumenten las

    prestaciones enormemente.

    En resumen la filosofa RISC es cargar los datos que necesitemos para realizar la ope-

    racin 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.

  • 7/31/2019 diseo del computador elemental

    14/17

  • 7/31/2019 diseo del computador elemental

    15/17

    Unidad de control. Es el cerebro del sistema. Se encarga de decodificar la

    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 deparalelismo.

    Bus de Direcciones. Es un bus que permite enviar a la memoria la direccin a la que

    la CPU desea acceder.

    Bus de Datos. Es un bus bidireccional que permite a la CPU leer o escribir datos en

    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.

  • 7/31/2019 diseo del computador elemental

    16/17

    ICAIdea

    Anlisis/diseo de un ordenador

    El anlisis o el diseo de un ordenador es

    complejo, pero abordable si: Se tiene en cuenta su naturaleza jerrquica.

    Se separa la ruta de datos del control.

    Estructura de Computadores Captulo 1: Introduccin. p. 16

    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,

    es necesario distinguir entre el camino de datos y el control:

    El camino de datos est formado por todos los elementos necesarios para

    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 flujo 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-

    tinuacin disear la unidad de control.

  • 7/31/2019 diseo del computador elemental

    17/17

    Referencias

    Amdahl, G. M., Blaauw, G. A., y Brooks Jr., F. P. (1964). Architecture of the IBM Sys-

    tem/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. Interficie

    circuitera/programacin. Revert.

    16-2