You are on page 1of 11

Arquitectura de Procesadores I

(preliminar)

Buses del sistema


Como se haba mencionado antes, en un sistema basado en procesador generalmente aparecen los siguientes buses: 1. Bus de datos: Utilizado para que el microprocesador intercambie informacin con los otros elementos del sistema, y en algunos casos entre dispositivos. 2. Bus de direcciones: Usado para indicar cul es el elemento que con el que se realizar la transferencia de datos. 3. Bus de control: Indica la direccin, tipo y otras caractersticas de la operacin de transferencia. Para la explicacin detallada del funcionamiento de los buses, es necesario tener claro como funcionan los elementos bsicos que estn conectados a ellos, los mas representativos, son las memorias, ya que en ellas radica el secreto de la flexibilidad de los sistemas basados en programa almacenado.

Memorias
Las memorias son dispositivos encargados de almacenar informacin, programas y datos. Estos dispositivos pueden ser vistos como un conjunto lineal de celdas, en los que cada una tiene un nmero asignado, el cual es nico y lo llamaremos direccin. La estructura lgica de una memoria puede ser comparada con un arreglo, en el cual cada posicin tiene un ndice correspondiente. Direccin 01h 02h 03h 04h 05h 06h 07h 08h 09h 0Ah Datos 0h 5h 5h 0h Ch ... ... ... ... ...

Arquitectura de Procesadores I Las caractersticas fundamentales de las memorias son:


(preliminar)

Tipo, RAM o ROM. Nmero de localidades, cuantas celdas tiene el dispositivo. Longitud de la palabra, cuantos bits por celda. Tiempo de acceso, cuanto tiempo tarda en recuperar un dato que este almacenado en ella. Ancho del pulso de escritura (Definido ms adelante).

Memorias RAM

Las memorias RAM (Random Access Memory), son de lectura-escritura, es decir mientras estn en el sistema es posible leer o escribir en ellas. Un diagrama de bloques de una memoria RAM tpica puede verse a continuacin

Enable Datos n Direccin k


01 0A

Memoria RAM n*k

C3 2C

Celdas

read

Write

Diagrama de bloques de una memoria RAM tpica

El nmero n de lneas de datos, es el ancho de la palabra, el nmero de lneas de direccin k, determina la cantidad de localidades del dispositivo, talque nmero celdas =2 k , y un valor binario formado por estas lneas determina la celda en particular sobre la que se esta operando (escribiendo o leyendo) . Las lneas restantes se utilizan de acuerdo a la siguiente tabla

Arquitectura de Procesadores I

(preliminar)

Enable (CS o CE) 0 1 1 1 1

Read (RD) X 0 1 0 1

Write (WE) X 0 0 1 1

Operacin Ninguna Ninguna Lectura Escritura Imposible

La estructura interna de una RAM es como sigue:

Estructura interna de una RAM esttica.

Operaciones sobre la memoria

Para realizar los procesos de lectura/escritura en una memoria se deben realizar ciertos pasos en un orden determinado, para la mayora de dispositivos estas operaciones se realizan como se indica.

Arquitectura de Procesadores I Lectura

(preliminar)

1. Poner un valor en las lneas de direccin, esto se hace con el fin de indicarle al dispositivo de que celda se desea leer informacin. 2. Habilitar el chip, activando la lnea CS o CE. 3. Activar la lnea Read para que la memoria coloque el valor almacenado en la localidad en sus lneas de datos. Escritura 1. Poner direccin. 2. Habilitar el chip. 3. Colocar los datos que se desean grabar en la localidad seleccionada en el paso anterior en las lneas de direccin. 4. Activar Write. Adems de esto, cada dispositivo de memoria tiene unas especificaciones de tiempo, las cuales indican de manera ms precisa, el modo en que se deben realizar las operaciones de lectura/escritura, generalmente estas especificaciones se dan en forma grfica en lo que se denomina diagrama de tiempos, he aqu ejemplos tpicos de estos diagramas.

Diagrama de tiempos simplificado de una operacin de lectura

Arquitectura de Procesadores I

(preliminar)

