21
INSTITUTO TECNOLOGICO DE TEHUACAN MICROCONTROLADORES ARQUITECTURA BASICA DE UN SISTEMA MÍNIMO DE COMPUTADORA PAZ SOSA JULIO INGENIERIA MECATRONICA 08360636 6º SEMESTRE 2011

Arquitectura básica de un sistema mínimo de computadora

  • Upload
    julio

  • View
    3.836

  • Download
    13

Embed Size (px)

Citation preview

Page 1: Arquitectura básica de un sistema mínimo de computadora

INSTITUTO TECNOLOGICO DE TEHUACAN

MICROCONTROLADORES

ARQUITECTURA BASICA DE UN SISTEMA MÍNIMO DE COMPUTADORA

PAZ SOSA JULIO

INGENIERIA MECATRONICA

08360636

6º SEMESTRE

2011

Page 2: Arquitectura básica de un sistema mínimo de computadora

Arquitectura básica de un sistema mínimo de computadora

Microcontroladores 2

INDICE

Arquitectura de computadoras .................................................................. 3

Memoria .................................................................................................... 6

Unidad Aritmético Lógica (ALU) .............................................................. 11

Unidad de Control ................................................................................... 14

Dispositivos de entrada/salida ................................................................. 16

Canales ................................................................................................... 18

Conclusión .............................................................................................. 20

Bibliografía .............................................................................................. 21

Page 3: Arquitectura básica de un sistema mínimo de computadora

Arquitectura básica de un sistema mínimo de computadora

Microcontroladores 3

Arquitectura de computadoras

La arquitectura de computadoras es el diseño conceptual y la estructura

operacional fundamental de un sistema de computadora. Es decir, es un modelo y

una descripción funcional de los requerimientos y las implementaciones de diseño

para varias partes de una computadora, con especial interés en la forma en que la

unidad central de proceso (CPU) trabaja internamente y accede a las direcciones

de memoria. También suele definirse como la forma de seleccionar e interconectar

componentes de hardware para crear computadoras según los requerimientos de

funcionalidad, rendimiento y costo.

El ordenador recibe y envía la información a través de los periféricos por

medio de los canales. La CPU es la encargada de procesar la información que le

llega al ordenador. El intercambio de información se tiene que hacer con los

periféricos y la CPU. Todas aquellas unidades de un sistema exceptuando la UCP

se denomina periférico, por lo que el ordenador tiene dos partes bien

diferenciadas, que son: la CPU (encargada de ejecutar programas y que está

compuesta por la memoria principal, la ALU y la UC) y los periféricos (que pueden

ser de entrada, salida, entrada-salida y comunicaciones).

La implantación de instrucciones es similar al uso de una serie de

desmontaje en una fábrica de manufacturación. En las cadenas de montaje, el

producto pasa a través de muchas etapas de producción antes de tener el

producto desarmado. Cada etapa o segmento de la cadena está especializada en

un área específica de la línea de producción y lleva a cabo siempre la misma

actividad.

Las arquitecturas y los conjuntos de instrucciones se pueden clasificar

considerando los siguientes aspectos:

• Almacenamiento de operativos en la CPU: dónde se ubican los operadores

aparte de la substractora informativa (SI)

• Número de operandos explícitos por instrucción: cuántos operandos se

expresan en forma explícita en una instrucción típica. Normalmente son 0, 1, 2

y 3.

• Posición del operando: ¿Puede cualquier operando estar en memoria?, o

deben estar algunos o todos en los registros internos de la CPU. Cómo se

especifica la dirección de memoria (modos de direccionamiento disponibles).

• Operaciones: Qué operaciones están disponibles en el conjunto de

instrucciones.

• Tipo y tamaño de operandos y cómo se especifican.

Page 4: Arquitectura básica de un sistema mínimo de computadora

Arquitectura básica de un sistema mínimo de computadora

Microcontroladores 4

Arquitectura Harvard

Originalmente, el término Arquitectura Harvard hacía referencia a las

arquitecturas de computadoras que utilizaban dispositivos de almacenamiento

físicamente separados para las instrucciones y para los datos (en oposición a la

Arquitectura de von Neumann). El término proviene de la computadora Harvard

Mark I, que almacenaba las instrucciones en cintas perforadas y los datos en

interruptores.

Todas las computadoras constan principalmente de dos partes, la CPU que

procesa los datos, y la memoria que guarda los datos. Cuando hablamos de

memoria manejamos dos parámetros, los datos en sí, y el lugar donde se

encuentran almacenados (o dirección). Los dos son importantes para la CPU,

pues muchas instrucciones frecuentes se traducen a algo así como "coge los

