Arquitectura segmentada
Las arquitecturas segmentadas aparecieron a mediados de los años 1960's como una
manera de aumentar el rendimiento sin implicar un nivel masivo de paralelismo Durante
los años 1980's fueron una de las ideas centrales de los procesadores RISC, buscando
alcanzar el objetivo de que se ejecutara una instrucción cada ciclo de máquina. En Inglés
se conocen como “pipelined procesors” o procesadores entubados [2]
Máquina secuencial
Buses de datos y direcciones compartidos
Diseño multietapa (Pipeline)
El diseño multietapa le permite ejecutar más de una operación a la vez
Se encuentra combinada con software CISC y en pocas ocasiones con RISC
Más rápida que Von Neuman
Arquitectura de Harvard
Dispone de dos memorias independientes, una que contiene sólo instrucciones, y otra que
contiene sólo datos. Ambas disponen de sus respectivos sistemas de buses de acceso y es
posible realizar operaciones de acceso (lectura o escritura) simultáneamente en ambas
memorias, ésta es la estructura para los PIC's
El tamaño de los buses que direccionan la memoria de datos y la de programa son diferentes.
Lo mismo pasa con el bus que transfiere las instrucciones y el que lo hace con los datos. La total
independencia entre los accesos a las dos memorias permite realizar accesos simultáneos [1]
Ciclos de Instrucción
Von Neumann
Hardvard
Características:
Características:
Pocas instrucciones
Más fácil de aprender el método de programación
Mayor tamaño del código de programa
La CPU trabaja mas rápido al utilizar menos ciclos de reloj para cumplir sus
funciones (ejecutar instrucciones).
Utiliza un sistema de direcciones no destructivas en RAM. Eso significa que a
diferencia de CISC, RISC conserva después de realizar sus operaciones en
memoria los dos operándoos y su resultado (total tres direcciones), lo que facilita
a los compiladores conservar llenos los 'pipelines' (conductos) de la CPU para
utilizarlos concurrentemente y reducir la ejecución de nuevas operaciones.
Cada instrucción puede ser ejecutada en un solo ciclo de la CPU (máxima
velocidad y eficiencia).
Ilustración 5Comparación entre arquitectura CISC y RISC
La tecnología SISC nació como concepto en 1975 en los laboratorios Yorktown Heights
de IBM. Fue desarrollada por John Cocke quien investigaba cómo simplificar las
instrucciones utilizadas para desempeñar tareas de cómputo; sin embargo, fue hasta enero
de 1986 cuando IBM anunció la primera generación de computadoras basadas en RISC.
Almacenan información específica sobre el estado del sistema como el puntero de pila o
el registro de estado.
Permiten llevar un récord de estado del procesador en todo momento.
Los mas importantes son el contador de programa (PC), el registro de banderas, y el
apuntador de pila (SP).
Otros registros: Si bien los cuatro citados pueden considerarse los más importantes, todos
los microprocesadores disponen además de otros registros de uso específico, ocultos en
su mayor parte que emplean para almacenar el código de la instrucción que está
ejecutándose, contener temporalmente datos procedentes de memoria que van a intervenir
en un cálculo, etc. [5]
Aun cuando estos registros pueden mantener cualquier tipo de datos, algunos tienen cierta
funcionalidad específica o son usados de manera especial por algunas instrucciones
Los registros de propósitos generales AX, BX, CX y DX son los caballos de batalla o las
herramientas del sistema. Son los únicos en el sentido de que se puede direccionarlos
como una palabra o como una parte de un byte. El último byte de la izquierda es la parte
“alta”, y el último byte de la derecha es la parte “baja”. [5]
Registros ax.
El registro ax, el acumulador principal, es utilizado para operaciones que implican
entrada/salida y la mayor parte de la
Aritmética. Por ejemplo, las instrucciones para multiplicar, dividir y traducir suponen el
uso del ax.
Registro bx.
El bx es conocido como el registro base ya que es el único registro de propósitos generales
que pueden ser unos índices
Para direccionamiento indexado. También es común emplear al bx para cálculos.
Registro cx.
El cx es conocido como el registro contador. Puede contener un valor para controlar el
número de veces que un ciclo se
Repite o un valor para corrimiento de bits, hacia la derecha o hacia la izquierda.
Registro dx.
El dx es conocido como el registro de datos. Algunas operaciones de entrada/salida
requieren su uso, y las operaciones
De multiplicación y división con cifras grandes suponen al dx y al ax trabajando juntos.
Bancos de memoria
Cada banco se extiende hasta la dirección de memoria 7Fh (128 bytes). Las posiciones
inferiores de cada banco están reservadas para los registros de funciones especiales, a
continuación de estos, se ubican los registros de propósito general, implementado como
RAM estática. Todos los bancos implementados contienen registros de funciones
especiales. Uno de los usos más frecuentes de estos registros con respecto a un banco,
puede ser el reflejo en otro para la reducción de código y la vía de entrada más rápida.
Ilustración 6 Bancos de memoria de los PIC de la gama media.
Los PIC´s de la gama mejorada, poseen memoria de datos RAM en todas las versiones
hasta 1MB, con MMU y 4 canales de DMA. También tienen versiones de memoria de
datos EEPROM (con protección) de 256 bytes
es un registro que siempre apunta a ladirección en
memoria de programa que se esta ejecutando
la bandera
de interrupción (IF