apuntes arquitectura de computadoras 1-3

20

Click here to load reader

Upload: jesus-ccoa-huahuacondori

Post on 25-Oct-2015

10 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Apuntes Arquitectura de Computadoras 1-3

PRIMER CAPITULO

SISTEMAS BASADOS EN MICROPROCESADORES

1.1 FUNDAMENTOS:

El término computadora deviene del latín computare (calcular)

Definición de computadora

a) Máquina electrónica (todos sus componentes son dispositivos electrónicos) y digital (procesa

información en forma de cadenas de 0’s y 1’s), que ejecuta operaciones siguiendo las instrucciones de un programa. Estas operaciones pueden ser de diferentes tipos:

Entrada de datos. Salida de datos. Almacenamiento de datos. Recuperación de datos. Transmisión de datos. Recepción de datos. Tratamiento de datos.

b) Sistema secuencial síncrono que procesa información (requiere datos y programas). Como arquitectura: atributos visibles para programador. (instrucciones, modos de

direccionamiento, registros accesibles del programador, etc.). Como organización: los componentes y posición física (módulos y conexiones). Como implementación: detalles de construcción.

Funciones “Su función global es ejecutar instrucciones: para leer datos del exterior, para escribir datos en el exterior o para procesar algún tipo de información”.

Lectura/Escritura (comunicación con el exterior: periféricos o remota). Almacenamiento (memoria principal). Procesamiento (procesador) Control (CPU).

Todos los elementos que forman parte de una computadora (memoria, procesador,...) se conectan por el bus del sistema.

Page 2: Apuntes Arquitectura de Computadoras 1-3

1.2 ARQUITECTURA DEL COMPUTADOR Se entiende por arquitectura a los atributos del sistema que ve el programador

La estructura El comportamiento funcional ISA (Instruction Set Architecture) es la interfaz entre el hardware y el software de bajo

nivel de un sistema. El diseño lógico y su realización física

La definición de la arquitectura es importante porque permite optimizar la programación a bajo nivel y la de alto nivel (aplicaciones de usuario) Los primeros computadores tenían programas fijos. En esos casos se “diseñaba a medida”, en vez de programar el ordenador. En la época de von-Neumann (1970) aparece el concepto de ordenador con programa almacenado en base a una estructura general. Para ello hace falta:

Disponer de la arquitectura para un juego de instrucciones posibles Detallar la computación como una serie de instrucciones: el programa

1.3.1 Modelo de ejecución de programas: modelo de Von Neumann (Eckert-Mauchly) La arquitectura de von Neumman es un diseño que usa una memoria para almacenar instrucciones y datos. Éste tipo de máquina es la implementación de una máquina de Turing y la visión de una arquitectura secuencial en lugar de paralela. Con este modelo (maquina Neumman) surge el concepto de programa almacenado, por el cual se les conoce a las computadoras de este tipo como computadoras programables. a) Modelo de Estructura: (físico) Describe la organización física de la arquitectura

Figura 1.1 Computadora según Von Neumann Estructuralmente

Page 3: Apuntes Arquitectura de Computadoras 1-3

Figura 1.1 Modelo Físico de Von Neumann

Debido a las dos funciones básicas de la CPU el modelo de Von Neumann puede interpretarse de la siguiente manera.

Figura 1.3 Modelo de Von Neumann

Memoria

En ella se almacena el programa a ejecutar en forma de secuencia de instrucciones y los datos que este necesita. Componentes de una computadora, dispositivos y medios de almacenamiento que retienen datos informáticos durante algún intervalo de tiempo. Las memorias de computadora proporcionan unas de las principales funciones de la computación moderna, la retención o almacenamiento de información

Unidad de Control Su función es enviar consecutivamente instrucciones del programa desde la memoria hasta la unidad de proceso. Debe buscar las instrucciones en la memoria principal, decodificarlas (interpretación) y ejecutarlas, empleando para ello la unidad de proceso.

Unidad de Proceso Las instrucciones son decodificadas y ejecutadas en esta unidad, formada por los circuitos electrónicos digitales dedicados a la realización de las operaciones aritméticas (como suma, resta, multiplicación, etc.) y operaciones lógicas (como igual a, menor que, mayor que, etc.), entre dos números, que exigen las instrucciones, bajo la supervisión de la Unidad de Control.