datos de ésta dirección y añádelos a los datos de ésta otra dirección", sin saber en

realidad qué es lo que contienen los datos.

La arquitectura Harvard ofrece una solución particular a este problema. Las

instrucciones y los datos se almacenan en cachés separadas para mejorar el

rendimiento. Por otro lado, tiene el inconveniente de tener que dividir la cantidad

de caché entre los dos, por lo que funciona mejor sólo cuando la frecuencia de

lectura de instrucciones y de datos es aproximadamente la misma. Esta

arquitectura suele utilizarse en DSPs, o procesador de señal digital, usados

habitualmente en productos para procesamiento de audio y video.

Arquitectura de von Neumann

La arquitectura de von Neumann es una familia de arquitecturas de

computadoras que utilizan el mismo dispositivo de almacenamiento tanto para las

instrucciones como para los datos (a diferencia de la arquitectura Harvard).

La mayoría de computadoras modernas están basadas en esta

arquitectura, aunque pueden incluir otros dispositivos adicionales, (por ejemplo,

para gestionar las interrupciones de dispositivos externos como ratón, teclado,

etc.).

El término arquitectura de von Neumann se acuñó a partir del memorando

First Draft of a Report on the EDVAC (1945) escrito por el conocido matemático

John von Neumann en el que se proponía el concepto de programa almacenado.

Dicho documento fue redactado en vistas a la construcción del sucesor de la

computadora ENIAC y su contenido fue desarrollado por John Presper Eckert,

John William Mauchly, Arthur Burks y otros durante varios meses antes de que

von Neumann redactara el borrador del informe. Es por ello que otros tecnólogos

Page 5: Arquitectura básica de un sistema mínimo de computadora

Arquitectura básica de un sistema mínimo de computadora

Microcontroladores 5

como David A. Patterson y John L. Hennessy promueven la sustitución de este

término por el de arquitectura Eckert-Mauchly.

Los primeros computadores constaban de programas almacenados.

Algunos muy simples siguen utilizando este diseño, por ejemplo, una calculadora

es un computador que tiene un programa almacenado. Puede hacer operaciones

matemáticas simples, pero no puede ser usada como procesador de textos o

videoconsola.

Cambiar el programa que contenían los dispositivos que usaban esta

tecnología requería reescribir, reestructurar y/o rediseñar el dispositivo. Los

primeros computadores no estaban lo suficiente programados cuando fueron

diseñados. La tarea de reprogramar, cuando era posible, era un proceso laborioso,

empezando con notas en papel y siguiendo con detallados diseños de ingeniería.

Y tras esto llegaba el a veces complicado proceso de reescritura y

reestructuramiento físico del computador.

El concepto de programa almacenado cambió por completo, se pensó en un

computador que en su diseño contenía un conjunto de instrucciones que podían

ser almacenadas en memoria, o sea, un programa que detallaba la computación

del mismo.

El diseño de un programa almacenado también daba la posibilidad a los

programas de ser modificados ellos mismos durante su ejecución. Uno de los

primeros motivos para su creación fue la necesidad de un programa que

incrementara o modificara las direcciones de memoria de algunas instrucciones,

las cuales tenían que ser hechas manualmente en los primeros diseños.

Esto se volvió menos importante cuando el índice de registros y el

direccionamiento indirecto se convirtieron en algo habitual en la arquitectura de

computadores. El código automodificable fue en gran parte ganando posiciones.

A gran escala, la habilidad de tratar instrucciones como datos es lo que

hacen los ensambladores, compiladores y otras herramientas de programación

automáticas. Se pueden "escribir programas para escribir programas".

Existen inconvenientes en el diseño de Von Neumann. Las modificaciones

en los programas podía ser algo perjudicial, por accidente o por diseño. En

algunos simples diseños de computador con programas almacenados, un mal

funcionamiento del programa puede dañar el computador. Otros programas, o el

sistema operativo, posiblemente puedan llevar a un daño total en el ordenador. La

protección de la memoria y otras formas de control de acceso pueden ayudar a

proteger en contra de modificaciones accidentales y/o maliciosas de programas.

Page 6: Arquitectura básica de un sistema mínimo de computadora

Arquitectura básica de un sistema mínimo de computadora

Microcontroladores 6

Memoria

Las memorias de computadora proporcionan unas de las principales funciones de la computación moderna, la retención o almacenamiento de información. Es uno de los componentes fundamentales de todas las computadoras modernas que, acoplados a una unidad central de procesamiento (CPU por su sigla en inglés, central processing unit), implementa lo fundamental del modelo de computadora de Arquitectura de von Neumann, usado desde los años 1940.

