You are on page 1of 16

Estructura Básica de un Sistema Programable Basado en Procesador - Jorge Iván Marín H.

1

ESTRUCTURA BÁSICA DE UN SISTEMA PROGRAMABLE BASADO EN PROCESADOR Dentro de los sistemas lógicos programables, los dispositivos lógicos programables (PLD: Programmable Logic Device) permiten implementar sistemas digitales a través de la interconexión de compuertas internas dentro del circuito integrado, haciendo que el sistema se comporte como un chip dedicado. Los procesadores por su parte, son sistemas orientados a programa almacenado, por lo que se tratan de una arquitectura genérica cuyo comportamiento se rige por una serie de códigos de máquina almacenadas en una memoria. Para programar los PLDs se emplean lenguajes de descripción de hardware (HDL: Hardware Description Language) como el ABEL o el VHDL, que después de una síntesis e implementación se traduce a una especificación que indica como se debe hacer las conexiones dentro del chip (Figura 1).
VHDL
entity app is port (x, y: in bit; q: out bit ); end app;

Figura 1

Herramienta de síntesis

En los sistemas basados en procesador, su programación se .jed PLD especificación de puede hacer en lenguajes de alto nivel como el C, BASIC, conexiones etc., o a bajo nivel en ensamblador. Los compiladores o ensambladores se encargan de convertir la especificación en palabras en un conjunto de números binarios llamados códigos o instrucciones de máquina, las cuales se almacenan en una memoria en lugar de fijarse en forma de conexiones como ocurre en los PLD (Figura 2).