Page 4: Apuntes Arquitectura de Computadoras 1-3

Unidad de E/S Realiza la comunicación con el mundo exterior, es decir, con el ser humano. Recibe y representa los datos y resultados de forma asequible para éste. Se denominan periféricos a los aparatos o dispositivos auxiliares e independientes conectados a la unidad central de procesamiento de una computadora. Se consideran periféricos tanto a las unidades o dispositivos a través de los cuales la computadora se comunica con el mundo exterior, como a los sistemas que almacenan o archivan la información, sirviendo de memoria auxiliar de la memoria principal. Se entenderá por periférico al conjunto de dispositivos que, sin pertenecer al núcleo fundamental de la computadora, formado por la CPU y la memoria central, permitan realizar operaciones de entrada/salida (E/S) complementarias al proceso de datos que realiza la CPU

Reloj El reloj se encarga de sincronizar todo el sistema compensando los retardos de los diferentes módulos. El sistema uP es un sistema secuencial, la secuencia que realiza es la ejecución continua de instrucciones.

Estructura de Buses Una vía comunicación que conecta dos o más dispositivos, en general “broadcast” (todos lo ven) y agrupados por funciones. Está formado por cables o pistas en un circuito impreso, dispositivos como resistencias y condensadores además de circuitos integrados. En los primeros computadores electrónicos, todos los buses eran de tipo paralelo, de manera que la comunicación entre las partes de computador se hacía por medio de cintas o muchas pistas en el circuito impreso, en los cuales cada conductor tiene una función fija y la conexión es sencilla requiriendo únicamente puertos de entrada y de salida para cada dispositivo

o Bus de direcciones (unidireccional): identifica la fuente o destino de un dato, su tamaño determina la capacidad máxima de memoria del sistema, por ejemplo el Intel 8080 tiene 16 bit => 64k de espacio direccionable

o Bus de datos (bidireccional): transfiere información que se va a procesar, su tamaño define el tipo de procesador y la performance del sistema (8, 16, 32, 64 bits)

o Bus de control (unidireccional): se manejan señales para control y sincronización (lectura escritura a memoria, señales del reloj, solicitud de interrupción)

b) Modelo de Ejecución de Programas y de Arquitectura: (lógico)

Para ejecutar un programa, este y los datos que necesite, deben estar cargados en la memoria del ordenador (nivel más cercano al procesador), y será ejecutado instrucción tras instrucción.

Los contenidos de esta memoria se direccionan indicando su posición sin importar su tipo. La ejecución de instrucciones es secuencial, a menos que mediante otras instrucciones se

rompa esta secuencia. Sólo existen dos funciones con el exterior : lectura de una posición de memoria y escritura

en una posición de memoria Para la ejecución de cada instrucción en la memoria del computador se realiza el siguiente ciclo:

Page 5: Apuntes Arquitectura de Computadoras 1-3

Figura 1.4 Ciclo de instrucción

Etapa de traída (fetch):

o Coloca en el bus de direcciones la dirección de memoria en la cual se encuentra la instrucción deseada.

o Activar la señal de control (leer) o Acceder por el bus de datos al dato leído (instrucción) en memoria y llevarlo a un

registro interno del CPU.

Figura 1.5 Acceso a memoria

Etapa de decodificación (decode):

o Asociar el código binario obtenido a la orden o instrucción específica (lenguaje máquina)

Etapa de ejecución (execute):

o Lectura de operandos de la memoria principal. o La ALU ejecuta y deja los resultados en registros o en memoria

R/E

LÍNEAS DE DATOS

LÍNEAS DE DIRECCIÓN

Page 6: Apuntes Arquitectura de Computadoras 1-3

Los ciclos de traída, decodificación y de ejecución se dan un tras otro, hasta que se termine de ejecutar el programa. Para ejecutar una instrucción, sólo existen tres posibles operaciones

Escritura en memoria

Lectura en memoria

Procesamiento de información

Figura 1.6 Operaciones en el sistema

Los problemas de la arquitectura de von Neumann se centran en el cuello de botella: velocidad de transferencia de datos entre memoria y CPU. Se pueden implementar algunas mejoras: buses especializados, interrupciones, unidades de punto flotante, caches, pipelines, entre otras 1.3.2 Arquitectura Harvard

