Es importante resaltar que en todas estas representaciones se puede constatar que todos los computadores tienen la misma forma de operar. Una diferencia es la incorporación de buses en las arquitecturas actuales, lo que ha permitido el desarrollo de cada unidad funcional por separado.
Algunos de los elementos funcionales:
Unidades de entrada y salida
Unidad de memoria
Unidad aritmética lógica
Unidad de control
Buses: dirección, dato, control, I/O
Unidad aritmetica logica
Los registros flag sirven para indicar el estado del procesador despues de realizar una operacion de calculo. Los registros son flip flop que registran las caracteristicas del resultado arrojado por una instruccion.
Dependiendo de los fabricantes los flags pueden ser muy diversos pero hay algunos que en general se encuentran en casi todos los procesadores:
- Flag de signo: indica si el resultado de la ultima operacion fue positiva o negativa.
- Flag de cero: indica si el resultado de la ultima operacion fue cero o distinto de cero.
- Flag de overflow: indica si el resultado fue mayor que la capacidad de representacion del acumulador
- Flag de underflow: cuando el resultado es menor a la minima capacidad de representacion del acumulador
Las operaciones aritmeticas y logicas se realizan siempre sobre algun registro y tienen como pivote el registro acumulador:
- Sobre el acumulador, solamente
- Entre el acumulador y algun registro
- Entre el acumilador y una direccion de memoria
- Entre el acumulador y un dato inmediato.
Unidad de control
La unidad de control comanda el registro que contiene la direccion de la instruccion que se esta ejecutando o de la proxima instruccion a ejecutar, esto depende del estado de avance en el tiempo de ejecucion de la instruccion.
El registro de direccion de instruccion y la memoria stack estan relacionados ya que esta contiene las direcciones de retorno de las rutinas del programa.
El registro de direcciones requiere de un procesamiento aritmetico de direcciones de acuerdo al largo, en bytes, de la instruccion en ejecucion.
La unidad de control dispone del registro de instruccion que almacena la instruccion que se esta efectuando, es decir una vez finalizado el fetch.
La instruccion esta compuesta de dos partes:
- El codigo de operacion el llamado opcode, con el cual se alimenta al decodificador de instruccion
- Una direccion que se puede almacenar en algun registro de direcciones
Unidad de memoria
Las memorias del tipo ROM corresponden a tecnologia de memorias, electronicas, de estado solida no volatil, esto significa que no requieren de energia para mantener los valores que almacenan.
Las memorias RAM necesitan energia para mantener la informacion almacenada, se reconocen dos grandes familias:
- Las SRAM o ram estaticas, rapidas, caras, de alto consumo utiles como memorias cache L2
- Las DRAM o ram dinamicas, lentas, baratas, de bajo consumo se usan como memoria principal
La forma de trabajo de un ciclo de memoria con el envio de una direccion por el BUS de DIRECCION, AB (address bus), dicha direccion se almacena en un registro de direcciones de memoria, MAR (memory address register)
La operacion de memoria puede ser de lectura o escrtura.
Lectura: el contenido de la celda direccionada por el MAR se transfiere a un registro de datos de memoria MDR (memory data register) el que transfiere su contenido al bus de datos DB (data bus), de alli al registro del procesador que corresponda.
Escritura: una vez seleccionado el MAR , se transfiere el contenido del DB al MDR, desde donde se lleva a la celda seleccionada, completando el proceso de escritura.
Papel del bus de control: a traves de este bus, la unidad de control activa el MAR el MDR y los demas registros involucrados en los procesos de lectura-escritura. Sincroniza el momento en que se activan AB y DB, esto corresponde a un conjunto de microoperraciones necesarias para producir una lectura o escritura en memoria.
Unidad entrada y salida
Dado que la CPU trabaja a velocidades mucho mayor que los equipos perifericos (nsg. v/s msg) se requiere una unidad que se encargue de organizar cual de los perifericos conectados sera habilitado para intercambiar informacion con el procesador.
La unidad de entrada/salida puede ser un multiplexor/demultiplexor, a traves del selector de puertas se direcciona cual de los equipos debe conectarse, la señal de control establece la modalidad de comunicacion I/O, la informacion se transfiere al I/O data desde donde se traslada al DB.
Existen diversas modalidades de organizacion para transferir informacion:
- Tiempo: sincronico o asincronico
- Datos: secuenciales, paralelos
- Coneccion directa al DB, se elimina el I/O data
- Coneccion directa a memoria, DMA (Data Memory Access), permite coneccion
- entre procesadores y entre unidades controladoras rapidas, interfases de discos, etc