C
void main(){ int x; printf("x=");

Ensamblador
in ax,300h add ax,bx mov cx,10 rep

Figura 2

buses

procesador

E/S
memoria

Compilador y/o ensamblador .exe .hex códigos de máquina

Para que un procesador se realmente práctico, requiere de la interconexión de varios dispositivos externos tales como memorias e interfaces de entrada/salida, acoplados a través de un conjunto de buses de interconexión. De esta forma un sistema basado en procesador se puede ver como un sistema que intercambia y procesa datos entre la memoria y los dispositivos de entrada/salida. Por esta razón, gran parte del conjunto de instrucciones de un procesador se dedica a movimientos de datos entre la memoria y el procesador, o entre el procesador y los periféricos.

Arquitectura de Procesadores I - Universidad del Quindío

Estructura Básica de un Sistema Programable Basado en Procesador . Diseño superescalar. los de Intel. Inició la filosofía de compatibilidad de Hardware con el software escrito para modelos anteriores. Segunda Generación Tercera Generación Cuarta Generación Quinta Generación 1958-1964 1965-1971 Transistores Circuitos Integrados Gran Integración (LSI) Alta Integración (VLSI) 200. Pentium Pro + MMX (Single Instruction Multiple Data) Pentium III. El microprocesador se anticipa ante el software y predice las ramas o grupos de instrucciones a ejecutar. Compendio de instrucciones SIMD Pentium II (1997). el µP puede ejecutar instrucciones antes de que aparezcan. • Predicción de bifurcación. Aplicación Militar. 8 bits. El primer microprocesador. que iniciaron el auge de la arquitectura CISC (Complete Instruction Set Computer: Conjunto Completo de Instrucciones).000 1’000. Instrucciones de punto flotante para gráficos 3D Pentium IV (2001). Sentó las bases de la arquitectura Neumann. Técnicas de Ejecución Especulativa.8 bits. y los de IBM/Motorola/Apple.000 1978 - >100’000. • UNIVAC (Universal Automatic Computer): 1950 Primer Computador Comercial. Soporte de multitarea Pentium (1993). • Ejecución Especulativa. RISC MMX: Extensiones Multimedia Pentium Pro (1995). Estado del Arte: • Arquitectura Superescalar • Memoria Caché en el chip. El procesador usado en el primer IBM PC 80386 (1985). el PowerPC. (1999). Empleado en el Censo. que popularizo la arquitectura RISC (Reduced Instruction Set Computer: Conjunto Reducido de Instrucciones) (1991). primer computador personal 8086 (1978). Haciendo uso de la predicción de bifurcación y el análisis de flujo de datos. Usado en el Altair. Aplicación Específica 8008 (1972).000 1972-1977 10’000.000 • ENIAC (Electronic Numerical Integrator And Computer). 1.Universidad del Quindío .Jorge Iván Marín H. Primer microprocesador de uso general.000 De las diferentes familias de microprocesadores actuales hay 2 grandes. 64 bits. BREVE HISTORIA DE LOS COMPUTADORES Fecha Tecnología Velocidad (Operaciones por segundo) Comentarios 2 Primera Generación 1946-1957 Válvulas 40. 4 bits. Arquitectura de Procesadores I . Aplicación Específica 8080 (1974). Evolución de la Familia de Microprocesadores Intel 4004 (1971). Mejoras para desempeño multimedia Itanium. 32 bits. 16 bits. Analiza las dependencias de las instrucciones y ordena su ejecución. • Análisis de Flujo de Datos. • • • • Memorias de Núcleos Magnéticos Memorias de Núcleos Magnéticos Memorias Semiconductoras (1970) por Fairchild Aparición del microprocesador Intel 4004 (1971).

Por su parte. ARQUITECTURA NEUMANN 3 Concebida en 1945 por John von Neumann para el desarrollo del ENIAC (Primer computador electrónico de la historia) y cuya filosofía se mantiene hasta el momento para el diseño de sistemas lógicos programables. Arquitectura de Procesadores I . procesador. siempre lo realiza el procesador. los computadores modernos conservan muchas características de la arquitectura original de Neumann.Universidad del Quindío . tales como la memoria compartida para datos e instrucciones. y si la transferencia se realiza desde el procesador hacia la memoria/periférico o desde la memoria/periférico hacia el procesador. Estructura original de Computador de von Neumann (IAS) Aunque la estructura actual ha cambiado (Figura 4). junto con otros componentes básicos se agrupan en lo que se denomina CPU (Central Processing Unit: Unidad Central de Procesamiento) o en términos más familiares. Se presentan a continuación las posibles transferencias sobre el bus y la terminología asociada a cada una de ellas. por el bus de control. Por esta razón. 2. De la arquitectura original. Dispositivos de E/S ALU Memoria Principal CPU Buses del Sistema Memoria Principal Dispositivos de E/S Unidad de control de programa Bus de Datos Bus de Direcciones Bus de Control Figura 4. Interpreta las instrucciones en memoria y realiza su ejecución. El bus de direcciones se emplea para seleccionar una posición particular de la memoria principal o uno de los tantos dispositivos de entrada/salida presentes en el sistema. El control del flujo de la información que viaja por el bus de datos. memoria y dispositivos de entrada/salida. la ALU y la unidad control. Estructura Actual de un sistema lógico Programado Figura 3.Estructura Básica de un Sistema Programable Basado en Procesador . la CPU. el procesador-E/S o memoria-E/S. comparten el mismo medio de comunicación. Componentes básicos del sistema (Figura 3): • Memoria principal para datos e instrucciones • Unidad Aritmético Lógica (Arithmetic-Logic Unit: ALU) • Unidad de Control. • Dispositivos de Entrada Salida (E/S). soportado en el bus de direcciones y el bus de control. el diálogo entre los diferentes componentes del sistema se puede hacer únicamente entre: el procesador-memoria. y el concepto de programa almacenado. La idea se conoce con el nombre de concepto de programa almacenado.Jorge Iván Marín H. Nótese que en la arquitectura actual. denominado buses del sistema. el procesador se encargada de establecer si la dirección presente en el bus de direcciones corresponde a una zona de memoria o al identificador de un dispositivos de E/S.

En el ejemplo.Jorge Iván Marín H. y dicho número se almacena en la posición de memoria 200h. para lo cual el procesador "interrumpe" La memoria se desconectan del bus de datos (salidas en Hi-Z) CPU 64h Memoria Principal Dispositivos de E/S Datos Direcciones Control 0h Selecciona escritura en periférico Arquitectura de Procesadores I . Las transferencias de este tipo pueden ser de dos categorías: entrada/salida programada o polling. En este caso. 4 a) Instrucción de Carga. En el primer caso. CPU 23h Memoria Principal Dispositivos de E/S Todos los periféricos se desconectan del bus de datos (salidas en Hi-Z) Datos Direcciones Control 200h Selecciona escritura en memoria c) Instrucción de entrada/salida. El número 67h presente en el bus de datos es colocado por la memoria. En el ejemplo. el procesador escribe el número 64h en el dispositivo identificado con el código 0h.Universidad del Quindío .Estructura Básica de un Sistema Programable Basado en Procesador . el procesador lee la posición de memoria 100h. el procesador es quien inicia la transferencia y en el segundo. es el procesador quien escribe el número 23h en el bus de datos. la memoria es quien se desconecta del bus de datos. Puede ser de lectura o escritura sobre el periférico. es el dispositivo es quien le informa al procesador que lo debe atender. pues este valor se ubica en dicha dirección. CPU 67h Memoria Principal Dispositivos de E/S Datos Direcciones Control Todos los periféricos se desconectan del bus de datos (salidas en Hi-Z) porque se enteran a través del valor del bus de direcciones y señales del bus de control que no están hablando con ellos. o entrada/salida por interrupción. En este caso. 100h Selecciona lectura de memoria b) Instrucción de Almacenamiento.