Este modelo, que utilizan los microcontroladores PIC, tiene la unidad central de proceso (CPU) conectada a dos memorias (una con las instrucciones y otra con los datos) por medio de dos buses diferentes. Una de las memorias contiene solamente las instrucciones del programa (Memoria de Programa), y la otra sólo almacena datos (Memoria de Datos). Ambos buses son totalmente independientes lo que permite que la CPU pueda acceder de forma independiente y simultánea a la memoria de datos y a la de instrucciones. Como los buses son independientes éstos pueden tener distintos contenidos en la misma dirección y también distinta longitud. También la longitud de los datos y las instrucciones puede ser distinta, lo que optimiza el uso de la memoria en general. Para un procesador de Set de Instrucciones Reducido, o RISC (Reduced Instrucción Set Computer), el set de instrucciones y el bus de memoria de programa pueden diseñarse de tal manera que todas las instrucciones tengan una sola posición de memoria de programa de longitud.

E/S

CPU MEM

E/S

CPU MEM

CPU MEM

Page 7: Apuntes Arquitectura de Computadoras 1-3

Además, al ser los buses independientes, la CPU puede acceder a los datos para completar la ejecución de una instrucción, y al mismo tiempo leer la siguiente instrucción a ejecutar. Ventajas de esta arquitectura: • El tamaño de las instrucciones no está relacionado con el de los datos, y por lo tanto puede ser

optimizado para que cualquier instrucción ocupe una sola posición de memoria de programa, logrando así mayor velocidad y menor longitud de programa.

• El tiempo de acceso a las instrucciones puede superponerse con el de los datos, logrando una mayor velocidad en cada operación.

Figura 1.7 Arquitectura Harvard

1.3.3 Modelos no Von Neumann

A finales de los 60’ aparecen los sistemas de cómputo “high-performance”, los que fueron equipados con procesadores duales para mejorar su desempeño. En los 70’ supercomputadoras con 32 procesadores. En los 80’ con 1000 procesadores. En 1999, IBM anuncio su sistema “Blue Gene” que contiene aprox. 1 millón de procesadores.

El procesamiento paralelo es una de las formas de mejorar el poder de cómputo, pero otras ideas más radicales se han implementado:

Computadoras genéticas Computadoras cuánticas Sistemas Dataflow.

1.4 UNIDAD CENTRAL DE PROCESAMIENTO (CPU) Traer instrucciones de memoria para ejecutarlas

Page 8: Apuntes Arquitectura de Computadoras 1-3

Figura 1.8 CPU

Todo programa tiene como objetivo realizar diferentes funciones o aplicaciones, solo limitadas por la capacidad e imaginación del programador.

Para que un programa sea ejecutado el mismo se debe hallar en determinadas posiciones de memoria y escrito en un lenguaje que la CPU pueda entender. La CPU lo único que comprende es lenguaje binario.

La CPU lee en forma ordenada la lista de instrucciones, luego las interpreta, y posteriormente controla su ejecución de cada una de ellas. Las ejecuciones se realizan en forma consecutiva una tras otra.

Para ejecutar cada instrucción la UCP realiza la siguiente serie de pasos:

Lee de la memoria la instrucción que hay que ejecutar y la guarda en un registro interior de la UCP.

Identifica la instrucción que acaba de leer (decodifica) Comprueba si la instrucción necesita utilizar nuevos de memoria, si fuera así, determina

donde debe ir a buscarlos. Busca los datos en la memoria y los trae en UCP. Ejecuta la instrucción propiamente dicha. El resultado de la misma puede ser que se almacene o invoque la necesidad de tener que

comunicarse con la memoria o con otro elemento externo a la propia UCP. Vuelve al primer paso para empezar una nueva instrucción.

Puede ser programada por hardware (cableada) y “microprogramada” (varias microinstrucciones por instrucción)

Elementos Unidad Aritmético – lógica (ALU): realiza operaciones aritméticas, procesa información.

Compuesto de uno o varios circuitos electrónicos que realizan operaciones elementales aritméticas y lógicas (sumador, complementador, desplazador, etc).

Unidad de Control (CU). control de la ejecución. Se encarga de extraer y analizar el código de operación de la instrucción en curso (que está en el IR) y dar las señales necesarias al resto de los elementos para su, es por lo tanto un decodificador y secuenciador. Se comunica directamente con el bus de control del sistema.

Registros: Almacenan datos binarios, son de acceso rápido, de tamaño fijo, pueden ser de propósito general (programas) o específicos (acumulador, program counter, puntero a memoria, etc.)

o Registro de instrucción (IR) almacenamiento temporal del código de la instrucción que está en ejecución. Contiene la instrucción que se está ejecutando en cada momento. Esta instrucción llevará consigo el código de operación (Cod op), acción de que se trata, y en su caso los operandos o las direcciones de memoria de los mismos. El Codo p será presentado al decodificador.

o Contador de programa (PC) registro También denominado registro de control de Secuencia (RCS), contiene permanentemente la dirección de memoria de la próxima

Page 9: Apuntes Arquitectura de Computadoras 1-3

instrucción a ejecutar. Si la instrucción que se está ejecutando en un instante determinado es de salto o de ruptura de secuencia, el SCR tomará la dirección de la instrucción que se tenga que ejecutar a continuación; esta dirección la extraerá de la propia instrucción en curso. Como el primer paso para la ejecución de una instrucción, consiste en ir a buscarla en memoria, el PC indica cual es la dirección de memoria donde se halla esa instrucción. Una vez obtenida y antes de continuar con los siguientes pasos una señal de control incrementa el PC en una unidad, por lo cual los programas deben estar escritos (cargados) en posiciones consecutivas de memoria. El PC pasa la dirección al Registro de Direcciones

o Registros de uso general almacenan datos de memoria, y resultados de operaciones realizadas con ellos, almacenamiento es temporal. Está constituido por 8, 16 ó 32 registros de tipo general que sirven para situar dates antes de cada operación, para almacenar datos intermedios en las operaciones y para operaciones internas del procesador.

o Registros de códigos de condición Registro con un conjunto de biestables en los que se deja constancia de algunas condiciones que se dieron en la última operación realizada.

o Registro de direcciones de memoria (MAR): dirección de memoria del presenta acceso, se conecta directamente con el bus de direcciones. El tamaño de este registro determina el tamaño de la memoria que puede direccionar.( Si es de 32 bits se puede direccionar 232=4.294.967296 (4 GB posiciones de memoria).

o Registro de datos de memoria (MDR): que contiene el dato que se va a escribir en la memoria, comunica con el bus de datos externo. Si se trata de una operación de lectura, el MDR es quien recibe el dato de la memoria señalado por el MAR, para su posterior envío a uno de Los registros de la CPU. Si se trata de una operación de escritura, la información a grabar tiene que estar en el MDR, para que desde él se transfiera a la posición de memoria indicada por el MAR.

o Registro Z: invisible para el usuario. Se trata de un registro especial, en el que se depositan los resultados que producen los circuitos operadores.

o Registro Y: invisible para el usuario. Se trata de un registro especial, en el que se depositan uno de los datos que va a ser usado por la ALU.

DataPath o Bus interno: red interna que comunica la UC con las otras unidades y registros, aquí se mueven los datos entre los diferentes componentes, está controlada por un reloj.

Page 10: Apuntes Arquitectura de Computadoras 1-3

Figura 1.9 CPU de un Bus

ALU: Entrada Datos (operandos). Control. Salida Resultado. Código de resultado. Unidad de Control: Entrada Instrucción. Código de resultado. Salida Señales de control. Registros del procesador: Almacenan información.

PC: dirección de siguiente instrucción. IR (Registro de Instrucción): Instrucción en ejecución. Registros de datos. Registros de códigos de condición. MDR (Registro de datos de memoria). Dirección de memoria del

presente acceso. MAR (Registro de direcciones de memoria). Contiene lo que se va a

escribir en la memoria. 1.4.1 Funciones Básicas de la CPU

Page 11: Apuntes Arquitectura de Computadoras 1-3

La implementación de las fases de traída y ejecución, se hacen combinando en algún orden las siguientes funciones básicas: a) Transferencia entre registros

