SISTEMAS INFORMÁTICOS. REPASO DE ARQUITECTURA DE COMPUTADORES
Elementos básicos
En un alto nivel, un sistema informático consta:
a) Procesador
b) Memoria
c) Módulos de E/S
d) Interconexión de sistemas: mecanismos y estructuras que permiten la comunicación entre procesadores, memoria principal y los módulos de E/S.
El procesador es normalmente quien lleva el control. Una de sus funciones es intercambiar los datos con la memoria. Para este propósito, hace uso de dos registros internos:
MAR: Memory Adress Register. Especifica la dirección en memoria de la próxima lectura o escritura.
MBR / MDR: Memory Buffer/Data Register. Contiene los datos que van a ser escritos a memoria o que fueron leídos desde ella.
IOAR: Input Output Adress Register. Especifica un dispositivo particular de E/S.
IOBR: Input Output Buffer Register. Permite intercambiar datos entre un módulo de E/S y el procesador.
Conceptos varios
Byte: equivale a un término binario (Binary termin) generalmente compuesto por 8 bits.
Carácter: es el conjunto de bits necesarios para representar un símbolo de un código (alfabético, numérico, especial, etc.)
Palabra: es una unidad lógica de información. Generalmente está compuesto por un número entero de bytes o caracteres.
El tiempo de transmisión de estados o tiempos de cada ciclo de un computador es el tiempo que se requiere para modificar los valores de un conjunto de registros y está determinado por la frecuencia del reloj. El período se calcula como la inversa de la frecuencia:
Período * Frecuencia = 1
[ Período ] = s (segundo)
[ Frecuencia ] = Hz (Hertz).
1 KB (kilobyte) = 210 bytes = 1024 bytes
1 MB (megabyte) = 220 bytes = 1024 KB
1 GB (gigabyte) = 230 bytes = 1024 MB
1 TB (terabyte) = 240 bytes = 1024 GB
1 ms (milisegundo) = 10-3 segundos
1 ms (microsegundo) = 10-6 segundos
1 ns (nanosegundo) = 10-9 segundos
1 ps (picosegundo) = 10-12 segundos
Registros del procesador
Dentro del procesador, hay un conjunto de registros que ofrecen un nivel de memoria que es más rápido y pequeño que la memoria principal. Los registros del procesador sirven para dos funciones:
a) Registros visibles del usuario (o Registros para el programador de sistemas)
b) Registros de control y de estado (o Registros para el programador de sistemas)
Ejecución de instrucciones
Un ciclo para la ejecución de instrucciones posee cuatro etapas:
a) Búsqueda de la instrucción (BI) (fase fetch)
b) Decodificación (D)
c) Búsqueda de operandos (BO)
d) Ejecución (E)
Los microprocesadores de INTEL trabajan con un sistema llamado Cascada o Pipeline que consiste en poder trabajar con cuatro instrucciones en forma simultánea. Cuando se ejecuta una serie de instrucciones al ritmo de los impulsos de un reloj, con el primero de dichos impulsos se realiza la BI de la primera instrucción (11). Con el segundo impulso, 11 pasa a la fase D y 12 pasa a BI. Y así sucesivamente.
A continuación veremos la ejecución de instrucciones de un fragmento de programa que suma el contenido de la dirección 940 al contenido de la dirección 941 y almacena el resultado en esta última dirección.
Conociendo el siguiente mapeo de memoria:
300 1940
301 5941
302 2941
...... .......
940 0003
941 0002
Conociendo los siguientes códigos de operación (que serán cargados en el Registro de Instrucciones IR) :
0001 : Cargar de la memoria al AX
0010 : Almacenar el AX en memoria
0101 : Sumar al AX el contenido de la memoria
Y sabiendo que IP = 0300. Entonces la secuencia de ejecución de las instrucciones es la siguiente:
a) Se carga el contenido de la ubicación 300 en el IR. ( IR = 1940 )
b) Los primeros 4 bits del IR indican la operación a realizar (Código de operación 0001 – Cargar de memoria al AX). Los 12 bits restantes indican la dirección de memoria.
O sea, el valor que está en 940 se carga en AX. ( AX = 3 )
c)Se incrementa el IP y se lee la instrucción siguiente. ( IP = 0301 )
d) Se carga el contenido de la ubicación 301 en el IR. ( IR = 5941 )
e) Los primeros 4 bits del IR indican la operación a realizar (Código de operación 0101 – Sumar al AX el contenido de la memoria). Los 12 bits restantes indican la dirección de memoria.
O sea, al valor de AX se le suma el que está en 941. ( AX = 5 )
f) Se incrementa el IP y se lee la instrucción siguiente. ( IP = 0302 )
g) Los primeros 4 bits del IR indican la operación a realizar (Código de operación 0010 – Almacenar el AX en memoria). Los 12 bits restantes indican la dirección de memoria.
O sea, el valor de AX se carga en la dirección 941. ( [941] = 0005)
El registro IP (Instruction Pointer) también puede ser llamado PC (Program Counter).
Interrupciones
Existen cuatro clases de interrupciones:
a) De programa: generadas por alguna condición que se produce como resultado de la ejecución de una instrucción, como el desbordamiento aritmético, división por cero o una referencia a un espacio de memoria no accesible al usuario.
b) De reloj: generadas por un reloj interno del procesador. Permite al S.O. llevar a cabo ciertas funciones con determinada regularidad.
c) De E/S: generadas por un controlador de E/S para indicar que una operación ha terminado normalmente o para indicar diversas condiciones de error.
d) Por fallo del hardware: generadas por fallos tales como un corte de energía o un error de paridad de la memoria.
El acontecimiento de una interrupción desencadena una serie de sucesos, tanto en el HW del procesador como en el SW. Cuando un dispositivo de E/S completa una operación de E/S, se produce en el HW la siguiente secuencia de sucesos (aunque deberá tenerse en cuenta si la interrupción es enmascarable, no enmascarable o una excepción):
a) El dispositivo emite una señal de interrupción al procesador.
b) El procesador finaliza la ejecución de la instrucción en curso.
c) El procesador pregunta por la interrupción, comprueba que ésta existe y envía una señal de reconocimiento al dispositivo que generó dicha interrupción.
d) El procesador se prepara para transferir el control a la rutina de interrupción. Para ello, salva la información necesaria para reanudar la ejecución del programa en curso en el punto de la interrupción.
e) El procesador carga en el contador de programa la ubicación de entrada del programa de tratamiento de la interrupción.
f) Se transfiere el control a la rutina que tratará la interrupción. Dicha rutina procederá a procesar la interrupción.
g) Cuando se completa la ejecución de la rutina de interrupción, se recuperan de la pila los valores de los registros que se salvaron y se restauran los registros. Luego, se continúa con la normal ejecución del programa.
Sistemas de transmisión de datos
a) Monodireccional o Simplex: se efectúa en un solo sentido.
b) Bidireccional Duplex o Full Duplex: se efectúa en ambos sentidos al mismo tiempo.
c) Bidireccional Half Duplex: se efectúa en ambos sentidos, pero no al mismo tiempo.
Operaciones en una transferencia de datos
a) Codificación: vuelco de la información al código apropiado para transmisión.
b) Emisión: se envía a la línea de comunicación los impulsos correspondientes a las señales preparadas y codificadas por el elemento transmisor.
c) Registración: memorización de los impulsos recibidos.
d) Traducción o Descodificación: la inversa de la codificación.
Velocidades de transmisión
Las velocidades en la transmisión se miden en Baudios. En algunos casos, esta unidad coincide con los bits que se envían en la unidad de tiempo, pero generalmente incluye la información de control.
Con respecto a la alimentación de los sistemas de transmisión, ésta puede realizarse de las siguientes formas:
a) Corriente continua simple: la corriente se transmite en un solo sentido. Los estados se representan con emisión / reposo.
b) Corriente continua doble: los estados son representados con el sentido en que circula la corriente.
c) Corriente alternada: la corriente invierte el sentido tantas veces como sea su frecuencia en un segundo.