Arquitectura de Microprocesadores - Calculadora

  • Upload
    al

  • View
    221

  • Download
    0

Embed Size (px)

Citation preview

  • 7/25/2019 Arquitectura de Microprocesadores - Calculadora

    1/21

    Arquitectura de microprocesadores.

    La mayora de los modernos dispositivos electrnicos como los telfonos mviles, los

    computadores porttiles, tabletas, reproductores musicales digitales, etc., emplean comocorazn de cada sistema un elemento construido a partir de silicio y que se conoce como

    microprocesador o simplemente procesador.

    Un microprocesador es esencialmente un dispositivo electrnico capaz de realizar tareas

    particulares de control sobre un sistema electrnico y su caracterstica fundamental es la

    capacidad de tomar decisiones sobre una determinada salida dependiendo de condiciones

    especficas del conjunto de entradas.

    Conviene establecer en la definicin de la funcin de microprocesador, que el nombre de este

    dispositivo viene de otro concepto ms general: Proceso.

    Un proceso puede definirse como el conjunto de actividades relacionadas entre s y aplicadas

    sobre un conjunto de entradas o insumos para transformarlas para entregar un resultado o

    producto definido.

    Desde esta definicin se aprecia el origen del trmino procesador asociado a estos dispositivoselectrnicos aunque para diferenciarlos de otros procesadores (industriales por ejemplo) se

    suele agregar el trmino electrnico anlogo o digital.

    Origen de los microprocesadores.

    La idea del procesamiento automtico, es decir no gobernado por un humano, es muy antigua.

    Son variados los ejemplos de automatizacin presentados tanto de forma terica como

    prctica desde la antigua Grecia. Es muy famoso el dispensador de vino creado por Hern de

    Alejandra as como los dispensadores de agua para los peregrinos. En el renacimiento son muy

    conocidos los trabajos de Leonardo da Vinci y los diseos de autmatas de Al-Andaluci. Pero

    fue durante la industrializacin que realmente se dieron pasos hacia el concepto de

    automatizacin y en particular de controladores de proceso. Uno de los ms interesantes

    ejemplos de esta tendencia es el telar automtico de Jacquard de 1801.

    ProcesoEntradas Salidas

  • 7/25/2019 Arquitectura de Microprocesadores - Calculadora

    2/21

    El telar de Jacquard es especial porque por primera vez una maquina no solo automatizaba elproceso de produccin, sino que este proceso era programable con el fin de modificar el

    producto (el tipo de tela). Es adems notorio que el mecanismo de programacin empleaba

    tarjetas perforadas, mecanismo que posteriormente fue empleado por Hollerith en su famosa

    maquina de censos en Estados Unidos de Amrica.

    Los nombres ms importantes en la tecnologa de procesamiento de informacin como Ada

    Lovelace y Charles Babbage con su ingenio diferencial mecnico programable, estn asociados

    a esta floreciente edad de la historia de la tecnologa de la informacin.

    Pero indudablemente es durante el periodo transcurrido entre finales del siglo 19 y mediados

    del siglo 20 donde el microprocesador es concebido y desarrollado. La influencia de la primera

    y segunda guerra mundial empuj a los ingenieros de la poca a construir mecanismos de

    clculo balstico y de procesamiento de informacin (asociada a radares y cdigos

    criptogrficos) que requirieron de capacidades de computacin muy superiores a los

    disponibles a travs de sistemas mecnicos disponibles en la poca. Esta necesidad coincidecon el surgimiento de la tecnologa de control anlogo de seales elctricas y con el

    Ilustracin 1 Dispensador simple

    Ilustracin 2 Telar de Jacquard(http://www.avlusa.com/catalog/looms/jacquard-

    loom/)

  • 7/25/2019 Arquitectura de Microprocesadores - Calculadora

    3/21

    planteamiento de la matemtica booleana como soporte de representacin en sistemas

    elctricos, dando origen a lo que sera posteriormente la electrnica digital. En las dcadas de

    los aos 40 a 60, nombres como Von Neumann y Turing conformaran la teora general de

    computacin y determinaran los cimientos fundacionales de la teora de las ciencias de la

    computacin.

    Los primeros procesadores digitales electrnicos fueron desarrollados a partir de vlvulas

    electrnicas, esto originaria una limitacin tecnolgica importante que estancara el desarrollo

    de sistemas econmica y espacialmente sostenibles. Estas primeras maquinas permitieron

    establecer la estructura lgica de hardware necesaria para que un sistema digital fuera capaz

    de realizar tareas programables. Tales tareas eran programadas mediante el re-cableado del

    sistema lo que dio origen al trmino lgica cableada (wired logic) que podra definirse como

    la primera forma de lenguaje de programacin.

    El invento revolucionario de la dcada de los 50 fue el transistor. Un transistor realiza las

    mismas tareas que las vlvulas electrnicas pero sin la complejidad mecnica (estructura,

    rejilla, ctodo y nodo), ni los requerimientos de potencia elctrica de los tubos de vaco. Con

    el transistor se origino la llamada miniaturizacin tecnolgica que permiti almacenar de miles

    a millones de transistores en un rea de semiconductor cada vez ms pequea.

    Ilustracin 3 Computador ENIAC

    (http://thecustomizewindows.com/2011/01/major-trends-of-evolution-of-the-computer-1950-2010/)

    Ilustracin 4 Replica del primer transistor.

  • 7/25/2019 Arquitectura de Microprocesadores - Calculadora

    4/21

    En los aos 40, Von Neumann y otros, desarrollaron la idea de una arquitectura de

    procesadores en la que los datos y el programa estn almacenados dentro del mismo

    procesador dando lugar a la definicin de los componentes de una unidad central de proceso

    CPU que se emplea en el mundo actual y que apoyada en la tecnologa miniaturizada de los

    transistores, permiti desarrollar un sistema de proceso digital dentro de un mismo circuito

    integrado.

    Comercialmente los primeros sistemas de computo formales fueron desarrollados para

    grandes compaas con necesidades elevadas en el manejo de inventarios, nominas y clculos

    impositivos complejos. Uno de los ms notorios proveedores de estas maquinas, fue fundado

    por Hollerith y se conoce hoy en da como IBM, que en los 50s y 60s contribuyo con el

    desarrollo de hardware y software de aplicaciones comerciales.

    Una empresa en particular, Intel, ha sido determinante en la tecnologa de procesamiento

    digital y es justamente el desarrollador del primer procesador digital formal en un solo circuito

    integrado para aplicaciones comerciales. Desarrollado en 1971 para ser usado en calculadoras

    electrnicas, el circuito integrado Intel 4004 fue un procesador digital de 4 bits, capaz de

    realizar 60.000 operaciones por segundo gracias a los 2300 transistores que lo forman.

    Ilustracin 5 UNIVAC, primer computador

    comercial

    Ilustracin 6 INTEL 4004

  • 7/25/2019 Arquitectura de Microprocesadores - Calculadora

    5/21

    Como se ver posteriormente, usar buses de 4 bits restringe fuertemente las posibilidades de

    cmputo de problemas complejos. Intel nuevamente liderara este campo al producir a

    mediados de 1972 el primer procesador de 8 bits (llamado 8008) con frecuencias de reloj de

    hasta 800Khz.

    Pero solo hasta 1974 con la aparicin del Intel 8080 se afianza el desarrollo de la llamadacomputacin personal de bajo costo. Con 4500 transistores integrados y un bus de 8 bits, el

    8080 es capaz de procesar 200.000 instrucciones por segundo. IBM planteara sus primeros

    computadores de escritorio basados en el 8080 y este modelo originaria el surgimiento de

    otras empresas de semiconductores con sus propios modelos de 8 bits. Entre los ms

    importantes Zilog con sus modelos Z80 y Motorola que impactara de manera significativa

    pues su procesador 6502 se convertira en el corazn del primer computador de propsito

    general orientado a usuarios particulares y cuya marca seria un hito en la historia de la

    computacin: Apple.

    En los aos 80 se desatara una carrera de produccin de semiconductores no igualada por

    otra industria en la historia. Intel presento el primer procesador de 16 bits con reloj de 4 Mhz

    en las postrimeras de la dcada de los 70. Este procesador es la fundacin de una arquitectura

    que perdura hasta nuestros das: x86.

    En la dcada de los 80, la carrera tecnolgica dio origen a sistemas de 16 y 32 bits

    evolucionando la arquitectura x86 con miembros de la familia como el 80286, 80386 y 80486.

    Las frecuencias de operacin aumentaran espectacularmente durante esta poca abarcando

    desde 4Mhz hasta los 433Mhz. Durante este periodo fueron desarrolladas las caractersticas

    de arquitectura empleadas comnmente en la actualidad como el pipelining, la memoria cache

    el sobrelapamiento, pre-busquedas, y las tcnicas de multiplicacin de frecuencia de

    operacin. Igualmente las tecnologas de buses de datos evolucionaron de forma

    determinante pasando desde los buses ISA, EISA, SCSI y PCI.

    Los anos 90 vieron el florecimiento de tecnologas especializadas orientadas a proceso

    multitarea y multimedia dando origen a la familia Pentium de 32 bits y a los sistemas de

    interface grfica y multiproceso con frecuencias bordeando los 800 Mhz y con diseos

    orientados a la computacin porttil. El siglo 21 arrib con la superacin de la barrera de 1 Ghz

    de reloj de sistema y la aparicin de buses externos como USB. Los incrementos en memoria

    RAM y el desarrollo de perifricos inteligentes de alta velocidad. La arquitectura de

    microprocesadores ahora se orientaba a la interconexin va internet y al proceso multimedia

    de alta velocidad (sonido multicanal inteligente 3D, imgenes de alta definicin).

    Ilustracin 7 80386

  • 7/25/2019 Arquitectura de Microprocesadores - Calculadora

    6/21

    En la actualidad el diseo se orienta a la computacin porttil ultra miniaturizada y alta

    velocidad. Se destacan los procesadores multi-ncleo como los de la familia Intel i3, i5, i7 con

    ancho de bus de datos de 64 bits con frecuencias de reloj de hasta 4 Ghz. Con los

    requerimientos de consumo bajo en los sistemas porttiles (telefona mvil celular, tabletas,

    phablets y computacin portable corporal) una firma de licencias de arquitectura ha surgido

    como fuerte competidor: ARM

    Con menor capacidad de cmputo pero un diseo ms orientado a la eficiencia energtica, las

    arquitecturas ARM imponen los modelos de diseo de procesadores en la segunda dcada del

    siglo 21.

    Arquitectura de microprocesadores.

    La arquitectura en un microprocesador define la manera en que los datos son transportadosdentro del procesador y determina el tipo de instrucciones que puede ejecutar el dispositivo.

    En la actualidad existen diversas arquitecturas dependiendo del fabricante y el propsito del

    procesador.

    Para comprender el significado de la arquitectura y su influencia en el juego de instrucciones,

    se presenta a lo largo de este captulo el diseo de un procesador de 4 bits con un enfoque

    ms histrico que un modelo clasificable dentro de las distintas arquitecturas formales. Se

    persigue con este modelo obtener una idea general del proceso evolutivo de los procesadores

    y de los mecanismos bsicos que permiten convertir una abstraccin algortmica en un

    producto prctico medible. Una vez completado el modelo se presentaran algunas de las

    arquitecturas tpicas en sistemas simples de un nico ncleo y las clasificaciones de acuerdo al

    conjunto de instrucciones.

    Siendo un modelo didctico es necesario definir las caractersticas bsicas:

    Debe poder ser simulado en la herramienta ISIS de Proteus.

    Bus de datos de 4 bits.

    Bus de direcciones de 4 bits

    Debe disponer de instrucciones:

    o De asignacin.

    o

    Aritmticaso lgicas

    o de bifurcacin.

    De acuerdo a la primera restriccin, los componentes usados deben estar dentro de los

    circuitos integrados con modelo de simulacin en la herramienta, las elecciones de los

    componentes estn guiadas por este principio por lo cual el ejercicio no corresponde a un

    sistema ni optimo ni eficiente y mucho menos apegado a los modelos de arquitectura formal

    que se presentan en la teora general de arquitectura de microprocesadores.

  • 7/25/2019 Arquitectura de Microprocesadores - Calculadora

    7/21

    Unidad aritmtica y lgica.

    El objetivo de los primeros modelos de procesadores digitales consisti en el clculo de

    trayectorias balsticas para los libros de solucin de tiro parablico usado en artillera.

    Siguiendo el enfoque histrico el bloque fundacional debe ser un sistema de clculo aritmtico

    y lgico de 4 bits. No es objetivo de este curso el diseo de circuitos aritmticos y lgicosdiscretos (se asume que el estudiante conoce los conceptos asociados a la reduccin de

    funciones booleanas y al planteamiento de soluciones digitales discretas).

    Un circuito digital muy popular dedicado a funciones aritmticas y que est dentro de los

    modelos de simulacin de ISIS, es la ALU 74L181. Se trata de un circuito aritmtico lgico con

    operandos de 4 bits cada uno con salida de 4 bit mas acarreo y con funciones seleccionables

    independientes

    La ALU 74181 recibe como entradas 2 variables de 4 bits (A y B) y 4 bits de seleccin de

    operacin (S). Con el fin de permitir el uso de mltiples dispositivos en cascada, posee una

    entrada de acarreo en complemento a 1. Un bit de modo (M) que permite definir dos posibles

    juegos de operaciones (M=0: operaciones aritmticas y M=1: operaciones lgicas). Como

    salidas, se encuentran 4 bits (F) y un bit igualdad (A=B) y dos bits de sealizacin para calculo

    de acarreo adelantado (P y G). Proteus simula el circuito tal como se aprecia en la ilustracin 9.

    Ilustracin 8 PinOut del 74181 y sus operaciones seleccionables

  • 7/25/2019 Arquitectura de Microprocesadores - Calculadora

    8/21

    Una opcin interesante consiste en mantener las entradas almacenadas en alguna forma devariable (un registro) con el fin de mantener una memoria controlada de los operandos en

    cada funcin aritmtica/lgica.

    En los modelos de arquitectura estndar, esta memoria de operandos suele corresponder a un

    registro de propsito general conocido como registro acumulador o de trabajo (A o WR). En

    este tipo de arquitecturas todas las operaciones de la ALU deben pasar a travs de este

    registro.

    En la ilustracin 10 se observa el uso de estos registros, empleando el circuito integrado

    CD4076, que corresponde a un registro de 4 bits con carga en paralelo.

    Ilustracin 9 ALU 74181,

    conexin bsica.

    Ilustracin 10 Buffers de entrada y lneas de seleccin.

  • 7/25/2019 Arquitectura de Microprocesadores - Calculadora

    9/21

    Se aprecia un inversor en la entrada de acarreo para garantizar la lgica de la operacin

    aritmtica ajustada a la tabla del 74181 y a los propsitos del ejercicio.

    Cada registro CD4076 carga su entrada paralela correspondiente con un flanco de subida en la

    entrada de reloj. Aunque en la ilustracin no aparece la lnea correspondiente, la entrada de

    RESET de cada uno debe estar gobernado por el reinicio general del sistema (activa alta).

    El uso de registros en las entradas de los operandos de la ALU permite que haya un bus de

    datos de entrada comn de 4 bits (eliminando 4 en el diseo inicial), si el usuario quiere que la

    entrada B cargue el valor 0101, basta con poner el valor el bus y generar un flanco en el reloj

    del CD4076 U2, si desea cargar el valor 0001 en la entrada B, basta con poner dicho valor en el

    bus comn y generar el correspondiente flanco de subida en la entrada de reloj del U3.

    Ilustracin 11 Bus de datos de entrada comn.

  • 7/25/2019 Arquitectura de Microprocesadores - Calculadora

    10/21

    Registros de memoria.

    Los dos registros con los operandos permiten almacenar los dos parmetros de 4 bits que

    forman los operandos de la funcin aritmtica o lgica que se seleccione a travs de S. pero si

    se deseara hacer operaciones de ms de 4 bits, serian insuficientes para realizar tal operacin.

    Una operacin de 8 bits en este modelo puede ser realizada usando un bus de 8 bits, lo que

    requiere el empleo de otra ALU en cascada o puede ser realizado en dos pasos. En el ltimo

    caso, una operacin como por ejemplo la suma, puede realizarse sumando primero los 4 bits

    menos significativos y posteriormente sumando los 4 bits ms significativos teniendo en

    cuenta el posible acarreo originado durante la operacin en el nibble (4 bits) menos

    significativo.

    Para lograr hacer este tipo de operaciones de mayor ancho de bits que el disponible en el

    sistema, es necesario disponer de algn tipo de memoria. Esta memoria en las arquitecturas

    de procesadores es conocida como juego de registros de memoria y depende del fabricante y

    el modelo de microprocesador.

    Para el sistema basado en 74181, se propone agregar al sistema 4 registros de carga en

    paralelo que forman el conjunto de registros del procesador de 4 bits. Las entradas de estos

    registros estn unidas al mismo grupo de lneas de datos que entran a los registros de

    operadores en la ALU. El conjunto de lneas que recorre todo el sistema es conocido como bus

    y en este caso al tratarse del canal por el cual circulan los datos, se le conoce como bus de

    Ilustracin 12 Registros de memoria.

  • 7/25/2019 Arquitectura de Microprocesadores - Calculadora

    11/21

    datos. La ilustracin 12 presenta la configuracin de los 4 registros que forman el conjunto de

    memoria del procesador ejemplo.

    Al observar detalladamente se descubrir que las salidas de cada registro no estn conectadas

    directamente al bus de datos. En cambio se conectan directamente a un circuito integrado

    identificado como 74ls244.

    El 74244 es un buffer three-state, su principal funcin es evitar posibles corto circuitos durante

    la operacin del sistema. De no ser empleados, si uno de los registros carga a la salida en el

    peor caso el valor 1111 y mientras tanto otro de los registros carga en sus salidas el valor 0000,

    se producira un corto en cada lnea de datos, el buffer impide que este tipo de colisiones de

    seal ocurran pues sus salidas pasan a estado de alta impedancia cuando la entrada OE est en

    estado alto. De tal manera que para controlar el acceso al bus de datos desde cualquier

    registro, basta con habilitar el registro de inters llevando a 0 la respectiva entrada OE,

    mientras que se inhabilita dicho acceso a los dems registros al mantener las entradas OE de

    los correspondientes buffers en alto. Al observarse la salida de la ALU, se descubre que esta seencuentra conectada al mismo bus de datos a travs de otro buffer three-state. Esta estrategia

    de conexin permite llevar datos desde un registro especfico hacia una entrada especfica de

    la ALU y una vez obtenida una operacin aritmtica o lgica en la salida de la ALU, esta

    respuesta puede ser llevada y cargada en alguno de los registros de memoria.

    Al controlar las entradas de reloj de los registros (tanto los de memoria como los de los

    operandos de la ALU) y las salidas de los mismos y de la ALU a travs de los buffers, es posible

    llevar cualquier dato en el bus de datos desde cualquier registro de memoria hasta cualquier

    registro o ALU del modelo. La habilidad de transportar cualquier contenido de los registros de

    memoria a cualquier otro registro o incluso a s mismo, es conocida como ortogonalidad de la

    Ilustracin 13 Buffers de salida al bus de datos.

  • 7/25/2019 Arquitectura de Microprocesadores - Calculadora

    12/21

    arquitectura y cuando permite que cualquier instruccin pueda ser aplicada a cualquier

    registro en memoria, corresponde a un juego de instrucciones ortogonal.

    Ejemplo:

    Usando el modelo propuesto sume dos nmeros almacenados en el registro U7 y en el registro

    U6 y el resultado debe ser almacenado en el registro U8.

    Solucin:

    todas las seales de CLK deben ser llevadas a 0.

    Todas las lneas de OE deben estar en estado lgico 1.

    Aplique el cdigo para operacin suma en las entradas S0 a S3 de la ALU.

    Cargue en el bus de datos la salida del registro U7, poniendo un 0 lgico en la entrada

    del buffer U9A.

    Cargue el dato del bus en el registro U2A generando un flanco en la entrada CLK

    correspondiente.

    Suba la lnea OE de U9A para evitar cortocircuitos.

    Cargue el contenido del registro U6 en bus de datos llevando a 0 lgico la entrada OE

    de U9B.

    Cargue el dato presente en el bus usando la entrada CLK del registro de entrada de la

    ALU.

    Suba la lnea OE de U9B.

    Cargue el resultado de la suma en el bus, bajando la lnea OE del buffer U3:A en la

    salida de la ALU.

    Cargue el resultado en el registro U8, generando un flanco de subida en el CLK del

    registro U8

    Fin del proceso.

    El ejemplo presentado muestra la secuencia de pasos requerida para sumar dos registros y

    almacenar la suma en un tercer registro de memoria. Este es por s mismo in programa que se

    ejecuta como una secuencia de 1 y 0 en distintas lneas de habilitacin y reloj de los mdulos

    del sistema.

    Como se aprecia el proceso de realizar una operacin es detallado y sincronizado. Si una sola

    de las lneas de control no es controlada en cada momento, el resultado no ser obtenido

    correctamente y en algunos casos podra terminar en un dao fsico del circuito.

    Realizar estas operaciones manualmente resulta complejo y lento, por lo cual es necesario

    agregar otros mdulos que permitan simplificar el proceso.

    Lgica de direccionamiento.

    Al observar detenidamente el proceso descrito y la funcin de los buffers de salida en cada

    registro y ALU, se descubre que no es posible que en algn momento del proceso existan dos

    simultneamente habilitados. Tal resultado permite pensar en emplear un modulo que

    simplifique el proceso de seleccin del buffer.

    Uno de los mdulos que presenta tal operacin es el DEMUX que permite seleccionar una y

    solo una salida en cada momento disminuyendo de paso la cantidad de lneas de control, en

  • 7/25/2019 Arquitectura de Microprocesadores - Calculadora

    13/21

    este caso se habilita con un 0 lgico lo que implica que el demux debe disponer de salidas

    negadas. Uno de los modelos de simulacin disponibles en el ISIS Proteus es el 74138, un

    demux 3 a 8 aplicado como control de habilitacin de salida tal como se ve en la ilustracin 14.

    El 74138 inhabilita todas sus salidas a travs de la combinacin de entradas E1, E2 y E3, lo que

    permite liberar en cualquier momento el bus de datos llevando todos los dispositivos

    presentes a estado de alta impedancia.

    En la forma en que estn alambrados los registros de memoria se puede apreciar que para

    cada combinacin se habilita la salida de uno y solo un registro en la forma descrita en la tabla.

    Lneas de seleccin de U11 (entradas ABC) Salida de registro habilitada

    000 U9:A- registro U4

    001 U9:B- registro U6

    010 U10:A- registro U7

    011 U10:B- registro U8

    100 ninguno

    101 ninguno

    110 ninguno

    111 U3:A- salida ALU

    Ilustracin 14 Control de habilitadores.

  • 7/25/2019 Arquitectura de Microprocesadores - Calculadora

    14/21

    Las lneas no conectadas, sern aplicadas o otros elementos posteriormente, sin embargo es

    posible percibir que ahora cada registro de memoria corresponde a un nmero de

    identificacin (U4 al 0, U6 al 1, U7 al 2, U8 al 3 y ALU al 7). En otras palabras el 74138

    direcciona la salida de cada registro, este conjunto de lneas de salida del 74138 es una forma

    simple de bus de direcciones dentro del procesador y el demux acta aqu como un

    decodificador de direcciones de los mdulos del sistema.

    Hasta el momento, si se observa detenidamente, el procesador puede llevar informacin entre

    registros y desde o hacia la ALU, pero el sistema no tiene ninguna forma de comunicacin con

    el mundo externo. Aprovechando la disponibilidad de lneas de direccin en el 74138, se

    agregan dos mdulos ms:

    Un buffer de datos de entrada externa o del usuario

    Un registro de datos de salida.

    La entrada del usuario se realiza a travs de un buffer que permite insertar los datos de

    usuario en el bus de datos tal como se presenta en la ilustracin 15.

    La salida hacia el mundo externo se hace a travs de un registro de memoria seleccionable

    igualmente desde el decodificador de direccin 74138. Resulta interesante que a pesar de

    agregar dos mdulos al bus de datos, el nmero de lneas de control no se incrementa.

    En la ilustracin 16 se aprecia el registro de salida hacia el usuario y su conexin con el selector

    de registros 74138.

    Ilustracin 15 Modulo de entrada de usuario.

  • 7/25/2019 Arquitectura de Microprocesadores - Calculadora

    15/21

    El conjunto de lneas de reloj y de habilitacin en el demux conforman lo que se conoce como

    el bus de sealizacin que normalmente se encarga de la sincronizacin del sistema en los

    modelos clsicos de arquitectura de procesadores.

    Por ahora el nmero de lneas de control y sealizacin sigue siendo demasiado alto y ms

    tarde ser necesario disear un mecanismo que permita disminuir este conjunto de lneas.

    As como el sistema dispone de un mecanismo de seleccin de registros que se conectan al bus

    de datos, es adecuado contar con un sistema de seleccin de registros que reciben datos de tal

    forma que pueda ser enrutado un determinado paquete de bits entre un modulo de origen y

    un modulo de llegada. Sin embargo en este punto el modelo de simulacin comienza a

    convertirse en un laberinto de lneas demasiado complejo para entenderse a simple vista.

    Conviene pues, simplificar el modelo actual. Se observa que la mayor complejidad proviene del

    hecho de que por cada registro presente es necesario tener un buffer de salida conectado al

    bus de datos. Al buscar dentro de la base de circuitos integrados con modelo de simulacin de

    ISIS, se encuentra que existe un circuito que integra un registro de carga en paralelo con un

    buffer de salida en un ismo chip. Este circuito es conocido como CD4076 y puede reemplazar la

    dupla de registro + buffer del diseo presentado hasta ahora.

    En la ilustracin 17 se observa el reemplazo de los registros de memoria y los buffers de salida

    del procesador con un registro CD4076.

    Ilustracin 16 Registro de salida de usuario.

  • 7/25/2019 Arquitectura de Microprocesadores - Calculadora

    16/21

    En la grafica puede verse la inclusin de un nuevo demux para la seleccin del modulo que

    recibe informacin desde el bus de datos. U14 es un registro de entrada de usuario y U15 es el

    registro de salida del usuario. Tambin se han reemplazado los registros a la entrada de la ALU

    aunque las seales de control siguen estando independientes.

    Las lneas azules simbolizan los buses que hasta el momento se han implementado:

    El bus de datos de 4 bits

    El bus de seleccin o direccionamiento de los mdulos.

    Un bus de sealizacin.

    Ilustracin 17 Uso de registros con salida 3state

    Ilustracin 18 Salidas de la ALU

  • 7/25/2019 Arquitectura de Microprocesadores - Calculadora

    17/21

    La salida de la ALU hacia el bus de datos tambin ha sido reemplazada por un registro

    CD4076 y se ha agregado lgica de deteccin de resultado 0 (la compuerta de cuatro

    entradas negadas) y un Flip-Flop para el almacenamiento del bit de acarreo. (Ilustracin

    18).

    La salida negada del Flip-Flop es realimentada a la entrada de acarreo de la ALU parapermitir realizar operaciones con acarreo (como operaciones de 8 bits por ejemplo). Las

    lneas de sealizacin R y S permiten encender o apagar el bit de acarreo para facilitar

    operaciones con acarreo controlado por programa.

    Observe que las entradas de seleccin de modulo que recibe el bus de datos y las de

    seleccin de modulo que carga datos al bus estn compartidas. Esta alternativa es posible

    siempre que el proceso de seleccin de origen y destino no sea simultneo y constituye

    una estrategia de minimizacin de lneas de control muy usada en sistemas digitales.

    Las secuencias de operaciones necesarias para hacer operaciones de transferencia de

    datos y operaciones aritmticas y lgicas comprenden cambios secuenciales en las lneasde sealizacin (16 lneas).

    Una forma de simplificar la tarea de generar las secuencias es almacenarlas dentro de una

    memoria ROM. Sin embargo 16 bits es un nmero excesivo para una memoria simple

    (usualmente 8 bits) por lo que se requiere disminuirlas al menos a 8 lneas.

  • 7/25/2019 Arquitectura de Microprocesadores - Calculadora

    18/21

  • 7/25/2019 Arquitectura de Microprocesadores - Calculadora

    19/21

  • 7/25/2019 Arquitectura de Microprocesadores - Calculadora

    20/21

  • 7/25/2019 Arquitectura de Microprocesadores - Calculadora

    21/21