Habilitar la compuerta de salida del registro fuente Habilitar la compuerta de entrada del registro destino

Figura 1.10 Transferencia entre registros

b) Traída de una palabra a partir de una posición de memoria (lectura)

Transferir la dirección al MAR Ordenar la lectura Esperar la respuesta de la memoria Transferir el dato leído al destino

c) Almacenamiento de una palabra en memoria

Transferir la dirección al MAR Transferir el dato al MDR Ordenar la escritura Esperar la respuesta de la memoria

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

Transferir los datos a la entrada de la ALU Ordenar la operación apropiada Guardar el resultado obtenido

Hay que recordar que la ejecución de los programas requiere la alternancia de una fase de traída seguida de una fase de ejecución por cada instrucción

Page 12: Apuntes Arquitectura de Computadoras 1-3

Fase de Traída: Es fija para cualquier instrucción

1. Leer próxima instrucción: PC al MAR, Activar Read 2. Incrementar el PC Sumar PC + 1 y actualizar PC 3. Decodificar

En términos de señales de control (microinstrucción)

1. PCout, MARin, Leer, Borrar Y, Fijar acarreo, Sumar, Zin 2. Zout, PCin, WMFC 3. MDRout, IRin

Fase de Ejecución: Depende de la instrucción

4. Traer 1er Operando Registro Temporal (SOURCE) 5. Traer 2do Operando Y 6. Realizar Operación {ALU: Z [Bus] OP [Y]} 7. Almacenar Resultado { Z va a Registro o a MAR}

Se muestra la arquitectura de una CPU con varios buses internos

Page 13: Apuntes Arquitectura de Computadoras 1-3

Figura 1.11 CPU Multibus

1.4.2 Control Fijo y Control Microprogramado Según la forma en que la Unidad de Control (CU) genera las señales de control propias para la ejecución de las instrucciones, los procesadores se dividen en:

Procesadores de control fijo (RISC: reduced instruction set computer) Es un circuito secuencial cuyo estado en cualquier momento dado determina las microoperaciones que se ejecutarán en un sistema procesador de datos. Estas unidades son totalmente hardware, donde se genera una secuencia de pasos (Máquina de estados finitos), en esta red combinacional: cada paso se convierte a una entrada (T1, T2, …, Tn).

Page 14: Apuntes Arquitectura de Computadoras 1-3

Reloj

Decodificador deinstrucción

Codificador

Decodificador depaso

Contador depaso de control

Códigos decondición

Banderas decondición

IR

Señales de Control

Restablecer

fin

Figura 1.12 Unidad de Control Fijo

Implementar la UC se reduce a obtener las expresiones lógicas de cada señal de control de salida a partir de las entradas Ii, Tj, Flags y Señales de entrada. Para cada señal, revisamos donde aparece encendida y definimos su expresión lógica. Dado el masivo uso de compuertas en esta implementación, se emplean arreglos de lógica programable (PLA) construidos con VLSI

Figura 1.13 Realización de la unidad de Control Fijo

Procesadores de control microprogramado (CISC: completed instruction set computer) La UC microprograda es un circuito lógico sencillo que permite realizar la ejecución en secuencia de un conjunto de instrucciones muy elementales llamadas microinstrucciones (no confundir con las instrucciones propias del lenguaje máquina) o palabras de control (palabra binaria cuyos bits indican los valores de las señales de control de la máquina). Cada microinstrucción contiene las señales de control que se enviarán a la UP, junto a una serie de bits que permitirán seguir el secuenciamiento. La UC estará formada por:

- Memoria de Control: contiene los microprogramas formados por varias microinstrucciones necesarias para ejecutar una instrucción.

Page 15: Apuntes Arquitectura de Computadoras 1-3

- Secuenciador: es el encargado de mantener el orden correcto en la ejecución de las microinstrucciones. Genera la dirección de la siguiente microinstrucción a ejecutar y la guarda en uPC

- uPC( microcontador de programa): registro que almacena la dirección de la siguiente microinstrucción que se va a ejecutar. Esta dirección se decodificará en DEC y seleccionará una posición de la memoria de control

Reloj

Memoria deMicroprograma

uPC

Generador dedirección inicial yde ramificación Códigos de

condición

Banderas decondición