desplazadores de bits y banderas de estado. 5 d) Entrada/salida por acceso directo a memoria DMA (Direct Memory Access). La Unidad Central de Procesamiento CPU Arquitectura de Procesadores I .Jorge Iván Marín H. en la estructura de Neumann moderna. or y not. y b) controlar el comportamiento de la CPU y del flujo del programa. and. indican si el número resultante fue negativo. El bloque lógica aritmética y booleana se encarga de realizar únicamente las operaciones de suma. por ejemplo. la CPU posee internamente la ALU y la unidad de control.Universidad del Quindío . Se incluyen también bloques complementadores. usados básicamente para dos fines: a) servir de memorias temporales en las instrucciones de carga/almacenamiento o en las operaciones matemáticas. el microprocesador se desconecta de los buses. y desde la aparición de los primeros microprocesadores.Estructura Básica de un Sistema Programable Basado en Procesador . En la Figura 5 se muestran los elementos mínimos constitutivos de una CPU. Este es un tipo especial de transferencia de datos en la cual el periférico solicita a la CPU la transferencia. ante lo cual. ya que los datos no tienen que pasar por el procesador para ir desde la memoria hacia algún periférico. cero u otra situación. estas últimas se usan para indicar el "estado" de la última operación realizada en la ALU. registros internos. Unidad aritmético-lógica ALU Banderas de estado Desplazador Complementador Bus interno de la CPU Registros Lógica aritmética y booleana Unidad de Control Caminos de datos Caminos de control Figura 5. El procesador se desconecta de los buses dejando que el periférico se encargue de la transferencia CPU Memoria Principal Dispositivos de E/S Datos Direcciones Selecciona escritura en memoria por DMA Control Como se comentó anteriormente. direcciones y control para leer o escribir datos en la memoria. Este tipo de transferencia permite las velocidades de transferencia más altas. y el dispositivo de E/S se encarga de manipular el bus de datos.

tales como las instrucciones tipo SIMD (Single Instruction Multiple Data: Instrucción simple para múltiples datos) de la tecnología MMX. Comentarios Mayor Flexibilidad en la Ampliación de Memoria La Ampliación de la Memoria no es tan directa. es posible acceder a los datos e instrucciones simultáneamente. Preguntas: • ¿Qué razones justifican colocar dentro de la ALU mínima un circuito complementador? • Además de desplazar. Menor velocidad en el procesamiento. que consiste en particionar la unidad de control y ALU en entidades más pequeñas que permiten ejecutar varias instrucciones simultáneamente.Estructura Básica de un Sistema Programable Basado en Procesador . ¿Qué otra función cumple el circuito desplazador dentro de la ALU? 3. en cambio en la Hardvard. Arquitectura Harvard Memorias Independientes para almacenar las Instrucciones y los Datos Mayor velocidad en el procesamiento.Universidad del Quindío . Arquitectura Neumann Memoria Principal compartida para el almacenamiento de las Instrucciones y los Datos. Debido a que en la arquitectura Neumann la memoria es compartida. las cuales difieren de la forma como manipulan la memoria. instrucciones orientadas a operar sobre vectores. solamente se puede acceder (leer o escribir) a la vez una instrucción o un dato.Jorge Iván Marín H. ARQUITECTURA HARDVARD Existe un tipo de arquitectura diferente a la Neumann. y un diseño superescalar. En la arqutecura Neumann. al ampliar la memoria principal se amplía tanto la memoria de instrucciones como la de datos. 6 Los microprocesadores modernos tienen la capacidad de cómputo de cantidades flotantes al contar con un coprocesador matemático interno. CPU Memoria de programa Memoria de datos Dispositivos de E/S Bus de Programa Bus de Datos Bus de E/S Bus de Direcciones de Programa Bus de Direcciones de Datos Bus de Direcciones de E/S Bus de Control Arquitectura de Procesadores I . memoria caché interna. denominada Arquitectura Harvard (Figura 6).

