Monografias.com > Computación > Hardware
Descargar Imprimir Comentar Ver trabajos relacionados

Trabajo de arquitectura




Enviado por srei.producto



    1. Memoria de
      computadora
    2. Microcontrolador
    3. Semiconductores
    4. Transistores
    5. Fabricación de
      microprocesadores
    6. Historia del
      microprocesador
    7. Tecnologías
      futuras
    8. El CPU como corazón de la
      organización del computador
    9. Ejecución de una
      instrucción completa
    10. Secuenciamiento de
      señales de control
    11. Registros del
      procesador
    12. Arquitectura
      base
    13. Tecnologías
      Paralelas
    14. Zócalo
    15. Anexos

    Microprocesador, es un circuito
    electrónico que actúa como unidad central de proceso de un ordenador,
    proporcionando el control de las
    operaciones de
    cálculo. Los microprocesadores
    también se utilizan en otros sistemas
    informáticos avanzados, como impresoras,
    automóviles o aviones. En 1995 se produjeron unos 4.000
    millones de microprocesadores en todo el mundo.

    El microprocesador
    es un tipo de circuito sumamente integrado. Los circuitos
    integrados, también conocidos como microchips o chips,
    son circuitos
    electrónicos complejos formados por componentes
    extremadamente pequeños formados en una única pieza
    plana de poco espesor de un material conocido como semiconductor.
    Los microprocesadores modernos incorporan hasta 10 millones de
    transistores
    (que actúan como amplificadores electrónicos,
    osciladores o, más a menudo, como conmutadores),
    además de otros componentes como resistencias,
    diodos, condensadores
    y conexiones, todo ello en una superficie comparable a la de un
    sello postal.

    Un microprocesador consta de varias secciones
    diferentes. La unidad aritmético-lógica
    (ALU, siglas en inglés)
    efectúa cálculos con números y toma
    decisiones lógicas; los registros son
    zonas de memoria
    especiales para almacenar información temporalmente; la unidad de
    control descodifica los programas; los
    buses transportan información digital a través del
    chip y de la
    computadora; la memoria
    local se emplea para los cómputos realizados en el mismo
    chip. Los microprocesadores más complejos contienen a
    menudo otras secciones; por ejemplo, secciones de memoria
    especializada denominadas memoria cache, que sirven para
    acelerar el acceso a los dispositivos externos de almacenamiento de
    datos. Los
    microprocesadores modernos funcionan con una anchura de bus de 64 bits (un bit es un
    dígito binario, una unidad de información que puede
    ser un uno o un cero): esto significa que pueden transmitirse
    simultáneamente 64 bits de datos.

    Un cristal oscilante situado en el ordenador proporciona
    una señal de sincronización, o señal de
    reloj, para coordinar todas las actividades del microprocesador.
    La velocidad de
    reloj de los microprocesadores más avanzados es de unos
    300 megahercios (MHz) —unos 300 millones de ciclos por
    segundo—, lo que permite ejecutar unos 1.000 millones de
    instrucciones cada segundo.

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    Microprocesador

    Memoria de
    computadora

    Como el microprocesador no es capaz por sí solo
    de albergar la gran cantidad de memoria necesaria para almacenar
    instrucciones y datos de programa (por
    ejemplo, el texto de un
    programa de tratamiento de texto), pueden emplearse transistores
    como elementos de memoria en combinación con el
    microprocesador. Para proporcionar la memoria necesaria se
    emplean otros circuitos integrados llamados chips de memoria de
    acceso aleatorio (RAM, siglas en
    inglés), que contienen grandes cantidades de transistores.
    Existen diversos tipos de
    memoria de acceso aleatorio. La RAM estática
    (SRAM) conserva la información mientras esté
    conectada la tensión de alimentación, y suele
    emplearse como memoria cache porque funciona a gran
    velocidad. Otro tipo de memoria, la RAM dinámica (DRAM), es más lenta que la
    SRAM y debe recibir electricidad
    periódicamente para no borrarse. La DRAM resulta
    más económica que la SRAM y se emplea como elemento
    principal de memoria en la mayoría de las computadoras.

    Microcontrolador

    Un microprocesador no es un ordenador completo. No
    contiene grandes cantidades de memoria ni es capaz de comunicarse
    con dispositivos de
    entrada —como un teclado, un
    joystick o un ratón— o dispositivos de salida como
    un monitor o una
    impresora. Un
    tipo diferente de circuito integrado llamado microcontrolador es
    de hecho una computadora completa situada en un único
    chip, que contiene todos los elementos del microprocesador
    básico además de otras funciones
    especializadas. Los microcontroladores se emplean en videojuegos,
    reproductores de vídeo, automóviles y otras
    máquinas.

    Semiconductores

    Todos los circuitos integrados se fabrican con
    semiconductores, sustancias
    cuya capacidad de conducir la electricidad es intermedia entre la
    de un conductor y la de un no conductor o aislante. El silicio es
    el material semiconductor más habitual. Como la
    conductividad eléctrica de un semiconductor puede variar
    según la tensión aplicada al mismo, los
    transistores fabricados con
    semiconductores actúan como
    minúsculos conmutadores que abren y cierran el paso de
    corriente en sólo unos pocos nanosegundos
    (milmillonésimas de segundo). Esto permite que un
    ordenador pueda realizar millones de instrucciones sencillas cada
    segundo y ejecutar rápidamente tareas
    complejas.

    El bloque básico de la mayoría de los
    dispositivos semiconductores es el diodo, una unión de
    materiales de
    tipo negativo (tipo n) y positivo (tipo p). Los términos
    "tipo n" y "tipo p" se refieren a materiales semiconductores que
    han sido dopados, es decir, cuyas propiedades
    eléctricas han sido alteradas mediante la adición
    controlada de pequeñísimas concentraciones de
    impurezas como boro o fósforo. En un diodo, la corriente
    eléctrica sólo fluye en un sentido a
    través de la unión: desde el material de tipo p
    hasta el material de tipo n, y sólo cuando el material de
    tipo p está a una tensión superior que el de tipo
    n. La tensión que debe aplicarse al diodo para crear esa
    condición se denomina tensión de
    polarización directa. La tensión opuesta que hace
    que no pase corriente se denomina tensión de
    polarización inversa. Un circuito integrado contiene
    millones de uniones p-n, cada una de las cuales cumple una
    finalidad específica dentro de los millones de elementos
    electrónicos de circuito. La colocación y
    polarización correctas de las regiones de tipo p y tipo n
    hacen que la corriente eléctrica fluya por los trayectos
    adecuados y garantizan el buen funcionamiento de todo el
    chip.

    Transistores

    El transistor
    empleado más comúnmente en la industria
    microelectrónica se denomina transistor de efecto de campo
    de metal-óxido-semiconductor (MOSFET, siglas en
    inglés). Contiene dos regiones de tipo n, llamadas fuente
    y drenaje, con una región de tipo p entre ambas, llamada
    canal. Encima del canal se encuentra una capa delgada de
    dióxido de silicio, no conductor, sobre la cual va
    otra capa llamada puerta. Para que los electrones fluyan desde la
    fuente hasta el drenaje, es necesario aplicar una tensión
    a la puerta (tensión de polarización directa). Esto
    hace que la puerta actúe como un conmutador de control,
    conectando y desconectando el MOSFET y creando una puerta
    lógica que transmite unos y ceros a través del
    microprocesador.

    Fabricación de
    microprocesadores

    Los microprocesadores se fabrican empleando técnicas
    similares a las usadas para otros circuitos integrados, como
    chips de memoria. Generalmente, los microprocesadores tienen una
    estructura
    más compleja que otros chips, y su fabricación
    exige técnicas extremadamente precisas.

    La fabricación económica de
    microprocesadores exige su producción masiva. Sobre la superficie de
    una oblea de silicio se crean simultáneamente varios
    cientos de grupos de
    circuitos. El proceso de
    fabricación de microprocesadores consiste en una
    sucesión de deposición y eliminación de
    capas finísimas de materiales conductores, aislantes y
    semiconductores, hasta que después de cientos de pasos se
    llega a un complejo "bocadillo" que contiene todos los circuitos
    interconectados del microprocesador. Para el circuito
    electrónico sólo se emplea la superficie externa de
    la oblea de silicio, una capa de unas 10 micras de espesor (unos
    0,01 mm, la décima parte del espesor de un cabello
    humano). Entre las etapas del proceso figuran la creación
    de sustrato, la oxidación, la litografía, el grabado, la
    implantación iónica y la deposición de
    capas.

    La primera etapa en la producción de un
    microprocesador es la creación de un sustrato de silicio
    de enorme pureza, una rodaja de silicio en forma de una oblea
    redonda pulida hasta quedar lisa como un espejo. En la
    actualidad, las obleas más grandes empleadas en la
    industria tienen 200 mm de diámetro.

    En la etapa de oxidación se coloca una capa
    eléctricamente no conductora, llamada dieléctrico.
    El tipo de dieléctrico más importante es el
    dióxido de silicio, que se "cultiva" exponiendo la oblea
    de silicio a una atmósfera de oxígeno
    en un horno a unos 1.000 ºC. El oxígeno se combina
    con el silicio para formar una delgada capa de óxido de
    unos 75 angstroms de espesor (un angstrom es una
    diezmilmillonésima de metro).

    Casi todas las capas que se depositan sobre la oblea
    deben corresponder con la forma y disposición de los
    transistores y otros elementos electrónicos. Generalmente
    esto se logra mediante un proceso llamado fotolitografía,
    que equivale a convertir la oblea en un trozo de película
    fotográfica y proyectar sobre la misma una imagen del
    circuito deseado. Para ello se deposita sobre la superficie de la
    oblea una capa fotosensible cuyas propiedades cambian al ser
    expuesta a la luz. Los detalles
    del circuito pueden llegar a tener un tamaño de
    sólo 0,25 micras. Como la longitud de onda más
    corta de la luz visible es de unas 0,5 micras, es necesario
    emplear luz ultravioleta de baja longitud de onda para resolver
    los detalles más pequeños. Después de
    proyectar el circuito sobre la capa fotorresistente y revelar la
    misma, la oblea se graba: esto es, se elimina la parte de la
    oblea no protegida por la imagen grabada del circuito mediante
    productos
    químicos (un proceso conocido como grabado húmedo)
    o exponiéndola a un gas corrosivo
    llamado plasma en una cámara de vacío especial.

    En el siguiente paso del proceso, la implantación
    iónica, se introducen en el silicio impurezas como boro o
    fósforo para alterar su conductividad. Esto se logra
    ionizando los átomos de boro o de fósforo
    (quitándoles uno o dos electrones) y lanzándolos
    contra la oblea a grandes energías mediante un implantador
    iónico. Los iones quedan incrustados en la superficie de
    la oblea.

    En el último paso del proceso, las capas o
    películas de material empleadas para fabricar un
    microprocesador se depositan mediante el bombardeo atómico
    en un plasma, la evaporación (en la que el material se
    funde y posteriormente se evapora para cubrir la oblea) o la
    deposición de vapor químico, en la que el material
    se condensa a partir de un gas a baja presión o
    a presión atmosférica. En todos los casos, la
    película debe ser de gran pureza, y su espesor debe
    controlarse con una precisión de una fracción de
    micra.

    Los detalles de un microprocesador son tan
    pequeños y precisos que una única mota de polvo
    puede destruir todo un grupo de
    circuitos. Las salas empleadas para la fabricación de
    microprocesadores se denominan salas limpias, porque el aire de las
    mismas se somete a un filtrado exhaustivo y está
    prácticamente libre de polvo. Las salas limpias más
    puras de la actualidad se denominan de clase 1. La
    cifra indica el número máximo de partículas
    mayores de 0,12 micras que puede haber en un pie cúbico de
    aire (0,028 metros cúbicos). Como comparación, un
    hogar normal sería de clase 1 millón.

    Historia del
    microprocesador

    El primer microprocesador fue el Intel 4004, producido
    en 1971. Se desarrolló originalmente para una calculadora,
    y resultaba revolucionario para su época. Contenía
    2.300 transistores en un microprocesador de 4 bits que
    sólo podía realizar 60.000 operaciones por segundo.
    El primer microprocesador de 8 bits fue el Intel 8008,
    desarrollado en 1979 para su empleo en
    terminales informáticos. El Intel 8008 contenía
    3.300 transistores. El primer microprocesador realmente
    diseñado para uso general, desarrollado en 1974, fue el
    Intel 8080 de 8 bits, que contenía 4.500 transistores y
    podía ejecutar 200.000 instrucciones por segundo. Los
    microprocesadores modernos tienen una capacidad y velocidad mucho
    mayores. Entre ellos figuran el Intel Pentium Pro, con
    5,5 millones de transistores; el UltraSparc-II, de Sun
    Microsystems, que contiene 5,4 millones de transistores; el
    PowerPC 620, desarrollado conjuntamente por Apple, IBM y
    Motorola, con 7 millones de transistores, y el Alpha 21164A, de
    Digital Equipment Corporation, con 9,3 millones de
    transistores.

    Tecnologías futuras.

    La tecnología de los
    microprocesadores y de la fabricación de circuitos
    integrados está cambiando rápidamente. En la
    actualidad, los microprocesadores más complejos contienen
    unos 10 millones de transistores. Se prevé que en el 2000
    los microprocesadores avanzados contengan más de 50
    millones de transistores, y unos 800 millones en el 2010. Las
    técnicas de litografía también
    tendrán que ser mejoradas. En el año 2000, el
    tamaño mínimo de los elementos de circuito
    será inferior a 0,2 micras. Con esas dimensiones, es
    probable que incluso la luz ultravioleta de baja longitud de onda
    no alcance la resolución necesaria. Otras posibilidades
    alternativas son el uso de haces muy estrechos de electrones e
    iones o la sustitución de la litografía óptica
    por litografía que emplee rayos X de
    longitud de onda extremadamente corta. Mediante estas
    tecnologías, las velocidades de reloj podrían
    superar los 1.000 MHz en el 2010. Se cree que el factor limitante
    en la potencia de los
    microprocesadores acabará siendo el comportamiento
    de los propios electrones al circular por los transistores.
    Cuando las dimensiones se hacen muy bajas, los efectos
    cuánticos debidos a la naturaleza
    ondulatoria de los electrones podrían dominar el
    comportamiento de los transistores y circuitos. Puede que sean
    necesarios nuevos dispositivos y diseños de circuitos a
    medida que los microprocesadores se aproximan a dimensiones
    atómicas. Para producir las generaciones futuras de
    microchips se necesitarán técnicas como la
    epitaxia por haz molecular, en
    la que los semiconductores se depositan átomo a
    átomo en una cámara de vacío ultraelevado, o
    la microscopía de barrido de efecto túnel, que
    permite ver e incluso desplazar átomos individuales con
    precisión.

    EL CPU COMO
    CORAZON DE LA ORGANIZACIÓN DEL COMPUTADOR

    ALGUNOS CONCEPTOS
    FUNDAMENTALES

    Las instrucciones que constituyen un programa que debe
    ejecutar una computadora se cargan en localizaciones secuenciales
    de su memoria principal. Para ejecutar este programa la CPU trae
    una instrucción por vez y realiza las funciones
    especificadas. Las instrucciones se traen por medio de
    localizaciones efectivas de la memoria hasta la ejecución
    de una ramificación o de una instrucción de salto.
    La CPU lleva un control de la dirección de la localización de la
    memoria de la siguiente instrucción, por medio del empleo
    de un registro de la
    CPU especial al que se denomina contador de programa (PC).
    Después de traer una instrucción, el contenido del
    PC se actualiza para apuntar a la siguiente instrucción de
    la secuencia.

    Considérese, para simplificar, que cada
    instrucción ocupa una palabra de la memoria. Por lo tanto,
    la ejecución de una instrucción requiere que la CPU
    realice los siguientes tres pasos:

    1 . Traer el contenido de la localización de la
    memoria a la que apunte el PC. Interpretar el contenido de esta
    localización como una instrucción que debe
    ejecutarse. Por lo tanto, almacenarla en el registro de
    instrucción (IR: Instruction Register). En forma
    simbólica esto puede escribirse como:

    IR  [[PL]]

    2. Incrementar el contenido del PC en l.

    PC  [PC] + I

    3. Realizar las acciones
    especificadas por la instrucción almacenada en el
    IR.

    Obsérvese que en aquellos casos en que una
    instrucción ocupa más de una palabra, los pasos 1 y
    2 pueden repetirse tantas veces como sea necesario para traer la
    instrucción completa. Por lo general a estos dos pasos se
    les conoce como fase de traída, mientras que el paso 3
    constituye la fase de ejecución.

    La estructura de las rutas principales de datos dentro
    de la CPU: Los bloques de la CPU. Estos bloques pueden
    organizarse e interconectarse de varias formas. Una de tales
    organizaciones
    se muestra en la
    siguiente figura. En este caso, la unidad aritmética y
    lógica (ALU) y todos los registros de la CPU están
    conectados a través de un bus común. Desde luego,
    este bus es interno y no debe confundirse con el bus externo, o
    buses, que conectan a la CPU con la memoria y los dispositivos de
    E/S. El bus externo de memoria se muestra en la siguiente figura
    conectado con la CPU por medio de los registros de datos y de
    dirección MDR y MAR. El número y funciones de los
    registros del RO al R(n – 1) varían mucho de una
    máquina a otra. Pueden ser para que el programador los
    emplee en operaciones generales, pero algunos de ellos pueden ser
    registros de aplicación especial, tales como registros
    índice o apuntadores de pila.

     Para ver el
    gráfico seleccione la opción "Descargar" del
    menú superior

     Figura 1.: Organización de bus único para la
    ruta de datos dentro de la CPU

    Dos de los registros de la figura, los registros
    Y Z, no se han mencionado. Estos registros son invisibles
    para el programador; esto es, no necesita preocuparse de su
    existencia, ya que nunca son referenciados en forma directa por
    instrucción alguna. Sólo son utilizados por CPU
    para almacenamiento temporal durante la ejecución de
    ciertas instrucciones. Sin embargo, nunca se utilizan para
    almacenar datos generados por una instrucción para que
    luego los utilice otra instrucción.

    Con pocas instrucciones, la mayor parte de las
    operaciones de los pasos 1 al 3 mencionados antes pueden llevarse
    a cabo con una o más de las siguientes funciones, en
    alguna secuencia previamente especificada:

    1. Traer el contenido de una localización dada de
      la memoria y cargarlo en un registro de la CPU.
    2. Almacenar una palabra de datos proveniente de un
      registro de la CPU en una localización de la memoria
      dada.
    3. Transferir una palabra de datos de un registro de la
      CPU a otro o a la ALU.
    4. Efectuar una operación aritmética o
      lógica, y almacenar el resultado en un registro de la
      CPU.

    Ahora se examinará con cierto detalle la forma en
    que cada una de las funciones anteriores se implanta en una
    computadora común.

     Traída de una palabra a partir de
    la memoria

    En una memoria de acceso aleatorio, la
    información está almacenada en localizaciones
    identificadas por sus direcciones. Para traer una palabra de
    información de la memoria, la CPU tiene que especificar la
    dirección de la localización de la memoria en donde
    esta información está almacenada y solicitar una
    operación de Leer. Esto se aplica si la información
    que se va a localizar es una instrucción de un programa o
    una palabra de datos (operando) especificada por una
    instrucción. Entonces, para realizar la traída
    desde la memoria, la CPU transfiere la dirección de la
    palabra de información requerida al registro de
    dirección en la memoria (MAR: memory address register).
    Según se muestra en la figura anterior, el MAR está
    conectado a las líneas de dirección del bus de
    memoria. Por lo tanto, la dirección de la palabra
    requerida se transfiere a la memoria principal. Mientras tanto,
    la CPU utiliza las líneas de control de bus de memoria
    para indicar que se requiere una operación de Leer. Lo
    normal es que después de emitir esta solicitud, la CPU
    espere hasta que reciba una respuesta de la memoria, que le
    informe que la
    función
    solicitada se ha concluido. Esto se logra por medio del uso de
    otra señal de control del bus de memoria, a la cual se
    denominará Función de Memoria Completada (MFC). La
    memoria pone esta señal en 1 para indicar que el contenido
    de la localización especificada de la memoria se ha
    leído y está disponible en las líneas de
    datos del bus de memoria. Se considerará que en cuanto la
    señal MFC sea igual a 1, la información que
    está en las líneas de datos está cargada en
    el MDR y por lo tanto está disponible para su uso dentro
    de la CPU. Esto completa la operación de traída
    desde la memoria. Como ejemplo, considérese que la
    dirección de la localización de la memoria a la que
    se vaya a efectuar el acceso está en el registro RI y que
    los datos de la memoria deben cargarse en el registro R2. Esto se
    logra por medio de la siguiente secuencia de
    operaciones:

    1. MAR  [R1]
    2. Leer
    3. Esperar la señal MFC
    4. R2  [MDR]

    La duración del paso tres depende de la velocidad
    de la memoria utilizada. Por lo general, el tiempo
    necesario para leer una palabra de la memoria es más
    prolongado que el tiempo requerido para realizar cualquier
    operación única dentro de la CPU. Por lo tanto, el
    tiempo general de la ejecución de una instrucción
    puede disminuir si la secuencia de operaciones está
    organizada de manera tal que otra función útil se
    realice dentro de la CPU mientras espera que la memoria responda.
    Resulta obvio que sólo las funciones que no requieran del
    empleo del MDR o del MAR podrán realizarse durante este
    tiempo. Tal situación se presenta durante la fase de
    traída desde la memoria. Como pronto se verá, el PC
    puede incrementarse mientras se espera que se complete la
    operación de Leer. En el análisis anterior se ha presentado un
    ejemplo de la forma en que la transferencia de datos entre dos
    dispositivos puede tener lugar, en este caso la CPU y la memoria
    principal. El mecanismo de transferencia en que un dispositivo
    inicia la transferencia (solicitud de Leer) y espera hasta que el
    otro dispositivo responda (señal MFC) se denomina
    transferencia asíncrona. Puede verse con facilidad que
    este mecanismo permite transferir datos entre dos dispositivos
    independientes que tengan velocidades diferentes de
    operación. Un esquema opcional que se encuentra en algunas
    computadoras utiliza transferencias síncronas. En este
    caso, una de las líneas de control del bus transporta los
    pulsos de un reloj que funciona continuamente con una frecuencia
    fija. Estos pulsos proporcionan señales
    de temporización a la CPU y a la memoria principal. En
    cada ciclo del reloj se completa una operación de la
    memoria. Además los instantes en que la dirección
    se coloca en las líneas de dirección y los datos se
    cargan en el MDR son fijos en relación con los pulsos del
    reloj. El esquema de bus síncrono lleva a un implante
    más simple. Sin embargo, no puede aceptar dispositivos de
    velocidades muy variadas, si no se reduce la velocidad de todos
    los dispositivos a la del más lento. En el resto del
    análisis de la operación de la CPU, se
    considerará que se emplea un bus de memoria
    asíncrono.

     Almacenamiento de una palabra en la
    memoria

    El procedimiento
    para escribir una palabra en una localización dada de la
    memoria es semejante al empleado para leer de la memoria. La
    única excepción es que la palabra de datos que se
    va a escribir se carga en el MDR antes de que se emita el comando
    Escribir. Si se considera que la palabra de datos que se va a
    almacenar en la memoria está en R2, y que la
    dirección de la memoria está en R1, la
    operación de Escribir requiere la siguiente
    secuencia:

    1. MAR  [R1]
    2. MDR  [R2]
    3. Escribir
    4. Esperar la señal MFC

    Es interesante observar que los pasos 1 y 2 son
    independientes. Por lo tanto, pueden llevarse a cabo en cualquier
    orden. En realidad, pueden efectuarse de manera
    simultánea, si la arquitectura de
    la computadora lo permite, esto es, si las dos transferencias no
    utilizan la misma ruta de datos. Desde luego, esto no
    sería posible en la
    organización de bus único de la figura
    anterior. Obsérvese también que, como en el caso de
    la operación de Leer, el periodo de espera del paso 4
    puede encimarse con otras operaciones, siempre y cuando tales
    operaciones no utilicen los registros MDR o MAR.

     Transferencias entre
    registros

    Para permitir la transferencia de datos entre varios
    bloques conectados al bus común de la figura anterior,
    debe haber manejo de entrada y salida por compuerta. Esto
    está representado de manera simbólica en la figura
    siguiente (2). Las compuertas de entrada y salida del registro Ri
    están controladas por las señales
    Rientrada y Risalida, respectivamente.
    Entonces, cuando el registro Rientrada es igual a 1,
    los datos disponibles en el bus común se cargan en Ri. De
    manera semejante, cuando Risalida es igual a l, el
    contenido del registro Ri se coloca en el bus. Mientras el
    Risalida es igual a 0, el bus puede utilizarse para
    transferir datos de otros registros.

    Ahora se examinará la transferencia de datos
    entre dos registros. Por ejemplo, para transferir el contenido
    del registro Rl al registro R4, se necesitan las siguientes
    acciones:

    • Habilitar la compuerta de salida del registro R1
      poniendo R1salida en 1 . Esto coloca el contenido de
      R1 en el bus de la CPU.
    • Habilitar la compuerta de entrada del registro R4
      poniendo R4entrada en 1. Esto carga los datos
      provenientes del bus de la CPU en el registro R4.

    Esta transferencia de datos puede representarse en forma
    simbólica

    R1salida, R4entrada

     Realización de una operación
    aritmética o lógica

    Al realizar una operación aritmética o
    lógica, debe recordarse que la ALU es en sí misma
    un circuito combinatorio que no tiene almacenamiento interno. Por
    lo tanto, para realizar una adición, por ejemplo, los dos
    números que se van a sumar deben estar listos en las dos
    entradas de la ALU simultáneamente. Se proporciona con
    este fin el registro Y de la figura anterior (1) que se utiliza
    para contener uno de los dos números, mientras que el otro
    es manejado por compuerta hacia el bus. El resultado se almacena
    en forma temporal en el registro Z. Por lo tanto, la secuencia de
    operaciones para sumar el contenido del registro R1 con el del
    registro R2 y almacenar el resultado en el registro R3 debe ser
    la siguiente:

    PASO

    ACCIÓN

    1

    R1salida
    ,Yentrada

    2

    R2salida , Add ,
    Zentrada

    3

    Zsalida ,
    R3entrada

    En el paso 2 de esta secuencia el
    contenido del registro R2 se maneja por compuerta hacia el bus;
    de allí, a la entrada B de la ALU que está
    conectada directamente con el bus. El contenido del registro Y
    siempre está disponible en la entrada A. La función
    realizada por la ALU depende de las señales aplicadas a
    las líneas de control de la ALU. En este caso, la
    línea Suma se iguala a 1, provocando que la salida de la
    ALU sea la suma de los dos números en A y B. Esta suma se
    carga en el registro Z ya que su compuerta de entrada está
    abierta (Zentrada). En el tercer paso, el contenido
    del registro Z se transfiere al registro destino R3. Es obvio que
    esta última transferencia no puede realizarse durante el
    segundo paso, ya que sólo una salida de registro puede
    conectarse en forma significativa al bus en cualquier momento
    dado.

    Manejo de registros por compuerta y
    temporización de transferencias de datos

    Antes de proceder a analizar la ejecución de
    instrucciones de máquina, es necesario detenerse
    brevemente para presentar algunos de los detalles necesarios del
    implante para el manejo de datos por compuerta hacia y desde el
    bus común de la figura 1. También se
    presentará una breve panorámica de la
    temporización requerida para el control de señales
    que estén involucradas en la transferencia de datos entre
    registros.

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    Supóngase que cada bit de los registros de las
    figuras 1 y 2 consiste en el seguro simple
    mostrado en la figura 3. Se considera que el elemento de
    almacenamiento mostrado es uno de los bits del registro Z.
    Mientras que el control de entrada Zentrada es igual a
    1, el estado del
    seguro cambia para que corresponda con los datos del bus.
    Siguiendo el cambio de 1 a
    0 en la entrada Zentrada, los datos almacenados en el
    seguro inmediatamente antes de este cambio se aseguran hasta que
    Zentrada sea de nuevo igual a 1. Entonces, las dos
    compuertas de entrada del seguro implantan la función de
    interruptor de control de entrada de la figura 2.

    Figura 2.: Manejo por compuerta de entrada y salida
    para los registros de la figura 1

    Si se examinan los interruptores de salida de la figura
    2 se muestra que, en el caso ideal, deben ser interruptores
    mecánicos de ENCENDIDO/APAGADO. Cuando un interruptor dado
    está ENCENDIDO, transfiere el contenido de su registro
    correspondiente al bus. Cuando se encuentra APAGADO, está
    desconectado eléctricamente del bus. Esto es, no pone al
    bus en estado
    específico alguno, permitiendo así que otro
    registro coloque datos en el bus. Por lo tanto, la salida de la
    combinación del registro con el interruptor puede ser en
    uno de los tres estados: 1,0 ó circuito
    abierto.

    En los implantes reales, los interruptores
    mecánicos resultan incompatibles con la tecnología
    electrónica empleada en computadoras en
    términos de velocidad de operación y de otras
    características. En su lugar la compuerta de salida de un
    registro que transfiere el contenido de ese registro al bus
    común se diseña para que se comporte de la misma
    forma que un interruptor mecánico. Esto es, es capaz de
    estar eléctricamente desconectada del bus.

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    Figura 3.: Entrada y salida manejadas por compuerta para
    un bit de registro

    Es capaz de colocar ya sea un cero o un uno en el bus
    cuando sea necesario. Debido a estas tres posibilidades, se dice
    que tal compuerta tiene una salida de tres estados. Se utiliza
    una entrada separada de control, tanto para habilitar la salida
    por compuerta, como para ponerla en un estado de alta impedancia
    (desconectada eléctricamente). Este último estado
    corresponde al de circuito abierto de un interruptor
    mecánico.

    Debe observarse que ni los circuitos de compuerta
    lógica TTL, ni los CMOS son adecuados para la
    conexión directa con un bus. Conectar las salidas de dos
    de tales circuitos en paralelo provoca un corto circuito, lo que
    provocaría operación inadecuada o aun daño a
    las compuertas involucradas.

    Un diseño
    optativo para el bus común de la figura 2 que no requiere
    de los interruptores de salida, utilizaría compuertas de
    colector abierto (para bipolar) o de drenaje abierto (para MOS).
    La salida de tal compuerta es equivalente a un interruptor a
    tierra. El
    interruptor está abierto cuando la salida de compuerta se
    encuentra en el estado 1 , y cerrado cuando se encuentra en 0. La
    estructura de un bus de colector abierto está representada
    simbólicamente en la figura 4. Cuando no está
    trabajando, el bus se mantiene en uno debido al resistor de
    "jalón hacia arriba" mostrado. Entonces, siempre y cuando
    todos los interruptores de salida de compuerta estén
    abiertos, esto es, todas las salidas estén en el estado 1,
    el bus también. Si cualquier salida de compuerta cambia a
    0, el interruptor correspondiente de salida se cierra y el bus es
    "empujado hacia abajo" al estado 0. En otras palabras, el bus
    realiza una función AND en todas las salidas de compuerta
    conectadas con él. Algunas veces a esto se le conoce como
    conexión de "AND – cableado". Si se utiliza este arreglo
    de manejo por compuerta, la compuerta de salida de tres estados
    de la figura 3 puede reemplazarse por una compuerta de colector
    abierto NAND, según se muestra. Cuando Zsalida
    está alto (1), el bit almacenado en el seguro se alimenta
    al bus. Cuando Zsalida está bajo (0), el bus se
    deja en el estado 1 ocioso, permitiendo que los datos
    provenientes de otros registros se transfieran al bus.

    En general, el diseño de tres estados permite
    transferencias de datos más veloces en comparación
    con el enfoque de colector abierto de drenaje abierto. Por esta
    razón su uso en el diseño de buses es mucho
    más común. La principal característica
    distintiva de un bus de colector abierto es su capacidad de AND –
    cableado, por lo tanto el arreglo de colector abierto se utiliza
    principalmente para líneas de buses en donde se requiera
    esta capacidad. Por ejemplo, a menudo se emplea en líneas
    de solicitud de interrupción.

    Ahora se analizarán algunos aspectos de la
    temporización de transferencias de datos dentro de la
    CPU.

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    Figura 4.: estructura de bus de
    colector abierto

    Por ejemplo, considérese la operación de
    adición del paso 2 del almacenamiento de una palabra en la
    memoria. A partir del momento en que la señal
    R2salida es igual a 1, hay un retraso temporal para
    que la compuerta se abra y para que después los datos
    viajen a través del bus hasta la entrada de la ALU. Los
    circuitos sumadores de la ALU provocan un retraso más.
    Para que el resultado se almacene en la forma adecuada en el
    registro Z, los datos deben mantenerse en el bus durante un
    periodo adicional igual al tiempo de preparación y de
    espera de este registro. Esta situación se muestra en el
    diagrama de
    temporización de la figura 5. La suma de los cinco tiempos
    de retraso define la duración mínima de la
    señal R2salida

    Organización de bus
    múltiple

    La organización de bus único de la figura
    1 representa sólo una de las posibilidades para
    interconectar distintos bloques de la CPU. Un arreglo alternativo
    es la estructura de dos buses mostrada en la figura 6. Todas las
    salidas de los registros están conectadas al bus A y todas
    las entradas de los registros están conectadas al bus B.
    Los dos buses están conectados a través del enlace
    de buses G, el cual, al habilitarse, transfiere los datos
    contenidos en el bus A al bus B. Cuando se deshabilita G, los dos
    buses están eléctricamente aislados.
    Obsérvese que el registro de almacenamiento temporal Z de
    la figura 1 no es necesario en esta organización debido a
    que, con el enlace de bus inhabilitado, la salida de la ALU puede
    transferirse en forma directa al registro destino. Por ejemplo,
    la operación de adición analizada antes (R3
     [R1] + [R2]) ahora puede efectuarse de la siguiente
    forma:

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    Figura 5.: Temporización de las
    señales de control durante el paso de Suma

    Es importante observar que si los registros son seguros simples
    como el de la figura 4.3, el registro destino de la secuencia
    anterior debe ser diferente de R2, debido a que las dos
    operaciones R2entrada y R2salida no pueden
    realizarse al mismo tiempo. Esto se debe a que la ALU es una red combinatoria. Por lo
    tanto, carece de almacenamiento interno. Sin embargo, aún
    así es posible realizar la operación R2 
    [R1] + [R2], intercambiando R1salida y
    R2salida y reemplazando R3entrada por
    R2entrada en el paso 2. La restricción de que
    R2salida y R2entrada no puedan realizarse
    en el mismo paso puede atemperarse con el empleo de flip-flops
    disparados por flanco. Si hay uso de flip flops disparados por
    flanco, la temporización de una transferencia de registros
    que involucre a R2 permanece esencialmente igual que la de la
    figura 5, con Zentrada reemplazado por
    R2entrada. En este caso R2entrada
    representa la entrada de reloj al registro, la cual se considera
    como disparada por flanco negativa. La salida de R2 permanece sin
    cambio hasta t2, momento en el que los datos
    disponibles en el bus de entrada se cargan en R2.

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    Figura 6.: Estructura de dos
    buses

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    Figura 7.: Estructura de tres
    buses

     Considérese un ejemplo más de
    organización de la CPU. En la figura 7 se muestra una
    arquitectura de tres buses, con cada bus conectado sólo a
    una salida y a varias entradas. Al eliminar la necesidad de
    conectar más de una salida al mismo bus se logran
    transferencias más rápidas de bus en forma simple.
    Se proporciona un multiplexor en la entrada de cada uno de los
    dos registros de trabajo A y
    13, lo cual permite que se carguen ya sea del bus de datos de
    entrada o del bus de datos de registro.

    Los registros de aplicación general de la CPU de
    la figura 7 se muestran como un solo bloque. Se considera que
    están implantados utilizando una unidad de memoria de
    acceso aleatorio (RAM: Random-access
    memory). Debe enfatizarse que en este contexto el término
    RAM simplemente se refiere al tipo de hardware utilizado para
    implantar los registros y no debe confundirse con la RAM que
    constituye la memoria principal de la computadora. Esta
    última está conectada al bus externo.

     EJECUCIÓN
    DE UNA INSTRUCCIÓN COMPLETA

    Ahora se intentará conjuntar la secuencia de
    operaciones elementales necesarias para ejecutar una
    instrucción. Considérese la instrucción
    "Sumar el contenido de la localización NUM de la memoria
    al registro R1". Para simplificar las cosas, la dirección
    NUM se da en forma explícita en el campo de
    dirección de la instrucción. Entonces, la
    localización NUM se especifica en el modo directo de
    memoria. La ejecución de esta instrucción requiere
    de las siguientes acciones.

    1. Traer la instrucción
    2. Traer el primer operando (el contenido de la
      localización de la memoria a la que señala el
      campo de dirección de la
      instrucción).
    3. Realizar la adición
    4. Cargar el resultado en RI.

    PASO

    ACCION

    1

    PCsalida, MARentrada, Leer, Borrar Y, Fijar el
    acarreo de la ALU, Suma, Zentrada

    2

    Zsalida, PCentrada, Espera a MFC

    3

    MDRsalida, IRsalida

    4

    Campo de dirección de IRsalida, MARentrada,
    Leer

    5

    R1salida, Yentrada, Espera a MFC

    6

    MDRsalida, Suma, Zentrada

    7

    Zsalida, R1entrada

    8

    Fin

    Figura 8.: Secuencia de control para
    la ejecución de la instrucción "Sumar el contenido
    de la localización direccionada de la memoria en el modo
    directo de la memoria al registro R1".

    En la figura 8 se da la secuencia de pasos de control
    necesarios para implantar las operaciones anteriores en la
    estructura de bus único de la figura 1. Entonces, la
    ejecución de instrucción sucede de la siguiente
    forma. En el paso 1 la operación de traída de la
    instrucción se inicia cargando el contenido del PC en el
    MAR y enviando una solicitud de Leer a la memoria. A1 mismo
    tiempo se incrementa el PC en 1 a través del uso de la
    ALU. Esto se logra poniendo una de las entradas a la ALU
    (registro Y) en 0 y la otra entrada (bus de la CPU) en el
    valor presente
    que contenga el PC. Al mismo tiempo el acarreo a la ALU se iguala
    a 1 y se especifica una operación de Sumar.

    El valor actualizado se regresa del registro Z al PC
    durante el paso dos. Obsérvese que el paso dos se inicia
    inmediatamente después de emitir la solicitud de Leer de a
    memoria, sin necesidad de esperar la conclusión de la
    función de la memoria. Sin embargo, el paso 3 tiene que
    retardarse hasta que se reciba el MFC. En el paso 3, a palabra
    traída de la memoria se carga en el IR (registro de
    instrucción: instruction register). Los pasos del 1 al 3
    constituyen la fase de traída de instrucción de la
    secuencia de control. Desde luego, esta parte es la misma para
    todas las instrucciones.

    En cuanto el IR está cargado, el circuito de
    decodificación de instrucción interpreta su
    contenido. Esto permite a la circuitería de control elegir
    las señales adecuadas para la parte restante de la
    secuencia de control, pasos 4 a 8, a los que se considera como la
    fase de ejecución. En el paso 4, el campo de
    dirección del IR que contiene la dirección NUM, es
    manejado por compuerta y se lleva al MAR y se inicia una
    operación de Leer de la memoria. Después el
    contenido de la memoria R1 se transfiere al registro Y. Cuando se
    completa la operación de Leer, el operando de la memoria
    está disponible en el registro MDR. La operación de
    adición se realiza en el paso 6 y el resultado se
    transfiere a R1 en el paso 7. La señal de Fin, paso 8,
    indica la conclusión de la ejecución de la presente
    instrucción y provoca que se inicie un nuevo ciclo de
    traída regresando de nuevo al paso 1.

    Ramificación

    Las ramificaciones se logran reemplazando el contenido
    actual del PC por la dirección de ramificación,
    esto es, la dirección de la instrucción a la cual
    se refiere una ramificación. Por lo común, la
    dirección de ramificación se obtiene sumando al
    valor actual del PC, un valor X de compensación, el cual
    está dado en el campo de dirección de la
    instrucción de ramificación. En la figura 9 se
    proporciona una secuencia de control que permite la
    ramificación de control incondicional utilizando la
    organización de bus único de la figura 1. Como de
    costumbre, la ejecución se empieza con la fase de
    traída y termina cuando la instrucción se carga en
    el IR en el paso 3. Para ejecutar la instrucción de
    ramificación, el contenido del PC se transfiere al
    registro Y en el paso 4. Después el valor de
    compensación X se envía por compuerta al bus y se
    realiza la operación de adición. El resultado, que
    representa la dirección de ramificación, se carga
    en el PC en el paso 6.

    PASO

    ACCION

    1

    PCsalida, MARentrada, Leer, Borrar Y, Fijar el
    acarreo de la ALU, Suma, Zentrada

    2

    Zsalida, PCentrada, Espera a MFC

    3

    MDRsalida, IRsalida

    4

    PCsalida, Yentrada

    5

    Campo de dirección de IRsalida, Suma,
    Zentrada

    6

    Zsalida, PCentrada

    7

    Fin

    Figura 9.: Secuencia de control para
    la ejecución de una instrucción de
    ramificación incondicional.

    Es importante observar que en este ejemplo el PC se
    incrementa durante la fase de traída, sin importar el tipo
    de instrucción que se esté ejecutando. Así,
    en el momento en que el valor de compensación X se suma al
    contenido del PC, pasos 4 y 5 de la figura 9, este contenido ya
    se ha actualizado para que apunte a la instrucción que
    sigue en el programa a la instrucción de
    Ramificación. Por lo tanto, el valor de
    compensación X debería ser la diferencia entre la
    dirección de ramificación y la dirección que
    sigue de inmediato a la instrucción de
    Ramificación. Por ejemplo, si la instrucción de
    Ramificación está en la localización 1000 y
    se requiere ramificar a la localización 1050, el valor de
    X debería ser de 49.

    Considérese ahora 1 caso de una
    ramificación condicional, en vez de una
    ramificación incondicional. La única diferencia
    entre este caso y el de la figura 9 es el de la necesidad de
    verificar el estado de los códigos de condición
    entre los pasos 3 y 4.Por ejemplo, si la circuitería de
    decodificación de instrucción interpreta el
    contenido del IR como una instrucción de
    Ramificación en caso negativo (BRN: Branch on Negative),
    la unidad de control opera de la siguiente forma: primero, se
    verifica el registro de código
    de condición. Si el bit N (negativo) es igual a 1, la
    unidad de control procede a los pasos del 4 al 7 como en la
    figura 9. Por otra parte, si N es igual a 0 se emite una
    señal de Fin. En realidad, esto concluye la
    ejecución de la instrucción de Ramificación
    y provoca que la instrucción inmediata del programa se
    traiga, cuando se realice una nueva operación de traer.
    Por lo tanto, la secuencia de control para la secuencia de
    Ramificación condicional BRN puede obtenerse a partir de
    la figura 4.9 reemplazando el paso 4 por:

    4

    If then End

     

    If N then PCsalida,
    Yentrada

    SECUENCIAMIENTO DE SEÑALES DE
    CONTROL

    Para ejecutar instrucciones, la CPU debe disponer de
    algún medio para generar en la secuencia adecuada las
    señales de control analizadas antes. Los
    diseñadores de computadoras han utilizado una amplia
    variedad de técnicas para resolver este problema. Sin
    embargo, la mayoría de estas técnicas caen en una
    de las dos categorías:

    1. Control fijo
    2. Control microprogramado

    En esta sección se analiza el control fijo
    (cableado permanente), seguido por una breve introducción al control microprogramado.
    Este último se analizará en detalle en el
    capítulo cinco.

    Controladores fijos

    Considérese la secuencia de señales de
    control dada en la figura 8. Resulta obvio que se requieren ocho
    lapsos que no se encimen para la ejecución adecuada de la
    instrucción representada por esta secuencia. Cada lapso
    debe tener una duración suficiente al menos para que
    sucedan las funciones especificadas en el paso correspondiente.
    Por el momento, considérese que todos los lapsos son de
    igual duración. Por lo tanto, es posible implantar el
    control necesario con el empleo de un contador manejado por un
    reloj, según se muestra en la figura 10. Cada estado o
    cuenta de este contador corresponde a uno de los pasos de las
    figuras 8 y 9. Por lo tanto, las señales de control
    necesarias están determinadas en forma única por la
    siguiente información:

    1. Contenido del contador de control
    2. Contenido del registro de
      instrucción
    3. Contenido del código de condición y de
      otras banderas de condición

    El término banderas de condición indica
    aquellas señales que representan el estado de las
    diferentes secciones de la CPU y de las distintas líneas
    de control conectadas con ella, tales como la señal de
    condición del MFC de la figura 8.

    A fin de lograr cierto conocimiento
    de la estructura interna de la unidad de control se
    empezará dando una visión simplificada del hardware
    relacionado con ella.

    El bloque decodificador-codificador de la figura 10 es
    simplemente un circuito combinatorio que genera las salidas de
    control necesarias, dependiendo del estado de todas sus entradas.
    Al separar las funciones de decodificación y codificación se obtiene el diagrama de
    bloque más detallado de la figura 11. El paso
    decodificador proporciona una línea separada de
    señal para cada paso, o lapso, en la secuencia de control.
    De manera semejante, la salida del decodificador de
    instrucción consiste en una línea separada para
    cada instrucción de máquina. Esto es, para cada
    instrucción cargada en el IR, una de las líneas de
    salida de la INSl a INSm, se iguala a 1 y
    todas las otras líneas a 0.

    Todas las señales de entrada al bloque de
    codificación de la figura 11 deben combinarse para que
    generen las señales individuales de control
    Yentrada, PCsalida, Suma, Fin, etc. La
    estructura del codificador está ejemplificada por el
    circuito dado en la figura 12. Este circuito es un implante de la
    función lógica

    Zentrada = T1 + T2
     ADD + T5  BR + …

    Esto es, la señal de control Zentrada,
    que habilita la entrada al registro Z, se enciende, ON, durante
    el lapso T1 sin importar la instrucción,
    durante T6 para una instrucción ADD, y
    así sucesivamente. Esta parte de la función
    Zentrada ha sido compilada a partir de las secuencias
    de control de las figuras 8 y 9. El término T, es
    común a todas las instrucciones ya que ocurre durante la
    fase de traída. De manera semejante, la señal de
    control Fin, figura 13, se genera a partir de la función
    lógica

    Fin = T8  ADD + T7  BR + (T7  N
    + T4  )  BRN + …

    En la figura 11 se muestra la forma en que es posible
    utilizar la señal Fin para iniciar un nuevo ciclo de
    traída de instrucción, poniendo el contador de paso
    de control en su valor inicial.

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    Figura 10.: Organización de la
    unidad de control

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    Figura 11.: Separación de las
    funciones de decodificación y
    codificación

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    Figura 12.: Generación de la
    señal de control Zentrada

     Las señales MFC y WMFC (Wait for, MFC:
    espera a MFC) requieren de algunas consideraciones especiales. La
    señal misma WMFC puede generarse de la misma forma que las
    otras señales de control, utilizando la ecuación
    lógica.

    WMFC = T2 + T5  ADD +

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    Figura 13.: Generación de la
    señal de control Fin

    El efecto que se desea con esta señal es retrasar
    el inicio del siguiente paso de control hasta que no se reciba la
    señal MFC de la memoria principal. Esto puede lograrse
    inhibiendo el avance del contador de paso de control durante el
    periodo requerido. Considérese que el contador de paso de
    control está regido por una señal llamada RUN.
    (Corrida)

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    Figura 14.: Control de la
    temporización de la CPU

     El contador avanza un paso en cada pulso de reloj
    sólo si la señal RUN es igual a 1 . El circuito de
    la figura 14a logrará el control deseado. En cuanto la
    señal WMFC se genera, RUN se vuelve igual a 0. Entonces,
    el conteo se inhibe y ningún cambio de señal tiene
    lugar. La CPU permanece en este estado de espera hasta que la
    señal MFC se activa y el contador de paso de control se
    habilita de nuevo. E1 siguiente pulso de reloj incrementa el
    contador, lo cual da como resultado que la señal WMFC se
    iguale de nuevo a cero.

    El circuito simple de la figura 14a origina un
    importante problema. La señal MFC es generada por la
    memoria principal, cuya operación es independiente del
    reloj de la CPU. Por lo tanto, MFC es una señal
    asíncrona que puede llegar en cualquier momento a ese
    reloj. Sin embargo, el funcionamiento adecuado de la
    circuitería de la CPU, incluyendo el contador de paso de
    control, requiere que todas las señales de control tengan
    tiempos de preparación y de espera con relación al
    reloj, según se ilustró en la figura 5. Por lo
    tanto, la señal MFC debe estar sincronizada con el reloj
    de la CPU antes de ser utilizada para producir la señal
    RUN. Para este fin puede utilizarse un flip-flop, según se
    muestra en la figura 14b. La salida de este flip-flop que se
    considera como disparada por flanco negativo, cambia en el
    extremo descendente de CLK. Esto deja suficiente tiempo para que
    la señal RUN se ponga antes del siguiente flanco
    ascendente del CLK el cual avanza al contador. Un diagrama de
    temporización para una operación de traída
    de instrucción se da en la figura 15. En esta figura, se
    ha considerado que la memoria principal tendrá alta la
    señal MFC hasta que descienda la señal de Leer,
    indicando que la CPU ha recibido los datos.

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    Figura 15.: Temporización de las
    señales de control durante la traída de
    instrucciones

    El análisis anterior ha presentado una
    visión simplificada de la forma en la cual puede generarse
    la secuencia de señales de control necesaria para traer y
    ejecutar instrucciones. La organización general
    representada en las figuras 10 y 11, junto con los diagramas de
    circuito de las figuras de la 12 a la 14, representa un enfoque
    que permite la implantación de un conjunto arbitrario de
    instrucciones. Ahora se considerarán algunos aspectos
    prácticos de la realización de tal
    circuitería.

    Por necesidad, el enfoque empleado en un sistema digital
    debe tener en cuenta las capacidades y limitaciones de la
    tecnología del implante elegido. Los circuitos de las
    figuras 12 y 13 son fáciles de comprender y de
    diseñar. Sin embargo, es fácil apreciar que el
    número de compuertas lógicas necesarias para ello y
    la complejidad del cableado hacen que este enfoque directo
    resulte poco práctico. El implante de las computadoras
    modernas se basa en el empleo de la tecnología VLSI. En
    VLSI, estructuras
    que abarcan patrones regulares de interconexión resultan
    mucho más fáciles de implantar que las conexiones
    aleatorias empleadas en los circuitos anteriores. Tales
    estructuras son arreglos lógicos programables (PLA:
    Programable logic array). Según se describe en el
    apéndice A, un PLA consiste en un arreglo de compuertas
    AND seguido por un arreglo de compuertas OR. Puede utilizarse
    para implantar funciones lógicas combinatorias de varias
    variables.
    Todo el bloque de codificador – decodificador de la figura 10
    puede implantarse bajo la forma de un solo PLA. Entonces, la
    sección de control de una CPU, o para este caso, de
    cualquier sistema digital puede organizarse según se
    muestra en la figura 16.

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    Figura 16.: Implante de un controlador
    de secuencia en un chip VLSI

    Antes de concluir el análisis de los
    controladores fijos, resulta conveniente hacer unos cuantos
    comentarios. Hasta ahora se ha supuesto que todos los pasos de
    control suceden en lapsos iguales. Esto lleva a implantar un
    contador de condición manejado por un reloj. Resulta
    fácil apreciar que este enfoque no es muy eficiente en lo
    referente al uso de la CPU, ya que no todas las operaciones
    requieren del mismo tiempo. Por ejemplo, por lo general una
    transferencia simple de registro es mucho más
    rápida que una operación que incluya adición
    o sustracción. Es posible, al menos en teoría,
    construir una unidad de control asíncrona por completo. En
    este caso, el reloj estaría reemplazado por un circuito
    que haría avanzar el contador de paso en cuanto se
    concluya cada paso. En tal enfoque el problema principal es la
    incorporación de algunos medios
    confiables de detectar la conclusión de varias
    operaciones. Según resulta el retraso de
    propagación en muchos casos es una función, no
    sólo de las compuertas utilizadas, sino también de
    los datos específicos que se estén
    procesando.

    Sin embargo, es posible efectuar algunos arreglos. Por
    ejemplo, puede establecerse una retraso máximo para cada
    operación y las señales de temporización
    pueden generarse con esa base. También es posible utilizar
    relojes separados para subsecciones individuales de un circuito.
    La
    comunicación entre varias subsecciones puede entonces
    realizarse en forma asíncrona, de una manera muy parecida
    a la de las transferencias de datos entre la CPU y la memoria
    principal.

     Control microprogramado

    Todas las señales de control requeridas dentro de
    la CPU pueden generarse utilizando un contador de estado y un
    circuito PLA. Se analizará un enfoque alternativo que se
    utiliza mucho en el diseño de computadoras. Primero se
    presentarán algunos términos utilizados con
    frecuencia.

    Se empezará por definir palabra de control (CW:
    control word) como una
    palabra cuyos bits individuales representan las diferentes
    señales de control de la figura 11. Por lo tanto, cada uno
    de los pasos de control de la secuencia de control de una
    instrucción define una combinación única de
    unos y ceros en la CW. Por ejemplo, las CW correspondientes a los
    pasos 5, 6 y 7 de la figura 8 son como se muestran en la figura
    17. Una secuencia de CW correspondientes a la secuencia de
    control de una instrucción de máquina constituye el
    microprograma para esa instrucción. Las palabras
    individuales de control en este microprograma por lo general se
    denominan microinstrucciones.

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    Figura 17.: Ejemplo de
    microinstrucciones para la Figura 8

    Considérese que los microprogramas
    correspondientes al conjunto de instrucciones de una computadora
    están almacenados en una memoria especial a la que se
    denomina la memoria de microprograma. La unidad de control puede
    generar las señales de control para cualquier
    instrucción, leyendo en forma secuencial las CW del
    microprograma correspondiente en la memoria de microprograma.
    Esto sugiere organizar la unidad de control según se
    muestra en la figura 18. Para leer en forma secuencial las
    palabras de control a partir de la memoria de microprograma se
    emplea un contador de microprograma ( PC). El bloque
    etiquetado "generación de dirección inicial" es
    responsable de la carga de la dirección inicial del
    microprograma en el  PC cada vez que se carga una nueva
    instrucción en el IR. Después, el  PC es
    incrementado en forma automática por el reloj, provocando
    que se lean microinstrucciones sucesivas de la memoria. Por lo
    tanto, las señales de control serán entregadas a
    las diferentes partes de la CPU en la secuencia
    correcta.

    Hasta el momento no se ha analizado una importante
    función de la unidad de control y, en realidad, no se la
    puede implantar por medio de la organización simple de la
    figura 18. Esta es la situación que surge cuando se
    requiere que la unidad de control verifique el estado de los
    códigos de condición o banderas de
    condición, a fin de elegir entre cursos alternativos de
    acción.
    Se ha visto que en el caso de control fijo, esta situación
    se maneja incluyendo una función lógica adecuada,
    como en la ecuación "Fin = T8  ADD + T7 
    BR + (T7  N + T4  )  BRN + …", en la
    circuitería de codificación. Otro enfoque diferente
    que se utiliza con frecuencia con el control microprogramado se
    basa en la introducción del concepto de
    ramificación condicional en el microprograma. Esto puede
    lograrse ampliando el conjunto de microinstrucciones a fin de
    incluir algunas de ramificación condicional. Además
    de la dirección de ramificación, estas
    microinstrucciones pueden especificar cuál de las banderas
    de instrucción, códigos de condición o tal
    vez bits del registro de instrucción deben verificarse
    como condición para que tenga lugar la
    ramificación.

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    Figura 18.: Organización
    básica de una unidad de control
    microprogramado

    Ahora es posible implantar la instrucción de
    Ramificación en Negativo por medio de un microprograma
    como el que se muestra en la figura 19. Se considera que el
    microprograma para esta instrucción empieza en la
    localización 25. Por lo tanto, una microinstrucción
    de Ramificación, al final de la parte de traída de
    instrucción del microprograma, transfiere el control a la
    localización 25. Debe observarse que la dirección
    de ramificación de esta instrucción de
    Ramificación es en realidad la salida del bloque de
    "generación de dirección inicial". En la
    localización 25, una microinstrucción de
    ramificación condicional prueba el bit N de los
    códigos de condición y provoca una
    ramificación a Fin, si este bit es igual a 0.

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    Figura 19.: Microprograma para la
    instrucción Ramificar en Negativo

    Para apoyar la ramificación de
    microprogramas, la organización de la unidad de control
    debe modificarse según se muestra en la figura
    20.

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    Figura 20.: Organización de la
    unidad de control para permitir ramificación condicional
    en el programa

    Los bits de la palabra de microinstrucción que
    especifican las condiciones y dirección de
    ramificación se alimentan al bloque "generador de
    dirección inicial y ramificación". Este bloque
    realiza la función de cargar una nueva dirección en
    el PC cuando así se le indica, por medio de una
    microinstrucción. Para habilitar el implante de una
    ramificación condicional, las entradas a este bloque
    consisten en banderas de condición y códigos, tanto
    de condición, como del contenido del registro de
    instrucción. Por lo tanto, el ~ PC siempre se incrementa
    cada vez que se trae una nueva microinstrucción a partir
    de la memoria de microprograma, excepto en las siguientes
    situaciones:

    1. Cuando se encuentra una microinstrucción a
      Fin, el UPC se carga con la dirección de la primera CW
      del microprograma para el ciclo de traída de
      instrucción (dirección = 0 en la figura
      19).
    2. Cuando se carga una nueva instrucción en el
      IR, el  PC se carga con la dirección inicial del
      microprograma para esa instrucción.
    3. Cuando se encuentra una microinstrucción de
      Ramificación, y la condición de
      ramificación se satisface, el  PC se carga con
      la dirección de ramificación.

    Organizaciones semejantes a la de la figura 20 se han
    implantado en muchas máquinas. Sin embargo, también
    se han desarrollado algunos enfoques alternativos que se han
    implantado en la práctica.

    En conclusión, deben observarse algunos puntos
    importantes en lo referente a las máquinas
    microprogramadas, los cuales son:

    1. Los microprogamas definen el conjunto de
      instrucciones de la computadora. Por lo tanto, es posible
      modificar el conjunto de instrucciones con cambiar el contenido
      de la memoria de microprograma. Esto ofrece considerable
      flexibilidad tanto al diseñador como al usuario de la
      computadora.
    2. Ya que el contenido de la memoria de microprograma se
      cambia con muy poca frecuencia, si es que se llega a hacer, por
      lo general se llega a utilizar en una memoria de tipo
      sólo de lectura
      (ROM: Read Only Memory,).
    3. La ejecución de cualquier instrucción
      de máquina involucra varias traídas de la memoria
      de microprograma. Por lo tanto, la velocidad de esta memoria
      desempeña un papel importante para determinar la
      velocidad general de la computadora.

    Historia del Microprocesador

    Han pasado más de 25 años desde que Intel
    diseñara el primer microprocesador, siendo la
    compañía pionera en el campo de la
    fabricación de estos productos, y que actualmente cuenta
    con más del 90 por ciento del mercado. Un
    tiempo en el que todo ha cambiado enormemente, y en el que desde
    aquel 4004 hasta el actual Pentium II hemos visto pasar varias
    generaciones de máquinas que nos han entretenido y nos han
    ayudado en el trabajo
    diario.

    Dicen que es natural en el ser humano querer mirar
    constantemente hacia el futuro, buscando información de
    hacia dónde vamos, en lugar de en dónde hemos
    estado. Por ello, no podemos menos que asombrarnos de las
    previsiones que los científicos barajan para dentro de
    unos quince años. Según el Dr. Albert Yu,
    vicepresidente de Intel y responsable del desarrollo de
    los procesadores
    desde el año 1984, para el año 2011 utilizaremos
    procesadores cuyo reloj irá a una velocidad de 10 GHz
    (10.000 MHz), contendrán mil millones de transistores y
    será capaz de procesar cerca de 100 mil millones de
    instrucciones por segundo. Un futuro prometedor, que
    permitirá realizar tareas nunca antes pensadas.

    INTEL 

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    Los inicios

    Sin embargo, para que esto llegue, la historia de los procesadores
    ha pasado por diferentes situaciones, siguiendo la lógica
    evolución de este mundo. Desde aquel primer
    procesador 4004
    del año 1971 hasta el actual Pentium II del presente
    año ha llovido mucho en el campo de los procesadores.
    Tanto, que no estamos seguros si las cifras que se barajan en
    Intel se pueden, incluso, quedar cortas. Aquel primer procesador
    4004, presentado en el mercado el día 15 de noviembre de
    1971, poseía unas características únicas
    para su tiempo. Para empezar, la velocidad de reloj sobrepasaba
    por poco los 100 KHz (sí, habéis leído bien,
    kilohertzios), disponía de un ancho de bus de 4 bits y
    podía manejar un máximo de 640 bytes de memoria.
    Realmente una auténtica joya que para entonces
    podía realizar gran cantidad de tareas, pero que por
    desgracia no tiene punto de comparación con los actuales
    micros. Entre sus aplicaciones, podemos destacar su presencia en
    la calculadora Busicom, así como dotar de los primeros
    tintes de inteligencia a
    objetos inanimados.

    Poco tiempo después, sin embargo, el 1 de abril
    de 1972, Intel anunciaba una versión mejorada de su
    procesador. Se trataba del 8008, que contaba como principal
    novedad con un bus de 8 bits, y la memoria direccionable se
    ampliaba a los 16 Kb. Además, llegaba a la cifra de los
    3500 transistores, casi el doble que su predecesor, y se le puede
    considerar como el antecedente del procesador que serviría
    de corazón al
    primer ordenador personal. Justo
    dos años después, Intel anunciaba ese tan esperado
    primer ordenador personal, de nombre Altair, cuyo nombre proviene
    de un destino de la nave Enterprise en uno de los
    capítulos de la popular serie de televisión
    Star Trek la semana en la que se creó el ordenador. Este
    ordenador tenía un coste de entorno a los 400
    dólares de la época, y el procesador suponía
    multiplicar por 10 el rendimiento del anterior, gracias a sus 2
    MHz de velocidad (por primera vez se utiliza esta medida), con
    una memoria de 64 Kb. En unos meses, logró vender decenas
    de miles de unidades, en lo que suponía la
    aparición del primer ordenador que la gente podía
    comprar, y no ya simplemente utilizar.

     La introducción de IBM

    Sin embargo, como todos sabemos, el ordenador personal
    no pasó a ser tal hasta la aparición de IBM, el
    gigante azul, en el mercado. Algo que sucedió en dos
    ocasiones en los meses de junio de 1978 y de 1979. Fechas en las
    que respectivamente, hacían su aparición los
    microprocesadores 8086 y 8088, que pasaron a formar el denominado
    IBM PC, que vendió millones de unidades de ordenadores de
    sobremesa a lo largo y ancho del mundo. El éxito
    fue tal, que Intel fue nombrada por la revista
    "Fortune" como uno de los mejores negocios de
    los años setenta. De los dos procesadores, el más
    potente era el 8086, con un bus de 16 bits (por fin), velocidades
    de reloj de 5, 8 y 10 MHz, 29000 transistores usando la
    tecnología de 3 micras y hasta un máximo de 1 Mega
    de memoria direccionable. El rendimiento se había vuelto a
    multiplicar por 10 con respecto a su antecesor, lo que
    suponía un auténtico avance en lo que al mundo de
    la informática se refiere. En cuanto al
    procesador 8088, era exactamente igual a éste, salvo la
    diferencia de que poseía un bus de 8 bits en lugar de uno
    de 16, siendo más barato y obteniendo mejor respaldo en el
    mercado.

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    En el año 1982, concretamente el 1 de febrero,
    Intel daba un nuevo vuelco a la industria con la aparición
    de los primeros 80286. Como principal novedad, cabe destacar el
    hecho de que por fin se podía utilizar la denominada
    memoria
    virtual, que en el caso del 286 podía llegar hasta 1
    Giga. También hay que contar con el hecho de que el tiempo
    pasado había permitido a los ingenieros de Intel
    investigar más a fondo en este campo, movidos sin duda por
    el gran éxito de ventas de los
    anteriores micros. Ello se tradujo en un bus de 16 bits, 134000
    transistores usando una tecnología de 1.5 micras, un
    máximo de memoria direccionable de 16 Megas y unas
    velocidades de reloj de 8, 10 y 12 MHz. En términos de
    rendimiento, podíamos decir que se había
    multiplicado entre tres y seis veces la capacidad del 8086, y
    suponía el primer ordenador que no fabricaba IBM en
    exclusiva, sino que otras muchas compañías,
    alentadas por los éxitos del pasado, se decidieron a crear
    sus propias máquinas. Como dato curioso, baste mencionar
    el hecho de que en torno a los seis
    años que se le concede de vida útil, hay una
    estimación que apunta a que se colocaron en torno a los 15
    millones de ordenadores en todo el mundo.

     Microsoft también juega

    El año de 1985 es clave en la historia de los
    procesadores. El 17 de octubre Intel anunciaba la
    aparición del procesador 80386DX, el primero en poseer una
    arquitectura de 32 bits, lo que suponía una velocidad a la
    hora de procesar las instrucciones realmente importante con
    respecto a su antecesor. Dicho procesador contenía en su
    interior en torno a los 275000 transistores, más de 100
    veces los que tenía el primer 4004 después de tan
    sólo 14 años. El reloj llegaba ya hasta un
    máximo de 33 MHz, y era capaz de direccionar 4 Gigas de
    memoria, tamaño que todavía no se ha superado por
    otro procesador de Intel dedicado al mercado doméstico. En
    1988, Intel desarrollaba un poco tarde un sistema sencillo de
    actualizar los antiguos 286 gracias a la aparición del
    80386SX, que sacrificaba el bus de datos para dejarlo en uno de
    16 bits, pero a menor coste. Estos procesadores irrumpieron con
    la explosión del entorno gráfico Windows,
    desarrollado por Microsoft unos
    años antes, pero que no había tenido la suficiente
    aceptación por parte de los usuarios. También
    había habido algunos entornos que no habían
    funcionado mal del todo, como por ejemplo el Gem 3, pero no es
    hasta este momento cuando este tipo de entornos de trabajo se
    popularizan, facilitando la tarea de enfrentarse a un ordenador,
    que por aquel entonces sólo conocíamos unos pocos.
    Windows vino a ser un soplo de aire fresco para la industria,
    pues permitió que personas de cualquier condición
    pudiera manejar un ordenador con unos requerimientos
    mínimos de informática.

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    Y si esto parecía la revolución, no tuvimos que esperar mucho
    para que el 10 de abril de 1989 apareciera el Intel 80486DX, de
    nuevo con tecnología de 32 bits y como novedades
    principales, la incorporación del caché de nivel 1
    (L1) en el propio chip, lo que aceleraba enormemente la
    transferencia de datos de este caché al procesador,
    así como la aparición del co-procesador
    matemático, también integrado en el procesador,
    dejando por tanto de ser una opción como lo era en los
    anteriores 80386. Dos cambios que unido al hecho de que por
    primera vez se sobrepasaban el millón de transistores
    usando la tecnología de una micra (aunque en la
    versión de este procesador que iba a 50 MHz se usó
    ya la tecnología .8 micras), hacía posible la
    aparición de programas de calidad
    sorprendente, entre los que los juegos ocupan
    un lugar destacado. Se había pasado de unos ordenadores en
    los que prácticamente cualquier tarea compleja
    requería del intérprete de comandos de
    MS-DOS para
    poder ser
    realizada, a otros en los que con mover el cursor y pinchar en la
    opción deseada simplificaba en buena medida las tareas
    más comunes. Por su parte, Intel volvió a realizar,
    por última vez hasta el momento, una versión de
    este procesador dos años después. Se trataba del
    80486SX, idéntico a su hermano mayor salvo que no
    disponía del famoso co-procesador matemático
    incorporado, lo que suponía una reducción del coste
    para aquellas personas que desearan introducirse en el segmento
    sin necesidad de pagar una suma elevada.

     Llega el Pentium

    Sin embargo, Intel no se quedó contemplando la
    gran obra que había creado, y rápidamente
    anunció que en breve estaría en la calle una nueva
    gama de procesadores que multiplicaría de forma general
    por cinco los rendimientos medios de los 80486. Se trataba de los
    Pentium, conocidos por P5 en el mundillo de la informática
    mientras se estaban desarrollando, y de los que la prensa de medio
    mundo auguraba un gran futuro, tal y como así ha sido.
    Estos procesadores pasarán a la historia por ser los
    primeros a los que Intel no los bautizó con un
    número, y sí con una palabra. Esto era debido a que
    otras compañías dedicadas a la producción de
    procesadores estaban utilizando los mismos nombres puesto que no
    se podía registrar una cadena de ellos como marca, y por lo
    tanto, eran de dominio
    público. De modo que a Intel no le quedó más
    remedio que ponerle una palabra a su familia de
    procesadores, que además, con el paso del tiempo, se
    popularizó en los Estados Unidos de
    tal forma, que era identificada con velocidad y potencia en
    numerosos cómics y programas de televisión. Estos procesadores que
    partían de una velocidad inicial de 60 MHz, han llegado
    hasta los 200 MHz, algo que nadie había sido capaz de
    augurar unos años antes.

     Para ver el
    gráfico seleccione la opción "Descargar" del
    menú superior

    Con una arquitectura real de 32 bits, se usaba de nuevo
    la tecnología de .8 micras, con lo que se lograba realizar
    más unidades en menos espacio (ver recuadro explicativo).
    Los resultados no se hicieron esperar, y las
    compañías empezaron aunque de forma tímida a
    lanzar programas y juegos exclusivamente para el Pentium, hasta
    el punto que en este momento quien no posea un procesador de este
    tipo, está seriamente atrasado y no puede trabajar con
    garantías con los programas que actualmente hay en el
    mercado. Algo que ha venido a demostrar la aparición del
    nuevo sistema operativo
    de Microsoft Windows 95, que aunque funciona en equipos dotados
    de un procesador 486, lo hace sin sacar el máximo partido
    de sus funciones.

     Pentium Pro y Pentium II

    La aparición, el 27 de marzo de 1995, del
    procesador Pentium Pro supuso para los servidores de
    red y las
    estaciones de trabajo un aire nuevo, tal y como ocurriera con el
    Pentium en el ámbito doméstico. La potencia de este
    nuevo procesador no tenía comparación hasta
    entonces, gracias a la arquitectura de 64 bits y el empleo de una
    tecnología revolucionaria como es la de .32 micras, lo que
    permitía la inclusión de cinco millones y medio de
    transistores en su interior. El procesador contaba con un segundo
    chip en el mismo encapsulado, que se encargaba de mejorar la
    velocidad de la memoria caché, lo que resultaba en un
    incremento del rendimiento sustancioso. Las frecuencias de reloj
    se mantenían como límite por arriba en 200 MHz,
    partiendo de un mínimo de 150 MHz.

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    Un procesador que en principio no tiene muchos visos de
    saltar al mercado doméstico, puesto que los procesadores
    Pentium MMX parecen cubrir de momento todas las necesidades en
    este campo. No podemos asegurar que en un futuro cercano esto no
    acabe ocurriendo, pues en el mundo de la informática han
    sucedido las cosas más extrañas, y nunca se sabe
    por dónde puede tirar un mercado en constante
    evolución.

    Una evolución que demostró Intel hace muy
    poco con un nuevo procesador, denominado Pentium II, que viene a
    ser simplemente un nuevo ingenio que suma las tecnologías
    del Pentium Pro con el MMX. Como resultado, el Pentium II es el
    procesador más rápido de cuantos ha comercializado
    Intel. Por el momento únicamente se dispone de las
    versiones a 233 y 266 MHz, pero después de este verano
    podremos disfrutar de la versión de 300 MHz, que
    supondrá un nuevo récord de velocidad de reloj. El
    Pentium II, cuyas características fueron tratadas con
    detalle en el artículo de portada del pasado mes de la
    revista, es hoy (por poco tiempo) el extremo de la cadena
    evolutiva de Intel.

     El futuro de los
    microprocesadores

    La evolución que están sufriendo los
    procesadores es algo que no parece escapar a la atención de millones de personas, cuyo
    trabajo depende de hasta dónde sean capaces de llegar los
    ingenieros de Intel a la hora de desarrollar nuevos chips. El
    último paso conocido ha sido la implementación de
    la nueva arquitectura de 0.25 micras, que viene a sustituir de
    forma rotunda la empleada hasta el momento, de 0.35 micras en los
    últimos modelos de
    procesador. Esto va a significar varias cosas en un futuro no muy
    lejano. Para empezar, la velocidad se incrementará una
    media del 33 por ciento con respecto a la generación de
    anterior. Es decir, el mismo procesador usando esta nueva
    tecnología puede ir un 33 por ciento más
    rápido que el anterior. Para que os podáis hacer
    una idea del tamaño de esta tecnología, deciros que
    el valor de 0.25 micras es unas 400 veces más
    pequeño que un pelo de cualquier persona. Y este
    tamaño es el que tienen los transistores que componen el
    procesador. El transistor, como muchos sabréis, permite el
    paso de la corriente eléctrica, de modo que en
    función de en qué transistores haya corriente, el
    ordenador realiza las cosas (esto es una simplificación de
    la realidad, pero se ajusta a ella más o menos). Dicha
    corriente eléctrica circula entre dos puntos, de modo que
    cuanto menor sea esta distancia, más cantidad de veces
    podrá pasar pues el tiempo de paso es menor. Aunque
    estamos hablando de millonésimas de segundo, tened en
    cuenta que un procesador está trabajando continuamente, de
    modo que ese tiempo que parece insignificante cuando es sumado a
    lo largo de las miles de millones de instrucciones que realizar,
    nos puede dar una cantidad de tiempo bastante importante. De modo
    que la tecnología que se utilice puede dar resultados
    totalmente distintos incluso utilizando el mismo
    procesador.

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    Por el momento, en un futuro cercano además de
    contar con la arquitectura de 0.25 micras, podremos disfrutar de
    duna de 0.07 para el año 2011, lo que supondrá la
    introducción en el procesador de mil millones de
    transistores y alcanzando una velocidad de reloj cercana a los
    10000 MHz, es decir, 10 GHz.

     La tecnología MMX

    Aunque no podamos considerar la tecnología MMX
    como un procesador en sí mismo, sería injusto no
    hablar de ella en un informe como éste. Es uno de los
    mayores pasos que ha dado Intel en la presente década, y
    según ellos mismos, todos los procesadores que fabriquen a
    partir de mediados del próximo año llevarán
    incorporada esta arquitectura. Para su desarrollo se analizaron
    un amplio rango de programas para determinar el funcionamiento de
    diferentes tareas: algoritmos de
    descompresión de vídeo, audio o gráficos, formas de reconocimiento del
    habla o proceso de imágenes,
    etc. El análisis dio como resultado que numerosos
    algoritmos usaban ciclos repetitivos que ocupaban menos del 10%
    del código del programa, pero que en la práctica
    suponían el 90% del tiempo de ejecución. De modo
    que nació la tecnología MMX, compuesta por 57
    instrucciones y 4 tipos de datos
    nuevos, que se encargan de realizar esos trabajos cíclicos
    consumiendo mucho menos tiempo de ejecución. Antes, para
    manipular 8 bytes de datos gráficos requería 8
    repeticiones de la misma instrucción; ahora, con la nueva
    tecnología, se puede utilizar una única
    instrucción aplicada a los 8 bytes simultáneamente,
    obteniendo de este modo un incremento del rendimiento de
    8x.

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    INTEL

    Desde la aparición del 8088 hace los principios de
    funcionamiento de los micros no se han modificado mucho, a pesar
    de que ahora se ha llegado a la quinta generación de estos
    chips y se ha profundizado en todo lo referente a las prestaciones,
    en tema en los que hace diez años uno ni tan sólo
    se atrevía a soñar. De todas maneras estas
    modificaciones se refieren especialmente a la velocidad de
    trabajo del procesador con el cual se maneja el DOS, no al
    concepto básico, por lo menos en lo referente al modo
    real.

    Echemos de todas formas, en primer lugar, un vistazo a
    la historia del desarrollo de los procesadores Intel.

    La tarea del procesador es la de tratar las series de
    órdenes en lenguaje
    máquina, pues el lenguaje
    máquina es el único que entiende el procesador. Las
    instrucciones en el lenguaje máquina no son exactamente
    iguales para todos los ordenadores, sino que solo son validas
    para el tipo de microprocesador en cuestión. Los
    diferentes miembros de la familia
    80xxx trabajan sin embargo con el mismo lenguaje máquina,
    lo que permite que estos sean compatibles entre ellos.

    El primer representante de esta familia, el 8086, se
    desarrollo ya en el año 1978. Sus sucesores fueron
    modificados de muchas maneras, y en parte fueron modificados de
    forma radical, pero sin perder la compatibilidad con los
    anteriores. En el caso del 8088 esto significó un paso
    hacia atrás, ya que si bien el 8088 disponía del
    mismo grupo de instrucciones y la misma estructura interna que el
    8086, se comunicaba con la memoria mediante un bus de datos de 8
    bits, en lugar de 16 bits.

    El resto de miembros de esta familia, son desarrollos
    posteriores del 8086. De manera que por ejemplo el 80186 dispone
    de nuevas funciones adicionales, mientras que al 80286 se le
    crearon mas registros en comparación al 8086, así
    como también se le amplió el área de
    direcciones. La novedad mas decisiva del 80286 respecto a sus
    predecesores la representa el modo protegido, que sin embargo no
    puede utilizarse con el DOS.

    Al 80286 le siguió el 80386, que marcó un
    notable salto en la capacidad de rendimiento. Continuó
    desarrollando el modo protegido y fue el primero de disponer de
    un procesador Intel de registros de 32 bits, que sin embargo no
    pudo utilizarse correctamente en la programación del DOS. Este procesador
    existe también en una versión SX y DX, que se
    diferencian únicamente en la frecuencia y en el
    tamaño del bus de dato; el SX trabaja con un bus de datos
    de 16 bits, mientras que el DX puede transmitir de una sola vez
    una palabra de 32 bits mediante su bus.

    El micro que sigue al 80386, también llamado
    "i486" es el 80486. Este se distingue especialmente del 80386 por
    la integración del coprocesador
    numérico 80387, por la preparación de un
    código-caché y el tratamiento más
    rápido de muchas instrucciones en lenguaje máquina,
    siendo también compatible con el 8086.

    El hito técnico actual lo marca el procesador
    Pentium que ha mejorado la velocidad de proceso interna en
    relación con el 486. En determinadas situaciones el
    procesador esta en situación de procesar dos ordenes
    consecutivas al mismo tiempo, siempre y cuando la segunda no
    dependa del resultado de la primera. 

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    También la denominación en nueva en el
    Pentium puesto que se esperaba que tras el 80486 el sucesor se
    denominaría 80586. Intel sin embargo rompió con la
    tradición puesto que nombres como 8088 o 80486
    no

    pueden ser patentados. Esto lo aprovecharon durante
    largo tiempo otros fabricantes de estos componentes para
    distribuir procesadores compatibles con Intel, con otros nombres
    parecidos.

      REGISTROS DEL PROCESADOR

    En el centro de todos los procesadores se encuentran sus
    registros, "variables de hardware", en los cuales pueden cargarse
    datos de la memoria, tratarlos allí con l a ayuda de las
    instrucciones del lenguaje máquina y finalmente volverlos
    a escribir en la memoria. Esto es mucho más rápido
    que la manipulación de información dentro de la
    memoria, ya que los registros se evacuan directamente en el
    procesador y por lo tanto no es necesario acceder al bus para
    poner su contenido a disposición de las instrucciones en
    lenguaje máquina. Por esta razón los registros del
    procesador juegan un papel muy importante para la
    programación del sistema, ya que es mediante estos
    registros que se desarrollan el flujo de información entre
    un programa y las funciones del DOS y BIOS que este
    llama.

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

    Todos los registros tienen un tamaño de 16 bits
    (2 bytes). Así pueden registrar un valor entre 0 y 65535
    (111111111111111b, o FFFFh).

    El Procesador 386

    El microprocesador 386 (también conocido como 386
    DX) supone un paso muy importante frente al 286. Hasta entonces,
    tanto los micros 8088 y 8086 como el 286 eran microprocesadores
    de 16 bits; trabajaban con 16 bits a la vez en cada ciclo de
    reloj. Por el contrario, el 386 es un microprocesador de 32 bits,
    que procesa 32 bits simultáneamente en cada ciclo de
    reloj. Los ordenadores 386 tienen una velocidad desde 16 a 50
    Mhz.

    El bus de direcciones del 386 tiene 32 bits. Con 32 bits
    se pueden redireccionar 232 celdas de memoria lo que
    equivale a 4096 MB. También en este caso los primeros 1024
    k se reparten como los micros 80886 y 286: 640k de memoria
    convencional y los 364k restantes de memoria superior.

    El microprocesador 80386 esta diseñado para
    soportar aquellos sistemas operativos optimizados para
    multitarea. El micro 80386 es capaz de direccionar hasta 4
    gigabytes de memoria física y 64
    tetrabytes de memoria virtual. La gestión
    de memoria integrada y arquitectura de protección incluye
    registros de traducción de direcciones y mecanismo de
    protección para soportar sistemas
    operativos y hardware avanzado de multitarea.

    El transvase entre instrucciones – pipelining -, una
    elevada anchura del bus y una traducción de direcciones en
    la pastilla acortan significativamente el tiempo medio de
    ejecución de la instrucción, manteniendo un alto
    rendimiento del sistema. Estas características de
    diseño de arquitectura habilitan al 80386 a ejecutar
    instrucciones a una frecuencia de 3 a 4 millones por
    segundo.

    Características adicionales se incluyen autotest,
    acceso directo a la memoria interna (cache) donde se realiza la
    traducción de página y cuatro nuevos registros de
    "Breakpoint". El 80386 tiene el código objeto compatible
    con el 8086, 8088 y 80286.

     El procesador 386SX

    Los microprocesadores 386SX aparecieron después
    que el 386 como una solución intermedia en precio y
    prestaciones entre el 286 y el 386. Los micros 386 puros (386DX)
    necesitan a su alrededor una circuiteria de 32 bits, mientras que
    los SX necesitan una circuiteria de 16 bits, mucho mas barata. De
    esta forma, los fabricantes podían utilizar todos los
    componentes y la circuitería de 16 bits que usaban para un
    286, pero ahora incorporando un microprocesador de 32
    bits.

    La diferencia entre un ordenador 386DX y un ordenador
    386SX se percibe en la velocidad del ordenador, pero desde el
    punto de vista de las aplicaciones que se pueden ejecutar, es
    totalmente, indiferente tener un microprocesador 386DX que un
    386SX.

     El procesador 386SL

    El microprocesador 386SL es equivalente al 386SX con la
    particularidad de estar diseñado especialmente para los
    ordenadores portátiles, cuidando sus especiales
    necesidades de baja potencia y consumo. El
    386SL posee un modo sleep que utiliza menso energía
    durante su funcionamiento. Además, existen nuevos recursos para
    poder minimizar el funcionamiento del ordenador (el consumo de
    energía) cuando no se utiliza. El resultado es que la
    batería puede doblar su tiempo en un portátil con
    386SL frente a un 386SX. Los microprocesadores 386SL sólo
    se utilizan en portátiles y notebooks y, hoy en
    día, son los únicos microprocesadores 386 en los
    que continúa desarrollando y trabajando.

     Tipos de datos

    La pastilla microprocesadora 80386 soporta varios tipos
    de datos además de los soportados por sus predecesores
    (80×86). Soporta enteros con signo y sin signo de 32 bits y
    campos de bits de 1 a 32 bits de

    longitud. También soporta los tipos de punteros
    estándares, así como un puntero de desplazamiento
    de 32 bits y un puntero completo de 48 bits.

     Otros registros de 32 bits (ESI, EDI, EBP, ESP) no
    se pueden dividir en registros de 16 bits. Por otra parte, el
    puntero de instrucciones EIP, también es un registro de 32
    bits, cuyo contenido se modifica dependiendo de los cambios que
    experimente el flujo del programa que el procesador ejecute. Por
    lo tanto, EIP se modifica implícitamente mediante
    instrucciones en código máquina.

    ARQUITECTURA
    BASE

    La pastilla microprocesadora 80386 proporciona al
    programador 32 registros. Estos 32 registros pueden ser divididos
    en siete categorías principales.

    – Registros de propósito general

    – Registros de segmentos

    – Puntero de instrucción y
    señalizaciones

    – Registros de control

    – Registros de direcciones del sistema

    – Registros de test.

    Estos registros son un superconjunto de los registros
    del 8086 y el 80286; además, todos los registros de 16
    bits del 8086 y el 80286 están contenidos en el
    microprocesador 80386 de 32 bits.

     REGISTROS DE PROPOSITO GENERAL

    Los ocho registros de propósito general se
    utilizan de forma análoga a los ocho registros de
    propósito general asociados al 80286, excepto que los
    registros tienen ahora 32 bits. Estos registros son capaces de
    soportar operandos de datos de 1, 8, 16 y 32 bits y campos de
    bits de 1 a 32 bits. Los ocho registros son el EAX (acumulador),
    EBX (base), ECX (contador), EDX (datos), ESP (puntero de pila),
    EBP (puntero base), ESI (índice fuente) y EDI
    (índice destino).

    Para acceder a los 32 bits de un registro, todas las
    referencias del registro deben comenzar "E". Cada uno de los ocho
    registros de propósito general puede ser descompuesto en
    sus equivalentes de 16 bits del 8086/80286 referenciando los
    registros sin usar el prefijo "E".

     REGISTOS DE SEGMENTOS

    El microprocesador 80386 contiene seis registros
    segmento de 16 bits. Los seis registros segmento mantiene
    los valores
    del selector en las posiciones de memoria actualmente
    direccionables. En modo de dirección real, un segmento
    puede variar desde 1 byte hasta un tamaño de segmento
    máximo de 64 bytes, o 216. El direccionamiento
    en modo protegido habilita rangos de segmento desde 1 byte hasta
    un máximo de 4 gigabytes, o 232
    bytes.

    Para ver el gráfico seleccione la
    opción "Descargar" del menú superior

     Tecnologías Paralelas
    (1)

     COPROCESADOR MATEMÁTICO

    OVERDRIVE

    PROCESADOR Pentium

     CELERON

    Xeon

     Pentium III:

    Pentium IV

    AMD

    Historia de AMD

    RETROSPECTIVA

    Tipos de Microprocesadores:

    K5:

    K6:

    K6-2:

     CYRIX

    6×86:

     6x86MX:

     MII:

     IDT

    WINCHIP C6

    WINCHIP C6+

    WINCHIP 2- 3D

    IBM:

    Zócalo: (1)

    Anexos:
    (1)

    Noticias: El nuevo AMD es un triunfador

    (1) Para ver
    el texto completo seleccione la opción "Descargar" del
    menú superior

     Maria
    Esther

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter