Arquitectura básica de un sistema mínimo de computadora
Short Description
Download Arquitectura básica de un sistema mínimo de computadora...
Description
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
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
Microcontroladores
2
Arquitectura básica de un sistema mínimo de computadora
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.
Microcontroladores
3
Arquitectura básica de un sistema mínimo de computadora
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
Microcontroladores
4
Arquitectura básica de un sistema mínimo de computadora
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.
Microcontroladores
5
Arquitectura básica de un sistema mínimo de computadora
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
Microcontroladores
6
Arquitectura básica de un sistema mínimo de computadora
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:
Microcontroladores
7
Arquitectura básica de un sistema mínimo de computadora
• • •
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. Microcontroladores
8
Arquitectura básica de un sistema mínimo de computadora
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
Microcontroladores
9
Arquitectura básica de un sistema mínimo de computadora
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)
Microcontroladores
10
Arquitectura básica de un sistema mínimo de computadora
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:
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
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.
Microcontroladores
11
Arquitectura básica de un sistema mínimo de computadora
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
Microcontroladores
12
Arquitectura básica de un sistema mínimo de computadora
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.
Microcontroladores
13
Arquitectura básica de un sistema mínimo de computadora
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 Microcontroladores
14
Arquitectura básica de un sistema mínimo de computadora
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.
Microcontroladores
15
Arquitectura básica de un sistema mínimo de computadora
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
Microcontroladores
16
Arquitectura básica de un sistema mínimo de computadora
• •
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 (DMArequest) y se envía una interrupción de aviso
Microcontroladores
17
Arquitectura básica de un sistema mínimo de computadora
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
Microcontroladores
18
Arquitectura básica de un sistema mínimo de computadora
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.
Microcontroladores
19
Arquitectura básica de un sistema mínimo de computadora
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.
Microcontroladores
20
Arquitectura básica de un sistema mínimo de computadora
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/IntroduccionArquitectura+b%25E1sica.pdf http://ocw.upm.es/tecnologiaelectronica/microprocesadores/contenidos/Archivos_Semana_1/introduccio n_a_los_microcontroladores.pdf http://lc.fie.umich.mx/~jrincon/intro-microcon1.pdf http://sistemas.ing.ula.ve/~wladimir/ArquitecturaComputadoras/Arquitectura Computadoras8.pdf
Microcontroladores
21
View more...
Comments