memoria y dispositivos de E/S en un solo chip) y procesadores digitales de señales (DSP). cuando una E/S termina su operación de lectura o escritura debe habilitar éste pin para indicarle al µP que puede continuar con la ejecución de la siguiente instrucción. Se pone en cero cuando va a acceder a la memoria principal. Arquitectura Hardvard 7 Por particularidades de velocidad. Líneas típicas de un Bus del Sistema IO/MEM à Se coloca en 1 cuando la operación de lectura o escritura es sobre algún dispositivo de entrada/salida.. está última condición esta determinada por IO/MEM. INTR à Es la línea de petición de interrupción..Universidad del Quindío Microprocesador de 8 bits . RD (Read) à Activa en bajo. Ready à Empleada para sincronizar el microprocesador (µP) con las memorias o dispositivos de E/S más lentos que él. LOS BUSES Líneas Típicas de un Bus. Usada en transferencias desde algún periférico hacia la CPU..Jorge Iván Marín H. Entre sus aplicaciones están.Estructura Básica de un Sistema Programable Basado en Procesador . el desarrollo de controles digitales de electrodomésticos hasta teléfonos celulares. las líneas de reinicio del µP y la confirmación de que el µP se ha reiniciado. dado a que este tipo de procesadores se emplean en el diseño de sistemas de bajo costo. tamaño y/o aplicaciones que requieran poca memoria pero alta velocidad de ejecución (tiempo-real). Por su parte la arquitectura Neumann se emplea extensivamente en el diseño de sistemas de cómputo de alto volumen de información. 4. Figura 6. Por esta línea el dispositivo de E/S le indica al µP que tiene o requiere de un dato. las limitaciones en la ampliación de memoria y a la gran cantidad del número de buses independientes. D7 A0 A1 . Reset in/Reset out àSon respectivamente. Descripción de los Pines del Bus de Control D0 D1 . En la siguiente Figura se muestra el conjunto de líneas de un microprocesador de propósito general de 8 bits y su respectiva función. Algunos microprocesadores tienen fusionada la línea WE y RD en una sola llamada R/W. la arquitectura Hardvard ha sido adoptada principalmente en el diseño de microcontroladores (reunión de una CPU. WE (Write)à Al activarse en bajo indica que se realizará una operación de escritura ya sea en la memoria o E/S. Arquitectura de Procesadores I . indica que se realizará una operación de lectura de la memoria o la E/S. A15 ____ IO/MEM WE RD Ready Reset in Reset out INTR 8 Bus de Datos 16 Bus de Direcciones Bus de Control Figura 7. Por ejemplo. siendo empleada en aplicaciones que van desde un computador de escritorio hasta grandes servidores y supercomputadoras.. ante lo cual el µP ejecuta un conjunto de instrucciones encaminadas a atender el dispositivo. En la Figura 8 y 9 se presentan otro tipo de configuraciones para el bus de control.

MEMW.. Las líneas IOR e IOW.... es la línea MEMW la que se pone en bajo.. lo cual se consigue conectando un latch (registro de datos) a la salida del bus de datos (Figura 10).A8 la parte alta de la dirección. 8 D0 Q0 ... RD y WE no existen. AD7 ALE A8 . las líneas del bus de datos (AD7. Si se hace un análisis de estas líneas.AD0) se comportan como el bus de datos normal. y en su lugar se han sustituido por MEMR.. Este esquema de bus fue empleado para el empaquetamiento de los primeros microprocesadores de 8bits en encapsulados de 40 pines.Jorge Iván Marín H..A0) y las 8 líneas etiquetadas como A15.. RD y WE del primer modelo. Nótese que las líneas del bus de direcciones se ha reducido a tan solo 8 y se incluye una nueva línea denominada ALE (Address Latch Enable: Habilitador del registro de direcciones). . A15 Bus de Datos Figura 10. A15 ALE IO/MEM RD WE Ready Reset in Reset out INTR Figura 9 8 Este esquema se conoce con el nombre de bus multiplexado. las líneas IO/MEM.. A15 ______ MEMR MEMW IOR IOW Ready Reset in Reset out INTR Figura 8 16 8 En este esquema..Estructura Básica de un Sistema Programable Basado en Procesador . se encuentra en correspondencia con las IO/MEM.. AD7 A8 . Para poder usar el bus de datos y direcciones correctamente. cumplen las mismas funciones que MEMR y MEMW. todas activas bajas. el siguiente conjunto de ecuaciones: MEMR = IO/MEM + RD MEMW = IO/MEM + WE IOR = (IO/MEM)' + RD IOW = (IO/MEM)' + WE 8 AD0 . se hace necesario demultiplexar el bus. D7 A0 .Universidad del Quindío . estas líneas contienen la parte baja de la dirección (A7.. D7 Q7 CLK 8 8 Bus de Direcciones AD0 . para realizar una escritura... Cuando ALE = 1.. IOR e IOW. pero cuando la operación es sobre algún dispositivo de entrada/salida. 8 D0 ..... Demultiplexación de los buses de datos y direcciones Arquitectura de Procesadores I .. Cuando MEMR está en bajo indica que se está realizando una operación de lectura con la memoria exclusivamente. Cuando la línea ALE = 0. En caso contrario. De estas cuatro líneas solamente una está activa a la vez.

y le hemos asignado como dirección la 1h. Arquitectura de Procesadores I . al cual vamos a conectar una memoria RAM de 16 bytes y dos puertos. 9 Cableado de un Bus.Estructura Básica de un Sistema Programable Basado en Procesador . en lugar de usar un simple registro de almacenamiento como se hizo para el puerto de escritura? 8 Dec. y le conectamos 4 suiches. un buffer triestado.Universidad del Quindío . Problemas: • Realizar el cableado de los respectivos buses • ¿Por qué se emplea un buffer tri-estado como puerto de lectura. Hexadecimal a 7 segmentos Memoria RAM D0 D1 D2 D3 A0 A1 A2 A3 ___ R/W CS Registro D0 D1 D2 D3 ___ OE D0 D1 D2 D3 A0 A1 A2 A3 ____ IO/MEM WE RD Ready Figura 11 La realización del cableado del sistema mínimo se consigue por medio de lógica combinacional que hace uso del bus de direcciones y bus de control como señales de entrada y cuyas salida son las entradas de Chip Select (CS). al que le hemos conectado un decodificador Hexadecimal a 7 segmentos.Jorge Iván Marín H. le hemos asignado la dirección de puerto #0. reloj (CLK) o habilitadores de salida (OE) de los diferentes dispositivos que componen el sistema. Estos circuitos combinacionales se denominan comúnmente decodificadores de dirección. El puerto de escritura se trata de un registro de almacenamiento. Al puerto de lectura. Supongamos que tenemos un microprocesador de 4 bits con la estructura de líneas del bus de control de la Figura 7.

#puerto OUT A.Estructura Básica de un Sistema Programable Basado en Procesador .1h JMP INICIO 0 1 2 3 4 5 6 7 4 0 3 5 5 1 6 0 Códigos de Operación Arquitectura de Procesadores I . supongamos que el procesador realizará el siguiente programa: Inicio: A = Valor leído de los suiches B = 5 Sumar A y B Poner el resultado de la suma en el display Volver a la etiqueta Inicio El programa anterior quedaría codificado con el conjunto mínimo de instrucciones de la siguiente forma: INICIO: IN A. • Un registro donde se almacena el valor de la última instrucción leída. en otras palabras. Se llama Registro de Instrucción (IR = Instruction Register) Consideremos también el siguiente conjunto mínimo de instrucciones para el microprocesador: Nemónico LOAD A. dir Ahora. la instrucción a ejecutar.(dir) LOAD A. se considerará una CPU hipotética de 4 bits y el montaje de la Figura 11. Se llama Contador de Programa (PC = Program Counter).0h ADD A. Para la CPU hipotética.Universidad del Quindío Dirección en la memoria .(dir) Código de operación 0h 1h 2h 3h 4h 5h 6h 7h 8h Descripción Carga el acumulador con el valor especificado en dato.5 OUT A.(dir) ADD A.A ADD A.Jorge Iván Marín H.dato IN A.#puerto JMP dir ADD A. Almacena el contenido del acumulador en la dirección de memoria dir. Realiza la operación AC = AC*2 Realiza la operación AC = AC + dato Carga en el acumulador el valor del dispositivo de E/S con dirección #puerto Envía el contenido del acumulador al dispositivo de E/S con dirección #puerto Salta a la dirección de memoria dir Realiza la operación AC = AC+contenido de la dirección de memoria dir Carga el acumulador con el valor especificado en la dirección de mem. 10 Funcionamiento de un Bus Para ilustrar el funcionamiento de un sistema basado en procesador y en particular sobre su bus.dato STORE A. se tendrá en cuenta que todas las CPUs tiene en su interior como mínimo los siguientes registros: • Un registro llamado acumulador (AC) donde almacenan temporalmente datos o el resultado de las operaciones aritméticas y lógicas. • Un registro que indica la dirección de memoria donde se encuentra la próxima instrucción a ejecutar.

Jorge Iván Marín H. Dec. RD=0 y WE=1. Paso siguiente. D3 0 0 Buffer Triestado CS D0 . Dir.A no requiere operandos y solamente ocupa una celda de memoria.Estructura Básica de un Sistema Programable Basado en Procesador . este carga el contador de programa en cero (PC = 0)... Dir. y coloca las señales IO/MEM=0..D3 A0 . la instrucción ADD A. A3 ____ IO/MEM WE RD 0 1 0 4 0 Œ • Dec. Dir. Analicemos a continuación la ejecución del programa... 11 Nótese de la disposición de las instrucciones en la memoria que cada una de las instrucciones empleadas ocupa dos celdas de memoria... 1) Al reiniciar el procesador. con el fin de conocer el número del dispositivo con el cual se debe comunicar.0). que corresponde al código de operación de la primera instrucción que ejecutará el procesador (IN A. D3 A0 . Paso siguiente. regresa las líneas RD y WE a 1.Universidad del Quindío .. Dec. A3 ____ IO/MEM WE RD 0 1 0 0 1 Œ • Dec. ubica el contenido del PC en el bus de datos. 2) El procesador incrementa el PC. y lee de nuevo la memoria.. D3 Hi-Z 1 AC IR PC X 4 1 0 4 1 0 2 3 Memoria Ž D0 .. D3 4 0 Buffer Triestado CS D0 .. Para ello. Este número lo introduce el procesador en el registro de instrucción IR. A3 0 R/W CS 1 0 Registro D0 ... RD=0 y WE=1. el procesador lo captura y coloca las líneas RD y WE en 1. la memoria colocará el número 4 (código de operación de la instrucción IN) en el bus de datos. D3 A0 .. Arquitectura de Procesadores I . 0 Memoria RAM D0 . A3 1 R/W CS 1 0 Registro D0 . Dir.... La primera celda almacena el código de la instrucción y la segunda el operando. desactivando la lectura y escritura en memoria/dispositivos. Bajo estas circunstancias. 0 Memoria RAM D0 . La memoria coloca entonces el número 0 sobre el bus de datos. D3 Hi-Z 1 AC IR PC X X 0 F X 0 4 1 0 Memoria Ž D0 . por ejemplo..D3 A0 ... En un procesador no todas las instrucciones ocupan el mismo tamaño en memoria.. Esto lo hace para leer la posición de memoria cero.. ubica en las líneas de dirección el contenido del PC y luego coloca las señales IO/MEM=0.

