EL MICROCOMPUTADOR Sistema diseñado para procesar datos de entrada almacenarlos, procesarlos para obtener resultados, a través de la dirección de un programa dado por un conjunto de instrucciones, las mismas que se ejecutan paso a paso. Todos los computadores, desde los micros hasta los grandes computadores centrales constan de 3 secciones primarias, la U la MEMORIA y la UNIDAD DE ENTRADA SALIDA, tal como se muestra en la próxima diapositiva.
La U, es el corazón del computador. Es el responsable de ejecutar las diversas instrucciones que hay en un programa y de efectuar las operaciones aritméticas y lógicas que esto implica. La Memoria consiste en una gran cantidad de registros
Memoria
Unidad central de procesos U
Entrad /salida
que se usan para almacenar tanto programas como datos. Cada registro de memoria recibe un único número de identificación o dirección. Los computadores pequeños tipicos tienen varios miles de estas posiciones de memoria. Los grandes computadores tienen millones y a veces miles de millones de posiciones de memoria. Entrada / Salida, es el medio para comunicarse con el computador. Un microprocesador no es un computador completo sino sólo la sección del procesador.Se requieren componentes adicionales para implementar las funciones de memoria Y las unidades de entrada/salida.
En algunos casos, las tres secciones del computador ( pro cesador, memoria y entrada/salida) están integrados en un solo circuito integrado, llamándosele a este chip Microcontrolador. Longitud de Palabra Dentro de un microcomputador, la información se manipula y almacena en grupos de bits, el tamaño de este gru po usado en una máquina dada es su longitud de palabra. Los primeros microprocesadores tenían una longitud de palabra de 4 bits, hoy en día los pequeños computadores tienen una longitud de palabra de 8 bits, habiendo máquinas mas poderosas que usan 16 y en ocasiones 32
bits. Existen máquinas con longitudes de palabra de 64 y 128 bits. Es común referirse a un grupo de 8 bits como un Byte y a un grupo de 4 bits como nibble. La longitud de palabra de una máquina deter mina el número máximo de bits de información que se puede trans ferir en un mismo momento en el bus de datos
ARQUITECTURA BÁSICA DE UN COMPUTADOR Según como la U acceda a los datos y a las instrucciones, se considera dos tipos de Arquitectura, la Arquitectura Von Neuman y la Arquitectura Harvard. En la Arquitectura Von Neuman la U tiene una sola memoria tanto para datos como para las ins trucciones. En la Arquitectura Harvard, el U distingue dos tipos de memo ria, una de las cuales contiene las instrucciones denominada memoria de Instrucciones y otra memoria que contiene los datos
COMUNICACIÓN DENTRO DEL COMPUTADOR La información fluye entre el procesador(U) y la memoria y entre el procesador y la sección de entrada/salida y también entre la memoria y la sección de entrada salida como se indica en la línea punteada de la figura antes vista.
La comunicación entre las diversas secciones del compu tador, tiene lugar sobre un cierto número de buses. Se trata de líneas paralelas de datos que permiten el flujo de información en una o ambas direcciones. Los buses se pueden considerar como un conjunto de conductores paralelos (alambres). Generalmente se usan tres buses para llevar datos, información de direcciones y señales de control.
Por ejemplo si el procesador deseara almacenar una palabra de datos en una ubicación de memoria en particular, colocaría los datos en el bus de datos, la dirección en la que se van almacenar los datos en el bus de direcciones y diversa señales de control para sincronizar la operación en el bus de control. ESTRUCTURA DE BUSES DE UN COMPUTADOR MEMORIA
UNIDAD CENTRAL DE PROCESOS U
BUS DE DATOS BUS DE DIRECCIONES BUS DE CONTROL
ENTRADA/SALIDA
Nota importante: a) El número de líneas en el bus de datos es igual a la lon gitud de palabra del dispositivo y por ende determina el número de bits de información que se pueden mover en la máquina al mismo tiempo, por lo tanto en un micropro cesador de 8 bits, el bus de datos tendrá 8 bits de ancho, así como en un microprocesador de 16 bits, el bus de datos tendrá 16 bits de ancho. b) El número de líneas en el bus de direcciones determina el número de posiciones de memoria que el procesador puede especificar, lo que se llama capacidad de direc cionamiento del dispositivo. Un bus de direcciones de 8 bits es capaz de direccionar 28(256) direcciones. La ma-
yoría de los computadores de 8 bits, utilizan un bus de direcciones de 16 bits, lo que les da un capacidad de direccionamiento de 216 o 65536 direcciones. c) El bus de Control es utilizado por el procesador, para producir acciones en componentes externos y para sincro nizar estas operaciones. La naturaleza exacta de estas líneas varía de una máquina a otra. REGISTROS La sección de memoria del computador consiste en un gran número de registros de memoria que se pueden usar para almacenar tanto datos como programas. El procesador y las secciones de entrada / salida también contienen
Registros para diversos fines. El registro es entonces un bloque fundamental en un sistema computador, de modo que es esencial entender su funcionamiento. Se ha visto el uso de los flip-flops “D” en la construcción de los registros de memoria, sin embargo es necesario resaltar que la comunicación dentro de un microprocesador entre registros tiene lugar en un sistema de buses, lo que impone algunas restricciones al diseño de sus registros, tal como el uso de FF “D” con salidas de 3 estados. Cons truídos de esta manera se pueden conectar a un sistema de buses tal como se ve a continuación.
Registro sencillo de 8 bits Se puede observar que tiene dos líneas adicionales, habilitación de escritura y habilitación de salida. HABILITACIÓN DE ESCRITURA
b7 7
b0 6
5
4
3
2
HABILITACIÓN DE SALIDA BUS DE DATOS
1
0
La habilitación de escritura permite escribir en el registro los datos provenientes del bus de datos.La otra entrada ha bilita las salidas del registro a fin que se conecten al bus La comunicación entre muchos registros se logra habilitando tanto la salida de un registro como la entrada de otro, tal como se observa a continuación. RE GISTRO 0
RE GISTRO 4
S
RE GISTRO 3
U
RE GISTRO 2
B
RE GISTRO 1
ALMACENAMIENTO DE DATOS Datos numéricos: El almacenamiento de datos numéricos dentro de un microcomputador es muy simple, los bloque de información que se pueden representar mediante un solo byte, se pueden almacenar dentro de una sola posición de memoria de 8 bits en una dirección determinada por el programa dor, un solo byte de información puede representar números en el intervalo de 0 a 255. Si un bloque de información requiere mas de un solo byte, se puede usar una serie de posiciones de memoria en conjunto. Por ejemplo se pueden usar dos posiciones de memoria
adyacentes para almacenar un número de 16 bits,lo que da un intervalo de 65535, o cuatro posiciones de memoria, podrían almacenar un número de 32 bits con un inter valo de 4,294´967,295 y así mediante esta estrategia se pueden almacenar números de tamaño arbitrario Representación de números con signo En algunas aplicaciones es importante representar no solo la magnitud de una cantidad sino también su signo. Un método es el de utilizar uno de los bits de un número de “n” bits como bit de signo. Este bit resulta ser el MSB (most significant bit) que es “0” si el número es positivo y “1” si es negativo. Esta técnica se conoce como repre-
rentación de nùmeros con signo y magnitud; pero esta representación presenta el problema de representar el cero en dos formas que corresponden a +0 y -0 La mayoría de los sistemas microcomputadores usan una representación alternativa para los números positivos y negativos que se conoce como representación de números en complemento a dos. Esta representación se entiende mejor si se recuerda las características de un contador ascendente descendente, cuya fracción de cuenta se muestra a continuación 00000011 00000010 00000001 00000000 11111111 11111110 11111101
3 2 1 0 -1 -2 -3
Al igual que con la notación con signo y magnitud, el MSD una vez más indica la polaridad del número, 0 para positivo y 1 para negativo. La cantidad más grande que se puede representar por me dio de un número de 8 bits es 01111111 (127) y el número negativo mas grande es 10000000 (-128). La forma del complemento a dos de una cantidad negativa se puede encontrar restando de 2n la magnitud del número negativo a representar. Por ejemplo la forma de complemento a dos de –3 se puede encontrar así: 3 = 00000011 2n = 256 = 100000000 Por lo tanto: -3 = 100000000 -00000011 -------------11111101 Los números que representan sólo magnitud se conocen como números sin sig-
no , mientras que los que representan signo y magnitud se conocen como números con signo. Una cantidad de 8 bits sin signo puede representar números en el intervalo de 0 a . 255, sin embargo una cantidad con signo tiene el intervalo de –128 a +127 Rpresentación de los números en complemento a dos Decimal
Complemento a 2
+ 127 + 126 + 125 - --- --+ 003 + 002 + 001 000
011111111 011111110 011111101 ----------- --------00000011 00000010 00000001 00000000
-
11111111 11111110 11111101 11111100 11111011 ------------------10000000
001 002 003 004 005 - ---- --- 128
Números de punto flotante Además de las representaciones de números enteros antes descritas, es común usar el formato de punto flotante que permita el uso de cantidades muy grandes y muy pequeñas. Esto se hace agrupando varios bytes de información entre sí y luego usando alguno de los bits resultantes para representar una mantisa con signo y el resto para un exponente con signo. Un formato típico utiliza 4 bytes(32 bits) para representar cada nú mero, produciendo una precisión cercana a siete u ocho decimales con un intervalo de 10-38 a 10+38.
TEXTO Se puede almacenar información de texto usando una se-
cuencia de posiciones de memoria, en donde cada carácter está representado por un código apropiado ( como por ejenplo el còdigo ASCII). Esto tiene como resultado el uso de una posición de memo ria por cada carácter. Almacenamiento de programas Un programa de computador es una lista de instrucciones al proce sador.Todos los microprocesadores tienen un conjunto de instrucciones que pueden ejecutar y estas conforman lo que se llama set de instrucciones de la máquina. Cada tipo de microprocesador tiene su propio set de instrucciones y por lo general los programas escritos para una máquina no funcionan en otra. Estas instrucciones en un microprocesador de 8 bits típico pueden ser para: Transferir información entre registros; transferir información entre
registros y memoria; realizar diversas operaciones aritméticas y lógicas; efectuar comparaciones y pruebas sobre el contenido de los registros; y controlar la secuencia de ejecución de programas. Por lo general la operación que una instrucción ha de ejecu tar esta definida por un código de operación de un solo byte, conocido también como opcode(óperation code). El uso de un solo byte para definir el funcionamiento limita a 256 el número posible de instrucciones; aunque la mayoría de microprocesadores utiliza una cantidad menor. En algunos casos el opcode es todo lo que se necesita para especificar una instrucción; sin embargo para algunas instruciones se necesita información adicional. Por ejemplo una instrucción para almacenar el contenido de un acumulador en memoria necesita incluir la dirección donde ha de almacenarse la palabra de información; esto conduce a que algunas instrucciones tienen un byte de longitud (un opcode de un byte), otras tienen 2 bytes(un opcode mas un solo bayte de información) y otras más tienen tres bytes de
longitud (un opcode más dos bytes de información). La información que acompaña al opcode se llama operando, puede representar información utilizada por el programa o una dirección. En el gráfico siguiente se representa una porción de progra ma almacenado en memoria. Pos ic ión de memoria 2000
Opcode
2001
Opcode
2002
Operando
2003
Opcode
2004
Operando
2005
Opcode
2006
Operando
2007
Operando
2008
Opcode
2009
Operando
Ins trucc ión de 1 by te
Ins trucc ión de 2 by te
Ins trucc ión de 2 by te
Ins trucc ión de 3 by te
Ins trucc ión de 2 by te