Memoria ROM

La memoria ROM, también conocida como firmware, es un circuito integrado programado con unos datos específicos cuando es fabricado. Los chips de características ROM no solo se usan en ordenadores, sino en muchos otros componentes electrónicos también. Hay varios tipos de ROM, por lo que lo mejor es empezar por partes.

Tipos de ROM

Hay 5 tipos básicos de ROM, cada tipo tiene unas características especiales, aunque todas tienen algo en común:

• Los datos que se almacenan en estos chips son no volátiles, lo cual significa que no se pierden cuando se apaga el equipo.

• Los datos almacenados no pueden ser cambiados o en su defecto necesitan alguna operación especial para modificarse. Recordemos que la memoria RAM puede ser cambiada en al momento.

Todo esto significa que quitando la fuente de energía que alimenta el chip no supondrá que los datos se pierdan irremediablemente.

ROM

De un modo similar a la memoria RAM, los chips ROM contienen una hilera de filas y columnas, aunque la manera en que interactúan es bastante diferente. Mientras que RAM usualmente utiliza transistores para dar paso a un capacitador en cada intersección, ROM usa un diodo para conectar las líneas si el valor es igual a 1. Por el contrario, si el valor es 0, las líneas no se conectan en absoluto.

Un diodo normalmente permite el flujo eléctrico en un sentido y tiene un umbral determinado, que nos dice cuanto fluido eléctrico será necesario para dejarlo pasar. Normalmente, la manera en que trabaja un chip ROM necesita la perfecta programación y todos los datos necesarios cuando es creado. No se puede variar una vez que está creado. Si algo es incorrecto o hay que actualizar algo, hay que descartarlo y empezar con uno nuevo. Crear la plantilla original de un chip ROM es normalmente laborioso dando bastantes problemas, pero una vez

Page 7: Arquitectura básica de un sistema mínimo de computadora

Arquitectura básica de un sistema mínimo de computadora

Microcontroladores 7

terminado, los beneficios son grandes. Una vez terminada la plantilla, los siguientes chips pueden costar cantidades ridículas.

Estos chips no consumen apenas nada y son bastante fiables, y pueden llevar toda la programación para controlar el dispositivo en cuestión. Los ejemplos más cercanos los tenemos en algunos juguetes infantiles los cuales hacen actos repetitivos y continuos.

PROM

Crear chips desde la nada lleva mucho tiempo. Por ello, los desarrolladores crearon un tipo de ROM conocido como PROM (programmable read-only memory). Los chips PROM vacíos pueden ser comprados económicamente y codificados con una simple herramienta llamada programador.

La peculiaridad es que solo pueden ser programados una vez. Son más frágiles que los chips ROM hasta el extremo que la electricidad estática lo puede quemar. Afortunadamente, los dispositivos PROM vírgenes son baratos e ideales para hacer pruebas para crear un chip ROM definitivo.

EPROM

Trabajando con chips ROM y PROM puede ser una labor tediosa. Aunque el precio no sea demasiado elevado, al cabo del tiempo puede suponer un aumento del precio con todos los inconvenientes. Los EPROM (Erasable programmable read-only memory) solucionan este problema. Los chips EPROM pueden ser regrabados varias veces.

Borrar una EPROM requiere una herramienta especial que emite una frecuencia determinada de luz ultravioleta. Son configuradas usando un programador EPROM que provee voltaje a un nivel determinado dependiendo del chip usado.

Para sobrescribir una EPROM, tienes que borrarla primero. El problema es que no es selectivo, lo que quiere decir que borrará toda la EPROM. Para hacer esto, hay que retirar el chip del dispositivo en el que se encuentra alojado y puesto debajo de la luz ultravioleta comentada anteriormente.

EEPROM y memoria flash

Aunque las EPROM son un gran paso sobre las PROM en términos de utilidad, siguen necesitando un equipamiento dedicado y un proceso intensivo para ser retirados y reinstalados cuando un cambio es necesario. Como se ha dicho, no se pueden añadir cambios a la EPROM; todo el chip sebe ser borrado. Aquí es donde entra en juego la EEPROM (Electrically erasable programmable read-only memory).

Algunas peculiaridades incluyen:

Page 8: Arquitectura básica de un sistema mínimo de computadora

Arquitectura básica de un sistema mínimo de computadora

Microcontroladores 8

• Los chips no tienen que ser retirados para sobre escribirse. • No se tiene que borrar el chip por completo para cambiar una porción del

mismo. • Para cambiar el contenido no se requiere equipamiento adicional.

En lugar de utilizar luz ultra violeta, se pueden utilizar campos eléctricos para volver a incluir información en las celdas de datos que componen circuitos del chip. El problema con la EEPROM, es que, aunque son muy versátiles, también pueden ser lentos con algunos productos lo cuales deben realizar cambios rápidos a los datos almacenados en el chip.

Los fabricantes respondieron a esta limitación con la memoria flash, un tipo de EEPROM que utiliza un “cableado” interno que puede aplicar un campo eléctrico para borrar todo el chip, o simplemente zonas predeterminadas llamadas bloques.

Memoria RAM

La memoria principal o RAM (Random Access Memory, Memoria de Acceso Aleatorio) es donde el computador guarda los datos que está utilizando en el momento presente. El almacenamiento es considerado temporal por que los datos y programas permanecen en ella mientras que la computadora este encendida o no sea reiniciada.

Se utiliza como memoria de trabajo para el software. Es allí donde se cargan todas las instrucciones que ejecutan el procesador y otras unidades de cómputo. Se denominan "de acceso aleatorio" porque se puede leer o escribir en una posición de memoria con un tiempo de espera igual para cualquier posición, no siendo necesario seguir un orden para acceder a la información de la manera más rápida posible. Físicamente, están constituidas por un conjunto de chips o módulos de chips normalmente conectados a la tarjeta madre. Los chips de memoria son rectángulos negros que suelen ir soldados en grupos a unas plaquitas con "pines" o contactos

La diferencia entre la RAM y otros tipos de memoria de almacenamiento, como los disquetes o los discos duros, es que la RAM es mucho más rápida, y que se borra al apagar el computador, no como los Disquetes o discos duros en donde la información permanece grabada.

Tipos de RAM

FPMRAM

Ésta es la RAM más antigua y menos sofisticada del mercado. Aparece actualmente con dos velocidades de acceso, 60 nanosegundos las más rápidas y 70 nanosegundos las más lentas. Para sistemas basados en procesadores Pentium con velocidades de bus de 66Mhz (procesadores a 100, 133, 166 y 200Mhz) es necesario instalar memorias de 60 nanosegundos para no generar estados de espera de la CPU.

Page 9: Arquitectura básica de un sistema mínimo de computadora

Arquitectura básica de un sistema mínimo de computadora

Microcontroladores 9

La FPMRAM (Fast Page Mode RAM) se basa en que se supone que el siguiente acceso a un dato de memoria va a ser en la misma fila que el anterior, con lo que se ahorra tiempo en ese caso. El acceso más rápido de la FPM RAM es de 5-3-3-3 ciclos de reloj para la lectura a ráfagas de cuatro datos (Byte/Word/Dword) consecutivos.

EDORAM

El secreto de la memoria EDO radica en una serie de latchs (biestables tipo D) que se colocan a la salida de la memoria para almacenar los datos en ellos hasta que el bus de datos queda libre y pueden trasladarse a la CPU, lo cual es bastante para sistemas rápidos porque permite solapar los accesos a memoria lo que incrementa la velocidad frente a la FPM RAM puesto que casi dos accesos a memoria se pueden realizar en el mismo ciclo de lectura. Realmente es una pequeña FPM RAM modificada en la cual la señal CAS tiene menores cambios y tiempo de respuesta. Los datos en la memoria EDO fluyen con más rapidez porque el tiempo de transición de la señal CAS puede condensarse dando un mayor flujo de datos por unidad de tiempo. En placas con chipset Intel 430FX se tienen timings de X-2-2-2 frente a timings de. X-3-3-3 de la memoria normal.

Los módulos EDO se fabrican con tres velocidades (70ns, 60ns y 50ns), siendo necesario en sistemas con buses a 66Mhz el uso de módulos de 60 nanosegundos, incluso en sistemas con chipsets Intel 430HX y 430VX se puede sacar un mayor aprovechamiento de la memoria EDO con módulos de 50 nanosegundos de velocidad, por lo que se desaconseja integrar módulos de 70 nanosegundos en sistemas con procesadores P100/133/166/200. El uso de memorias de 50 nanos tiene algunos inconvenientes, como la necesidad de chipsets y BIOS que la soporten.

BEDORAM

La BEDO RAM lee los datos en ráfagas, lo cual significa que una vez que se accede a un dato de una posición determinada de memoria se lee los tres siguientes datos en un solo ciclo de reloj por cada uno de ellos, lo que se traduce en 5-1-1-1 ciclos máquina el ciclo de lectura de 4 datos. Esta RAM solo es soportada en la actualidad (Primer trimestre de 1997) por los chipsets VIA 580VP, 590VP y 680VP. Al igual que la memoria EDO, la limitación de la memoria BEDO es que no puede funcionar por encima de los 66Mhz.

El acceso de lectura a los datos en la memoria BEDO difiere del método empleado en la memoria EDO. Por un lado, el latch de salida se sustituye por un registro, con lo que los datos de salida no están disponibles como resultado del primer ciclo de la señal CAS. La ventaja del uso de dicho registro a modo de pipeline está en que los datos están disponibles en un menor tiempo puesto que se necesita una señal CAS más corta en el segundo ciclo. La segunda diferencia destacables es que la memoria BEDO incorpora un contador de direcciones con lo

Page 10: Arquitectura básica de un sistema mínimo de computadora

Arquitectura básica de un sistema mínimo de computadora

Microcontroladores 10

que solamente se necesita la dirección inicial para acceder a los siguientes 3 datos consecutivos.

SDRAM

Éste es el tipo de memoria que es capaz de sincronizar todas las señales de entrada y salida con la velocidad de reloj del sistema, lo cual se traduce en memorias súper rápidas.

El acceso a memoria más rápido en los módulos de SDRAM es de 5-1-1-1 ciclos máquina para la lectura de cuatro datos (Byte/Word/Dword) en modo ráfaga, exactamente igual que la memoria BEDO, pero con la diferencia que la memoria síncrona puede funcionar a velocidades de reloj superiores a los 100Mhz, cosa impensable en el resto de los módulos de memoria existentes. Esto es justamente lo que se necesita en el futuro próximo puesto que la RAM síncrona es la única capaz de soportar las nuevas velocidades de bus que se están implantando.

Los módulos SDRAM no emplea la señal PC# pero si la señal CK#, que es un reloj de entrada, cuyo mínimo valor actual es de 66Mhz y pueden trabajar por encima de los 100Mhz, cosa que la memoria EDO no es capaz.

Otra diferencia sustancial es la correspondiente al tiempo de tiempo de espera para el acceso al primer dato en memoria. Una vez leído el primer dato en memoria, tanto la memoria EDO o la memoria SDRAM necesitan un solo ciclo de reloj por dato para datos consecutivos, pero para acceder a ese primer dato la memoria EDO necesita solamente tres ciclos de reloj mientras que la memoria SDRAM necesita seis ciclos. Aun así, la memoria SDRAM funciona a mayor velocidad (5 a 12 nanosegundos) que la memoria EDO (50 a 120 nanosegundos) y permite integrarse a mayores velocidades de reloj.

Por otra parte, mientras que la memoria EDO posee un fallo de página cada cuatro o cinco ciclos de reloj la memoria SDRAM no produce fallos de página al poder solapar los refrescos de memoria con las lecturas de los datos. La memoria SDRAM posee bus de datos de 64 bits (por parejas) frente a los 32 bits de la memoria EDO y permite escribir hasta 8 posiciones de memoria simultáneamente (BLOCK WRITE) si se emplean módulos por parejas. Asynchronous Static RAM (RAM asíncrona estática)

Page 11: Arquitectura básica de un sistema mínimo de computadora

Arquitectura básica de un sistema mínimo de computadora

Microcontroladores 11

Unidad Aritmético Lógica (ALU)

La ALU (Aritmethic Logic Unit) es el bloque funcional del microprocesador encargado de realizar todas aquellas operaciones matemáticas. Las operaciones que realiza son las siguientes: suma, resta, multiplicación, división y aquellas que trabajan con dígitos binarios (10 que se conoce como operaciones lógicas: ANO, NOR, NOT, NANO, OR, X-OR, etc.). En suma, saber cómo funciona un microprocesador, implica conocer cómo se van ejecutando cada una de las instrucciones del programa que se almacena en memoria. Los pasos globales que se siguen a la hora de consumar una instrucción son:

Esta unidad se encarga de realizar las operaciones elementales de tipo aritmético (sumas, restas, productos, divisiones) y de tipo lógico (comparaciones). A través de un bus interno se comunica con la unidad de control la cual le envía los datos y le indica la operación a realizar.

Búsqueda de la instrucción

Decodificación de la instrucción

Búsqueda de operandos

Ejecución de la instrucción

Almacenamiento del resultado

Page 12: Arquitectura básica de un sistema mínimo de computadora

Arquitectura básica de un sistema mínimo de computadora

Microcontroladores 12

La ALU está formada a su vez por los siguientes elementos:

Circuito operacional

Contiene los circuitos necesarios para la realización de las operaciones con los datos procedentes de los registros de entrada (REN). Este circuito tiene unas entradas de órdenes para seleccionar la clase de operación que debe realizar en cada momento (suma, resta, etc.).

Registros de entrada (REN)

En ellos se almacenan los datos u operandos que intervienen en una instrucción antes de la realización de la operación por parte del circuito operacional. También se emplean para el almacenamiento de resultados intermedios o finales de las operaciones respectivas.

Registro acumulador

Almacena los resultados de las operaciones llevadas a cabo por el circuito operacional. Está conectado con los registros de entrada para realimentación en el caso de operaciones encadenadas. Asimismo tiene una conexión directa al bus de datos para el envío de los resultados a la memoria central o a la unidad de control.

Registro de estado (flags)

Se trata de unos registros de memoria en los que se deja constancia algunas condiciones que se dieron en la última operación realizada y que habrán de ser tenidas en cuenta en operaciones posteriores. Por ejemplo, en el caso de hacer una resta, tiene que quedar constancia si el resultado fue cero, positivo o negativo. Se conoce como set de instrucciones al conjunto de instrucciones que es capaz de entender y ejecutar un microprocesador.

En función del tipo de microprocesador, concretamente si es más avanzado o no, podrá entender y ejecutar más o menos instrucciones.

Las instrucciones se clasifican según su función en:

Instrucciones de transferencia de datos

Estas instrucciones mueven datos (que se consideran elementos de entrada/salida) desde la memoria hacia los registros internos del microprocesador, y viceversa. También se usan para pasar datos de un registro a otro del microprocesador. Existen algunas instrucciones que permiten mover no sólo un dato, sino un conjunto de hasta 64 Kbyte con una sola instrucción.

Instrucciones de cálculo

Page 13: Arquitectura básica de un sistema mínimo de computadora

Arquitectura básica de un sistema mínimo de computadora

Microcontroladores 13

Son instrucciones destinadas a ejecutar ciertas operaciones aritméticas, como por ejemplo sumar, restar, multiplicar o dividir, o ciertas operaciones lógicas, como por ejemplo ANO, OR, así como desplazamiento y rotación de bits.

Instrucciones de transferencia del control del programa

Permiten romper la secuencia lineal del programa y saltar a otro punto del mismo. Pueden equivaler a la instrucción GOTO que traen muchos lenguajes de programación.

Instrucciones de control

Son instrucciones especiales o de control que actúan sobre el propio microprocesador. Permiten acceder a diversas funciones, como por ejemplo activar o desactivar las interrupciones, pasar órdenes al coprocesador matemático, detener la actividad del microprocesador hasta que se produzca una interrupción, etc.

Page 14: Arquitectura básica de un sistema mínimo de computadora

Arquitectura básica de un sistema mínimo de computadora

Microcontroladores 14

Unidad de Control

Es el centro nervioso del ordenador, ya que desde ella se controlan y gobiernan todas las operaciones. Cómo funciones básicas tiene:

• Tomar las instrucciones de memoria • Decodificar o interpretar las instrucciones • Ejecutar las instrucciones ( tratar las situaciones de tipo interno (inherentes a la

propia CPU) y de tipo externo (inherentes a los periféricos)

Para realizar su función, la unidad de control consta de los siguientes elementos:

Contador de programa

Contiene permanentemente la dirección de memoria de la siguiente instrucción a ejecutar. Al iniciar la ejecución de un programa toma la dirección de su primera instrucción. Incrementa su valor en uno, de forma automática, cada vez que se concluye una instrucción, salvo si la instrucción que se está ejecutando es de salto o de ruptura de secuencia, en cuyo caso el contador de programa tomará la dirección de la instrucción que se tenga que ejecutar a continuación; esta dirección está en la propia instrucción en curso.

Registro de instrucción

Contiene la instrucción que se está ejecutando en cada momento. Esta instrucción llevará consigo el código de operación (un código que indica qué tipo

Page 15: Arquitectura básica de un sistema mínimo de computadora

Arquitectura básica de un sistema mínimo de computadora

Microcontroladores 15

de operación se va a realizar, por ejemplo una suma) y en su caso los operandos (datos sobre los que actúa la instrucción, por ejemplo los números a sumar) o las direcciones de memoria de estos operandos.

Decodificador

Se encarga de extraer el código de operación de la instrucción en curso (que está en el registro de instrucción), lo analiza y emite las señales necesarias al resto de elementos para su ejecución a través del secuenciador.

Reloj

Proporciona una sucesión de impulsos eléctricos o ciclos a intervalos constantes (frecuencia constante), que marcan los instantes en que han de comenzar los distintos pasos de que consta cada instrucción.

Secuenciador

En este dispositivo se generan órdenes muy elementales (micro órdenes) que, sincronizadas por los impulsos de reloj, hacen que se vaya ejecutando poco a poco la instrucción que está cargada en el registro de instrucción.

Page 16: Arquitectura básica de un sistema mínimo de computadora

Arquitectura básica de un sistema mínimo de computadora

Microcontroladores 16

Dispositivos de entrada/salida

En arquitectura de computadoras, a la combinación de una unidad central de procesamiento (CPU) y memoria principal (aquélla que la CPU puede escribir o leer directamente mediante instrucciones individuales) se la considera el corazón de la computadora y cualquier movimiento de información desde o hacia ese conjunto se lo considera entrada/salida. La CPU y su circuitería complementaria proveen métodos de entrada/salida que se usan en programación de bajo nivel para la implementación de controladores de dispositivos.

Se denominan dispositivos de entrada/salida a los aparatos o periféricos 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 dispositivo 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. Estas tres unidades básicas en un computador, CPU, memoria central y el subsistema de E/S, están comunicadas entre sí por tres buses o canales de comunicación:

• El bus de direcciones, para seleccionar la dirección del dato o del periférico al que se quiere acceder,

• El bus de control, básicamente para seleccionar la operación a realizar sobre el dato (principalmente lectura, escritura o modificación) y

• El bus de datos, por donde circulan los datos.

Los periféricos de entrada/salida son los que utiliza el ordenador tanto para mandar como para recibir información. Su función es la de almacenar o guardar de forma permanente o virtual todo aquello que hagamos con el ordenador para que pueda ser utilizado por los usuarios u otros sistemas

Los dispositivos de entrada/salida (E/S o I/O) forman junto con la CPU y la memoria los elementos más importantes del computador. Uno de sus objetivos principales es la eficiencia en las operaciones de entrada/salida, minimizando el trabajo a realizar por la CPU.

La generación actual de procesadores es capaz de manejar los datos producidos por los dispositivos, pero el principal problema está en la transferencia de datos entre el procesador y el periférico. Algunas soluciones están en:

• Uso de cachés y almacenamientos intermedios

Page 17: Arquitectura básica de un sistema mínimo de computadora

Arquitectura básica de un sistema mínimo de computadora

Microcontroladores 17

• Buses de interconexión de mayor velocidad y con estructuras más elaboradas • El uso de configuraciones multiprocesador puede ayudar también a satisfacer

altas demandas de E/S

Tipos de E/S

Entrada/salida por consulta o programada: La operación de E/S es controlada por la CPU. Antes de realizar la operación se comprueba el (los) registro(s) de estado, para ver si el dispositivo está listo.

Entrada/salida por interrupciones: Permite al dispositivo marcar el instante en que se hace la transferencia de datos. El mecanismo de interrupción está presente en casi todos los computadores

Entrada/salida por acceso directo a memoria: El ritmo de transferencia es superior al de los otros métodos. El instante de E/S lo marca el dispositivo con interrupciones. Hay líneas para desconectar a la CPU de la memoria.

Funcionamiento de la E/S directa

Registros del dispositivo

• IODIR: Dirección de memoria para la operación de E/S • CONT: Contador de número de bytes a transferir

Funcionamiento habitual

• La CPU carga los valores en los registros del dispositivo • El dispositivo solicita el uso de la memoria: DMA-request • La CPU se lo concede: DMA-acknowledge • El dispositivo transfiere los datos. Para cada uno, incrementa IODIR y

decrementa CONT • Cuando CONT llega a 0 se devuelve el control de la memoria a la CPU (DMA-

request) y se envía una interrupción de aviso

Page 18: Arquitectura básica de un sistema mínimo de computadora

Arquitectura básica de un sistema mínimo de computadora

Microcontroladores 18

Canales

En arquitectura de computadores, el canal o bus es un sistema digital que transfiere datos entre los componentes de una computadora o entre computadoras. 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 del 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.

La tendencia en los últimos años es el uso de buses seriales como el USB, Custom Firewire para comunicaciones con periféricos y el reemplazo de buses paralelos para conectar toda clase de dispositivos, incluyendo el microprocesador con el chipset en la propia placa base. Son conexiones con lógica compleja que requieren en algunos casos gran poder de cómputo en los propios dispositivos, pero que poseen grandes ventajas frente al bus paralelo que es menos inteligente.

Existen diversas especificaciones de bus que definen un conjunto de características mecánicas como conectores, cables y tarjetas, además de protocolos eléctricos y de señales.

Funcionamiento

La mayoría de los buses están basados en conductores metálicos por los cuales se trasmiten señales eléctricas que son enviadas y recibidas con la ayuda de integrados que poseen una interfaz del bus dado y se encargan de manejar las señales y entregarlas como datos útiles. Las señales digitales que se trasmiten son de datos, de direcciones o señales de control.

Los buses definen su capacidad de acuerdo a la frecuencia máxima de envío y al ancho de los datos. Por lo general estos valores son inversamente proporcionales: si se tiene una alta frecuencia, el ancho de datos debe ser pequeño. Esto se debe a que la interferencia entre las señales (crosstalk) y la dificultad de sincronizarlas, crecen con la frecuencia, de manera que un bus con pocas señales es menos susceptible a esos problemas y puede funcionar a alta velocidad.

Todos los buses de computador tienen funciones especiales como las interrupciones y las DMA que permiten que un dispositivo periférico acceda a una CPU o a la memoria usando el mínimo de recursos.

Tipos de Bus

Bus de datos

Page 19: Arquitectura básica de un sistema mínimo de computadora

Arquitectura básica de un sistema mínimo de computadora

Microcontroladores 19

Es una vía eléctrica de acceso que conecta la CPU, la memoria y otros dispositivos de hardware en la tarjeta principal. El bus de datos es un grupo de líneas paralelas. El número de líneas en el bus afecta la velocidad de los datos al viajar entre los componentes de hardware.

Bus de direcciones

Es un conjunto de alambres semejantes al bus de datos, pero solo conecta la CPU con la memoria, y únicamente lleva direcciones de memoria. Su importancia es que su número de líneas determina el número máximo de direcciones memoria que pueden ser direcciones. por la CPU.

Bus de expansión

Son las líneas encargadas de conectar el Bus del sistema con otros buces de dispositivos externos a la placa principal.

Page 20: Arquitectura básica de un sistema mínimo de computadora

Arquitectura básica de un sistema mínimo de computadora

Microcontroladores 20

Conclusión

Para que un sistema mínimo de computadora pueda desempeñarse

óptimamente son necesarios cinco elementos:

CU: La unidad de control dirige las operaciones de todas las otras unidades de la

computadora incluyendo los dispositivos periféricos, se encarga de procesar

las variables de entrada, así como el resultado de salida y el orden de los

cálculos.

MEMORY: La memoria; ya sea de solo lectura (ROM) o acceso aleatorio (RAM),

almacenan las variables por default necesarias para los cálculos y las

variables ingresadas respectivamente.

I/O DEVICES: Los dispositivos de entrada/salida son la interfaz para el ingreso y

salida de datos

BUSES: Es el sistema digital de vías eléctricas sobre las cuales viajan señales

eléctricas, de datos y otras. Conecta dispositivos I/O al CPU.

ALU: Cuando una instrucción en un programa involucra operaciones aritméticas o

lógicas, la

CU le pasa el control a la ALU que se encarga de realizar las operaciones de este

tipo.

Page 21: Arquitectura básica de un sistema mínimo de computadora

Arquitectura básica de un sistema mínimo de computadora

Microcontroladores 21

Bibliografía

Canal Hanoi

http://canalhanoi.iespana.es/hardware/microprocesadores.htm

Wikipedia

http://es.wikipedia.org/wiki/ALU

http://es.wikipedia.org/wiki/Arquitectura_de_computadores

http://es.wikipedia.org/wiki/Arquitectura_de_von_Neumann

http://es.wikipedia.org/wiki/Bus_(informática)

http://es.wikipedia.org/wiki/Entrada/salida

http://es.wikipedia.org/wiki/Memoria_(inform%C3%A1tica)

http://es.wikipedia.org/wiki/Periférico

http://es.wikipedia.org/wiki/Unidad_de_control

Eravila

http://homepage.mac.com/eravila/computer.html

FortuneCity

http://www.fortunecity.es/imaginapoder/centros/265/ram.html

Monografias.com

http://www.monografias.com/trabajos11/memoram/memoram.shtml

Ordenadores y portátiles

http://www.ordenadores-y-portatiles.com/memoria-rom.html

http://www.ctr.unican.es/asignaturas/pib/PIB-TEMA-I-2en1.pdf

http://www.lip.uns.edu.ar/ec2644/arquitectura-basica.pdf

http://cervantestic.wikispaces.com/file/view/Introduccion-Arquitectura+b%25E1sica.pdf

http://ocw.upm.es/tecnologia-electronica/microprocesadores/contenidos/Archivos_Semana_1/introduccion_a_los_microcontroladores.pdf

http://lc.fie.umich.mx/~jrincon/intro-microcon1.pdf

http://sistemas.ing.ula.ve/~wladimir/ArquitecturaComputadoras/ArquitecturaComputadoras8.pdf