. A3 ____ IO/MEM WE RD 0 1 0 3 2 Œ • Dec. Para ello. Esto hace que se active el buffer tri-estado y coloca a la memoria en alta impedancia (Hi-Z). el procesador lee el bus de datos y lo almacena en el registro acumulador AC.. Dir. 12 3) El procesador. y las señales IO/MEM=1 y RD=0. valiéndose del registro IR.. Esto se consigue incrementando el PC. 0 Memoria RAM D0 . D3 Hi-Z 1 AC IR PC 3 4 2 1 0 2 3 3 5 Memoria Ž D0 .. Dir..Estructura Básica de un Sistema Programable Basado en Procesador .Universidad del Quindío . D3 A0 . Dir..D3 A0 . activando las señales IO/MEM=0 y RD=0.. este valor será el número presente en el bus datos.. operando capturado en el paso anterior.. Arquitectura de Procesadores I .. A3 0 R/W CS 1 1 Registro D0 .Jorge Iván Marín H.0 .. A3 ____ IO/MEM WE RD Hi-Z 0 1 1 0 Œ • Dec. A3 2 R/W CS 1 0 Registro D0 . la cual fue capturada en los dos pasos anteriores. Si el usuario ha colocado el número binario 0011 (3) en los suiches.. Posteriormente. Éste se almacena en el registro IR y se desactivan las señales RD=1 y WE=1.. procede a colocar en el bus de direcciones el número 0. D3 3 0 AC IR PC X 4 1 0 4 1 0 2 3 Memoria Ž D0 .. se da cuenta que debe ejecutar una instrucción IN A.. 0 Memoria RAM D0 . Dec. D3 A0 . se procede a capturar la siguiente instrucción. coloca las líneas RD=1 y WE=1. 4) Una vez concluye la ejecución de la instrucción IN A..D3 A0 .. Dec. El dato enviado por la memoria es el número 3 que corresponde al código de operación de la instrucción suma ADD.. D3 3 0 Buffer Triestado CS D0 . colocando su contenido en el bus de direcciones. Un instante de tiempo después.0.... Dir.. D3 3 0 Buffer Triestado CS D0 .

. 2 y 4.. Dir. Como se ha capturado la totalidad de la instrucción ADD A. IO/MEM e RD adquieren los valores necesarios para leer dicha posición desde la memoria. Dir.. A3 4 R/W CS 1 0 Registro D0 . 0 Memoria RAM D0 . D3 Hi-Z 1 AC IR PC 3 3 3 2 3 3 5 4 5 Memoria Ž D0 .. 13 5) Para ejecutar la suma. 0 Memoria RAM D0 . D3 5 0 Buffer Triestado CS D0 . se hace necesario capturar el operando..Estructura Básica de un Sistema Programable Basado en Procesador . Dec. El procesador procede a ejecutarla. Dir.A3.. (Ver en detalle el paso 1). El dato que entrega la memoria se almacena en un registro temporal al interior de la CPU el cual no es visible.. La memoria devuelve el código de operación 5 que corresponde a la instrucción OUT. lo cual se consigue incrementando el PC y leyendo la posición de memoria apuntada por éste. D3 A0 . Dec.. La configuración de las señales IO/MEM y RD sigue el mismo patrón de lectura de las pasos 1... D3 Hi-Z 1 AC IR PC 8 3 4 3 5 4 5 5 1 Memoria Ž D0 .. A3 ____ IO/MEM WE RD 0 1 0 5 3 Œ • Dec.. 6) Una vez ha concluido la ejecución de la instrucción suma. Las señales A0. A3 3 R/W CS 1 0 Registro D0 .. el procesador incrementa el PC con el fin de capturar la siguiente instrucción. Dir. D3 5 0 Buffer Triestado CS D0 . Este código se almacena en el IR....Jorge Iván Marín H. para lo cual activa el hardware interno de la ALU quedando el acumulador con el resultado de la suma AC = 3+5=8.5.D3 A0 .Universidad del Quindío . D3 A0 ...D3 A0 ..... Arquitectura de Procesadores I . A3 ____ IO/MEM WE RD 0 1 0 5 4 Œ • Dec..