IR

Figura 1.12 Unidad de Control Microprogramado (Modelo de Wilkes) Aquí se dan diferentes variantes en relación a la generación de las señales de control:

Codificación 1 bit- 1 señal de control: Es la que hemos estudiado en el apartado anterior. Codificación por campos: Consiste en agrupar las señales de control que no se puedan

activar simultáneamente, cada uno de estos grupos se codifican de modo que la palabra de control consta de varios campos, en cada uno de los cuales se codifican señales del mismo tipo.

Codificación tipo instrucción: Consiste en que el formato de microinstrucción sea similar al formato de instrucción en lenguaje máquina con un código de operación y dirección del operando

En cuanto al secuenciamiento de las microinstrucciones se puede tener:

Secuenciamiento explícito: usado por el modelo de Wilkes, cada microinstrucción contiene un campo con la dirección de la siguiente microinstrucción.

Secuenciamiento implícito: a semejanza del comportamiento de un programa ordinario, lo normal es que la microinstrucción siguiente esté situada físicamente a continuación de la que se está ejecutando. En este modelo se necesita la presencia de un contador de microprograma que se vaya incrementando con la ejecución de cada microinstrucción.

Tabla de saltos: generar un microsalto en el microprograma de forma que sumando el código de operación a una dirección dada se obtiene la dirección de los distintos microprogramas.

Memoria de traslación: Un método adicional consiste en el uso de una memoria ROM que tomando como entrada el código de operación nos dé como salida la dirección de cada microprograma.

1.4.3 Instrucciones

Referido a instrucciones del lenguaje máquina. Son aquellas que puede ejecutar directamente el hardware de la computadora.

Page 16: Apuntes Arquitectura de Computadoras 1-3

Las instrucciones máquina se pueden clasificar por la función que desempeñan en:

Instrucciones de transferencia de datos. Instrucciones de ruptura de secuencia. Instrucciones aritméticas y lógicas. Instrucciones declarativas.

.

Por su contenido, todas ellas tienen como encabezado lo que se llama código de operación (Cod op), que indica qué operación se debe realizar por el procesador, y que aquellas que deban hacer alguna operación con determinados datos, deberán llevar además, implícita o explícitamente dichos datos, que se denominan operandos.

a) Instrucciones de tres operandos

Constan de un código de operación al que siguen tres operandos, de los cuales, los dos primeros son los operandos y el tercero es la dirección donde se depositará el resultado. Este formato de instrucción es el más cómodo de trabajar, pero precisa mayor número de bits.

Código de operación Operando1 Operando2 Operando3

b) Instrucciones de dos operandos

Constan de un código de operación, seguido de dos operandos, de los cuales uno de ellos actúa además como receptor del resultado.

Código de operación Operando 1 Operando2

c) Instrucciones de un operando

Son las que se utilizan generalmente en máquinas cuya arquitectura funciona con filosofía de acumulador. El acumulador es un registro especial, en el que se encuentra uno de los operandos para este tipo de instrucciones y donde además se guarda el resultado. En la instrucción se encuentra el código de operación seguido del segundo operando

Código de operación Operando 1

d) Instrucciones sin operandos

Este tipo de instrucciones se utilizan generalmente en computadoras cuya arquitectura tiene filosofía de pila. Una pila está formada por dates almacenados en orden consecutivo en la memoria, existiendo un registro especial denominado puntero de pila que nos indica la dirección del último dato introducido en ella. Cuando un dato es sacado de ella, el puntero de pila decrece, apuntando al dato que está a continuación en la pila hacia el fondo de la misma y que será aquel dato que se introdujo en primer lugar. Cuando se trata de introducir un dato en ella el puntero toma la dirección de memoria siguiente en orden ascendente y se introduce en dicha dirección. Estas instrucciones sólo llevan código de operación, de tal forma que cuando se trata de una operación, se sacan Los operandos de la pila (previamente introducidos) y el resultado se introduce en la misma.

código de operación

Page 17: Apuntes Arquitectura de Computadoras 1-3

Métodos de direccionamiento

Se habla de direccionamiento en una instrucción al modo de indicar en la misma el lugar donde está situado el dato que va a intervenir en ella. Los direccionamientos utilizados en Las instrucciones son Los siguientes:

Direccionamiento inmediato: en él, el dato a utilizar se halla en la propia instrucción, en el acumulador o en la pila.

Direccionamiento directo: en este caso la instrucción contiene la dirección de memoria central donde se encuentra el dato.

Direccionamiento indirecto: la instrucción contiene la dirección de memoria central

donde se encuentra la dirección de memoria que contiene el dato.

Direccionamiento indexado: en el la dirección de memoria central donde se encuentra el dato, se obtiene sumándole a la dirección que lleva la instrucción una cantidad, que se encuentra en un registro especial llamado índice.

Page 18: Apuntes Arquitectura de Computadoras 1-3

1.5 SISTEMAS BASADOS EN MICROPROCESADORES Un computador, consta básicamente de tres partes:

CPU Memoria Unidades de entrada/salida (E/S) ó (I/O)

En la CPU se ejecutan instrucciones que se toman de la memoria, las cuales procesan datos tomados de la memoria o de los dispositivos de entrada, originando resultados que se colocan en la memoria o salen por los dispositivos de salida. En la figura puede verse el esquema típico de conexiones entre las partes de un sistema mediante buses.

Figura 1.13 Sistema Basado en Microprocesador

El proceso de lectura y escritura de datos se realiza en pasos muy diferenciados: Lectura:

1. El microprocesador coloca la dirección de memoria en el bus de direcciones. 2. Mediante el bus de control se da la orden de lectura. 3. El microprocesador recoge el dato presente en el bus de datos.

Escritura:

1. El microprocesador coloca la dirección donde se va a escribir, en el bus de direcciones. 2. Se pone el dato en el bus de datos. 3. El microprocesador da la orden de escritura.

Page 19: Apuntes Arquitectura de Computadoras 1-3

1.5.1 Configuración Típica de un Microprocesador En el siguiente diagrama presentamos la distribución de pines de un microprocesador hipotético, considerando los terminales generales y más comúnmente usados en sistemas reales.

Figura 1.14 Microprocesador básico

Los pines del microprocesador se pueden agrupar de la siguiente manera: 1 Bus de direcciones: En la figura propuesta existen 16 líneas (de la 25 a la 40) dedicadas a

transferir la posición de memoria o de dispositivo de E/S seleccionado por el CPU. 2 Bus de datos: En el diagrama son 8 (pines del 13 al 20) por ellos viaja las instrucciones y los

datos operados por ellas. Es bidireccional. 3 Entrada de alimentación: (Pines 23 y 24). Por estos terminales se energiza al

microprocesador, en la mayoría de procesadores, esta tensión de alimentación es compatible con niveles de tensión TTL (5 V) con el fin de trabajar con circuitos de esta tecnología.

4 Cristal o red R-C: (Pines 21 y 22). Controla la frecuencia de funcionamiento del

microprocesador, mediante un generador de reloj interno. Algunos procesadores, como el 8088, 8086 requieren un chip externo controlador de reloj.

Page 20: Apuntes Arquitectura de Computadoras 1-3

5 Salida de señales de reloj: El controlador interno de reloj produce dos señales de la

frecuencia determinada (pines 1 y 2), que permiten sincronizar otros elementos del sistema que lo requieran.

6 Petición y Reconocimiento de RESET (RESET IN / RESET OUT): Por RESET IN se

provoca una petición de estado de RESET o reiniciación del sistema. RESET OUT es un pin de salida que informa la aceptación del pedido de RESET, puede usarse para resetear otros dispositivos.

7 HOLD Y HOLDA: HOLD sirve para solicitar al procesador el estado HOLD, que deja en alta

impedancia todos los buses para poder ser empleados por otros dispositivos. HOLDA es una señal de salida que indica el reconocimiento del estado HOLD.

8 READY: Sirve para sincronizar el procesador con otros dispositivos lentos, al activarse, el

procesador se detiene. 9 Interrupciones: Estas líneas de entrada sirven para detener el flujo normal de operación del

CPU y ejecutan programas que atienden a estas interrupciones. 10 Entrada y salida de datos en serie: Permite comunicar el CPU con otros dispositivos,

transmitiendo datos hacia o desde el procesador, pero bit a bit, uno tras otro.