Diagrama tpico de escritura (controlado por WE*)

El tiempo mnimo que debe estar activo WE es lo que se denomina ancho de pulso de escritura. Las memorias mencionadas aqu son las llamadas memorias estticas, existen otros tipos de memorias RAM, las dinmicas. stas utilizan condensadores para almacenar la informacin, debido a esto deben ser refrescadas cada cierto tiempo, pues los condensadores se descargan y se pierde la informacin, por ello es necesaria circuitera adicional al dispositivo como tal, para poder utilizarlas en un sistema. Como ventaja tienen que son de fcil construccin y ocupan menos espacio por bit de informacin, siendo ms baratas, la memoria principal de las computadoras es de este tipo.

Diagrama de bloques de una memoria RAM dinmica.

Arquitectura de Procesadores I
Memorias ROM

(preliminar)

Las memorias ROM, son dispositivos lgicos programables PLD's que sirven para almacenar datos de manera permanente, es decir, que sus datos no pueden ser cambiados por el sistema en el que estn funcionando (aunque se pueden hacer algunos trucos para permitirlo si son EEPROM), sino en un procedimiento especial llamado programacin, son usadas normalmente para almacenar programas y datos constantes. La estructura interna de una ROM difiere bastante de una RAM pero la forma de leer los datos de ellas es muy semejante, razn por la cual no nos detendremos en ellas 1.

Enable Datos n Direccin k

Memoria ROM n*k

OE
Diagrama de bloques de una ROM.

Ms adelante regresaremos con los diagramas de tiempo ya que son necesarios para la correcta sincronizacin entre el microprocesador, los dispositivos de memoria y los de entrada/salida.

Decodificacin de direcciones
Un microprocesador ve todos los dispositivos que aparecen en el sistema como localidades en las que puede escribir y/o leer datos, para intercambiar informacin con los dispositivos se vale de sus lneas.
Lineas tpicas de los procesadores

Lneas de datos, son por donde el microprocesador enva y recibe datos de los otros elementos del sistema (D0, D1,..., Dn) . Lneas de direccin, el procesador indica por estas lneas la localidad a la que desea acceder,

1 Para ver la estructura interna de las memorias de modo detallado ver por ejemplo Diseo digital, principios y prcticas. Jhon F. Wakerly.

Arquitectura de Procesadores I

(preliminar)

adems la cantidad de estas dimensiona el espacio total que puede direccionar (A0, A1, ..., Am).

Lneas de control, el procesador controla con estas lneas el flujo de la transferencia, las ms encontradas en este grupo son:

RD*, La activa cuando desea leer. WE*, para escribir. IOR*, La activa para indicar transferencia con dispositivos de entrada/salida.2 MREQ*, Indica transferencia con memoria. INT, Lnea para peticin de interrupcin.

Ejemplo de conexin

Suponiendo que el microprocesador con el que estamos trabajando es de cuatro bits de direcciones, puede direccionar 16 posiciones de memoria en total (00h-ff0), pero todas esas localidades no necesariamente estn implementadas por un mismo dispositivo, como se ve en la figura, esto es, de las direcciones 00h a la 03h el chip uno estar activo, de la 04h a la 07h el chip dos, y as sucesivamente. El hecho que chips diferentes se puedan encargar de las diferentes zonas de la memoria direccionable por el microprocesador, hace Total de que sea posible que ciertas zonas sean de RAM, otras de memoria ROM e incluso de dispositivos de entrada/salida, lo que direccionable se conoce como entrada/salida mapeada en memoria. La implementacin de la distribucin mostrada puede realizarse de la siguiente manera: En primer lugar necesitamos que el chip uno est activo en las direcciones 00h-03h, lo que corresponde a la siguiente tabla de verdad: CS1 A3 A2 A1 A0 MEMREQ 0 0 0 X X 0
*

00h

Chip1
04h

Chip2
08h

Chip3
0Ch

Chip4
FFh
Figura 1: Ejemplo de mapa de memoria.

2 Algunos procesadores tienen una sola lnea llamada IO/MEM*.

Arquitectura de Procesadores I cuya ecuacin lgica resulta ser:


CS 1= A3 A2 MREQ

(preliminar)

Siguiendo el mismo procedimiento para los otros chips de memoria tenemos las siguientes ecuaciones:
CS 2= A3 A2 ' MREQ CS 3= A3' A2 MREQ CS 4 = A3 ' A2' MREQ
3

La tabla de verdad para el ejemplo anterior es posible escribirla para todos los chips simultneamente as: CS1* CS2 CS3 CS4 A3 A2 A1 A0 MREQ 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 0 0 1 1 0 1 0 1 X X X X X X X X 0 0 0 0 Nota Chip 1 Chip 2 Chip 3 Chip 4

Tabla de verdad para todos los chips.

Puede observarse que la zona sombreada de la tabla es igual a la salida de un decodificador de 2 a 4, por ello es posible usarlos para decodificar direcciones (). La implementacin fsica de las anteriores ecuaciones junto con las conexiones al microprocesador se muestra en la figura 2, se omiten las conexiones de las lneas de datos por simplicidad del grfico. Como vemos la RAM esta ubicada en las primeras ocho posiciones de memoria, mientras que la ROM en las ocho ltimas. Tambin se puede observar que las lneas menos significativas del bus de direcciones se conectaron directamente a los chips de memoria, mientras que las ms significativas se utilizan para seleccionar los chips mismos. El proceso de ubicar los diferentes dispositivos en posiciones especificas del espacio direccionable por el procesador, se llama decodificacin de direcciones y la representacin de este espacio indicando
3 El subrayado sobre el nombre de las seales indica que es activa en bajo, mientras que la comilla sencilla indica la negacin de la seal en una ecuacin.

Arquitectura de Procesadores I

(preliminar)

A3 A2 A1 A0

uP

MREQ

Figura 2:Ejemplo de conexin a memoria.

donde estn cada uno de los chips as como se ve en la figura 1 se llama mapa de memoria. Podemos decir entonces de manera ms precisa que un mapa de memoria es la representacin de los bloques en que se ha divido el espacio de memoria direccionable por un procesador. Cada bloque corresponde al rango de direcciones ocupado por un dispositivo de acuerdo a la asignacin que se hizo de las lneas de direccin que no se conectan a las entradas de direccin del mismo. Es decir si el dispositivo cuenta con dos lneas de direccin como en el ejemplo, se utilizaran las lneas restantes para ubicarlo en el mapa de memoria, si se utilizan todas las lneas restantes tenemos lo que se denomina decodificacin total en caso contrario decodificacin parcial, est ltima hace que los dispositivos puedan activarse en ms de un bloque de direccin, apareciendo replicados en el mapa correspondiente. A continuacin se muestra un ejemplo de un mapa de memoria real con su respectiva implementacin.

Arquitectura de Procesadores I

(preliminar)

Figura 3: Ejemplo de decodificacin.

Como puede verse se utiliza un decodificador de 3 a 8 para seleccionar los chips de memoria y las lneas menos significativas para moverse dentro de un chip en particular. Si el procesador cuenta con lneas del tipo IOREQ* quiere decir que puede indicar cuando esta tratando de acceder a los dispositivos de entrada/salida, por lo tanto puede existir un mapa alterno denominado mapa de puertos, el cul es similar al de memoria, pero en l aparecen, claro, los dispositivos de entrada/salida, he aqu un ejemplo de un mapa de puertos de un sistema basado en procesador. Es de notar que los dispositivo no tienen por que ocupar solamente una localidad. La forma general de los puertos de entrada/salida parece en la figuras de la derecha.
00h

LCD

04h

No implementado
Total de 08h puertos direccionables 09h 0Ah

Leds 1 Leds 2 Interruptores No implementado

Puerto de Salida.

0Ch

FFh
Figura 4: Ejemplo de mapa de puertos. Puerto de Entrada.

Los circuitos para la decodificacin de direcciones de los puertos iguales a los de memoria, solo que

Arquitectura de Procesadores I ya no se hace uso de la lnea MREQ* sino de la IOREQ*.

(preliminar)

You might also like