D3 Hi-Z 1 Ž D0 . D3 1 0 Buffer Triestado CS D0 . Dir. 0 Memoria RAM D0 . 8 Memoria RAM D0 .. el número 8 (contenido del acumulador AC) en el bus de datos y pone las líneas IO/MEM = 1. A3 5 R/W CS 1 0 Registro D0 . D3 8 1 Buffer Triestado CS D0 .. lo cual activa el reloj del registro de datos. WE = 0.. De esta forma. A3 ____ IO/MEM WE RD 0 1 0 1 5 Œ • Dec.. el procesador ubica el número del puerto (número 1) en el bus de direcciones..Estructura Básica de un Sistema Programable Basado en Procesador . 8) Dado que la instrucción a ejecutar se trata de una escritura en un periférico..D3 A0 . A3 ____ IO/MEM WE RD Hi-Z 1 1 0 1 Œ • Dec.. A3 1 R/W CS 0 1 Registro D0 ... D3 A0 . D3 A0 .Jorge Iván Marín H..Universidad del Quindío .... siguiente el mismo comportamiento para las señales del paso 2. Dec.D3 A0 .... se visualiza el número 8 en el display. y deja a la memoria y buffer triestado en alta impedancia. Dir.. Dir.. AC IR PC 8 5 5 4 5 5 1 6 6 Memoria Arquitectura de Procesadores I .. Dir... 14 7) Posteriormente se captura el operando de la instrucción OUT. Dec. D3 Hi-Z 1 AC IR PC 8 5 5 4 5 5 1 6 6 Memoria Ž D0 ..

D3 0 0 Buffer Triestado CS D0 . Dir.. Dir....Jorge Iván Marín H.. De esta forma IR adquiere el código de operación 6 (instrucción JMP). 10) En este paso se captura el operando de la instrucción JMP. Dec. Arquitectura de Procesadores I . 8 Memoria RAM D0 ... Dir... D3 A0 .. siguiendo la misma forma de las señales del bus de control del paso 2. D3 Hi-Z 1 AC IR PC 8 6 7 6 6 7 0 8 X Memoria Ž D0 .. A3 ____ IO/MEM WE RD 0 1 0 0 7 Œ • Dec. se procede a la captura de la siguiente instrucción siguiendo el mismo protocolo para las señales del bus de control..D3 A0 .. 8 Memoria RAM D0 .... Dec.Estructura Básica de un Sistema Programable Basado en Procesador . A3 6 R/W CS 1 0 Registro D0 .. A3 7 R/W CS 1 0 Registro D0 . D3 A0 . D3 6 0 Buffer Triestado CS D0 .. A3 ____ IO/MEM WE RD 0 1 0 6 6 Œ • Dec. 15 9) Concluida la ejecución de la instrucción OUT... D3 Hi-Z 1 AC IR PC 8 5 6 5 1 6 6 7 0 Memoria Ž D0 . Dir...D3 A0 .Universidad del Quindío .

.. para ejecutar dicha instrucción. Arquitectura de Procesadores I . 16 11) Dado que el operando de la instrucción JMP es el número cero. Inicio Capturar instrucción (fetch) Decodificar instrucción Ejecutar instrucción Figura 12. Problemas: • Usando el conjunto de instrucciones del procesador hipotético y el circuito cableado. decodificación de la instrucción.. repitiendo así la ejecución del programa. Este conjunto de acciones se denominan ciclo de instrucción. D3 4 0 Buffer Triestado CS D0 . se emplean representaciones en diagramas de tiempo que serán estudiados en las siguientes secciones. • Escriba un programa que permita realizar un conteo binario y su respectiva visualización en el display • Modifique el circuito cableado con el fin de leer dos números desde suiches diferentes. De esta forma en la siguiente captura de instrucción.Universidad del Quindío . A3 0 R/W CS 1 0 Registro D0 . Ciclo de Instrucción Simple Por otra parte.. A3 ____ IO/MEM WE RD 0 1 0 4 0 Œ • Dec.. Del análisis anterior se puede apreciar que el procesador se puede modelar como una máquina secuencial que realiza tres acciones básicas: captar la instrucción. D3 Hi-Z 1 AC IR PC 8 6 0 F 1 0 4 1 0 Memoria Ž D0 . los cuales deben ser sumados y visualizados en el display. • Asuma que el procesador hipotético tiene la disposición de señales para el bus de control mostrada en la Figura 8. Dec. y la ejecución de la instrucción. denominada también fetch. que incluye la captación de los operandos de ser necesario. el procesador carga este número en el contador de programa PC.. D3 A0 . direcciones y control..D3 A0 ..Jorge Iván Marín H.. Repita el cableado del sistema para la misma memoria y periféricos del ejemplo.. el procesador leerá la instrucción de la posición de memoria 0. Dir. para describir con mayor detalle los diferentes cambios que sufren las señales que viajan por los buses de datos. Dir. escriba un programa que multiplique por tres el número ingresado en los suiches.Estructura Básica de un Sistema Programable Basado en Procesador . 8 Memoria RAM D0 ..