ARQUITECTURA VAX
La arquitectura VAX fue diseñado
como una extensión de 32 bits de la arquitectura pdp-11, utiliza un set de
instrucciones tipo CISC y una sintaxis muy similar a la del lenguaje
ensamblador. Los objetivos del VAX, fueron facilitar la tarea de escribir compiladores
y sistemas operativos. Esto se tradujo en una serie de objetivos que incluían
definir interfaces entre lenguajes, hardware, y sistemas operativos y soportar
una arquitectura altamente ortogonal. Los tipos de datos soportados
por esta arquitectura utilizan el nombre “palabra” para referenciar
cantidades. Enteros: 8 (B), 16 (W), 32 (L), 64 (Q) y 128 (O) bits, Punto
flotante: 32 (F), 64 (D,G) y 128 (H) bits, BCD (P): 4 bits por dígito, Cadena
numérica (T,S): 8 bits por dígito y cadena de caracteres (C): 8 bits por
carácter.
Los modos de direccionamientos
utilizados en esta arquitectura son: Literal:
para constantes, en algunas máquinas, literales e inmediatas son dos modos
diferentes de direccionamiento. Inmediato:
un valor inmediato está en el flujo de instrucciones; este modo está codificado
como autoincremento con el contador de programa. Registro: cuando el operando está en el registro. Registro diferido: acceso utilizando un puntero o una o dirección
calculada. Desplazamiento (byte, palabra,
largo): igual que el modo general permite el acceso a variables locales,
pero la base es el contador de programa, dando direccionamiento relativo a este.
Desplazamiento diferido (byte, palabra,
largo): se da direccionamiento indirecto mediante una posición de memoria
que es relativa al PC. Escalado
(indexado): usado para acceder arrays por índice Autoincremento:
útil para recorridos de arrays en un bucle. Autodecremento: el mismo uso que autoincremento pero en decremento.
Autoincremento diferido: el mismo
uso que autoincremento con direccionamiento indirecto mediante una posición de
memoria.
Las operaciones del VAX pueden
dividirse en diferentes tipos o clases y
estas son: Transferencia de datos:
Transferencia de datos entre operandos de byte, media palabra, palabra o doble
palabra. Aritméticas y lógicas:
Operaciones sobre bytes enteros o lógicos, medias palabras (16 bits), palabras
(32 bits). Control: Saltos
condicionales e incondicionales. Procedimientos:
Llamada/retorno de procedimiento. Carácter
decimal de campo de bits: Opera sobre campos de bits de longitud variable,
cadenas de caracteres y cadenas decimales, ambas en formato de caracteres y BCD.
Punto flotante: Operaciones de punto
flotante mediante algunos formatos. Sistema:
Cambia a modo de sistema, modifica registros protegidos. Otros: Operaciones especiales.
ARQUITECTURA 360/370
La arquitectura 360 y 370 son
arquitecturas de 32 bits que fueron diseñadas por IBM. La 360 se introdujo en 1964
y el sistema 370 se dio a conocer en 1970, como sucesor del Sistema 360. El Sistema
370 tiene algunas extensiones sobre el 360 como algunas instrucciones nuevas,
memoria virtual y eliminación de los
requerimientos de alineación de datos pero entre ambas arquitecturas se
mantiene una estricta compatibilidad del lenguaje de máquina. Sus objetivos de
estas arquitecturas incluían lo siguiente: explotar la memoria: gran memoria
principal, Soportar E/S concurrentes: hasta 5 MB/segundo con una interfaz
estándar en todas las máquinas. Crear una máquina de propósito general con
nuevas facilidades de los sistemas operativos y muchos tipos de datos.
Como ya se mencionó el 360/370
son máquinas de 32 bits y tiene direccionalidad por bytes que soporta diversos
tipos de datos y estos son: byte, media palabra (16 bits), palabra (32 bits),
doble palabra (64 bits doble precisión real), decimal empaquetado (4 bits por
digito) y cadenas de caracteres desempaquetados (8 bits por carácter).
El 360 tiene 16 registros de
propósito general de 32 bits, tiene cuatro registros de punto flotante de doble
precisión (64 bits). La palabra de estado de programa (PSW) contiene el
contador de programa, algunos señalizadores, y los códigos de condición. Versiones
posteriores de la arquitectura ampliaron este estado con registros adicionales
de control.
El 360/370 tiene cinco formatos
de instrucción. Cada formato está asociado a un modo de direccionamiento y
tiene un conjunto de operaciones definidas. Los modos de direccionamiento son:
RR (registro-registro).-Ambos
operandos son igual a el contenido de los
registros. El primer operando es también el destino.
RX (registro-indexado).-El primer
operando y cl destino están en un registro. El segundo operando es el contenido
de la posición de memoria dada por la suma de un campo D2 de desplazamiento de
12 bits, el contenido del registro B2, y el del registro X2. Este formato se
utiliza cuando se necesita un registro índice (y para la mayoría de las cargas
y almacenamientos).
RS (registro-memoria).-El primer
operando es un registro que es el destino. El tercer operando es un registro
que se utiliza como segunda fuente. El segundo operando es el contenido de la
posición de memoria dada por la suma del campo de desplazamiento de 12 bits,
D2, y el contenido del registro B2. El modo RS se diferencia del RX en que
soporta una forma de 3 operandos, pero elimina el registro índice. Este formato
se utiliza sólo para un pequeño número de instrucciones.
SI (memoria-inmediato).-El
destino es un operando de memoria dado por la suma del contenido del registro
B1 y el valor del desplazamiento D1. El segundo operando, un campo inmediato de
8 bits, es la fuente.
SS (memoria-memoria).-Las
direcciones de los dos operandos de memoria son la suma del contenido de un
registro base Bi y un desplazamiento Di. El primer operando es el destino. Esta
operación memoria-a-memoria se utiliza para operaciones decimales y para
cadenas de caracteres. El campo de longitud puede especificar una longitud de 1 a 256, o dos longitudes, cada
una de 1 a
16. Para las instrucciones de cadena se utiliza una sola longitud, mientras que
las instrucciones decimales especifican una longitud para cada operando. El
desplazamiento de los formatos RS, RX, SI y SS es de 12 bits sin signo.
Como
en el VAX, las operaciones de la 360 pueden dividirse en diferentes tipos o
clases: Transferencia de datos: Transferencias
entre registros de datos o registro y memoria. Operaciones lógicas sobre bits, cadenas de caracteres, y cadenas fijas:
Son la mayoría de los formatos RR y RX con algunas instrucciones RS. Operaciones decimales o de caracteres sobre
cadenas de caracteres o dígitos decimales: Son las instrucciones de formato
SS. Aritmética binaria de punto fijo:
Está soportada en los formatos RR y RX. Aritmética
de punto flotante: Está soportada principalmente con instrucciones RR y RX.
ARQUITECTURA 8086
La arquitectura de Intel 8086 es una extensión del 8080, el 8086 no se puede considerar como una
máquina de registros de propósito general, porque prácticamente cada registró tiene
un uso dedicado. Esta es una arquitectura de 16 bits, todos los registros
internos son de 16 bits. Los 80186, 80286, 80386 y 80486 son extensiones
compatibles de la arquitectura 8086 y se referencian como procesadores 80x86. Son compatibles en el
sentido de que todos pertenecen a la misma familia arquitectónica la
característica de todos estos es que para
obtener una direccionalidad mayor de 16 bits se añadieron segmentos a la
arquitectura, logrando así un espacio de direcciones mayor.
El 8086 soporta tipos de datos de
8 bits (byte) y de 16 bits (palabra). Las distinciones de tipos de datos se
aplican a las operaciones de registros así como a los accesos a memoria. El
espacio de direcciones en el 8086 es de 20 bits; sin embargo, está descompuesto
en segmentos, de 64 KB, direccionables con desplazamientos de 16 bits. La
dirección del segmento base se obtiene desplazando 4 bits a la izquierda el
contenido de un registro de 16 bits.
El 8086 tiene un total de 14
registros, divididos en cuatro grupos y son registros de datos, registros de
dirección, registros de segmento y registros de control todos estos registros
tienen un uso definido en cuanto a la operación con datos.
Los modos de direccionamiento de memoria soportados son el. Absoluto: dirección absoluta de 16 bits.
Indirecto de registro, Indexado: la dirección es la suma de
dos registros.Registro base con desplazamiento
de 8 o 16 bits y Registro base indexado con
desplazamiento de 8 o 16 bits: la dirección es la suma del desplazamiento y
de los contenidos de dos registros.
Las operaciones del 8086 se
dividen en diferentes tipos o clases y
son: Instrucciones de transferencia:
movimiento de datos, donde se incluyen transferencia, introducir, y sacar datos
de los registros. Instrucciones
aritméticas y lógicas: donde se incluyen operaciones lógicas, de test,
desplazamientos y operaciones
aritméticas decimales y enteras. Instrucciones
de flujo de control: donde se incluyen saltos condicionales e incondicionales,
llamadas y retornos e Instrucciones de
cadena: donde se incluyen transferencia
de cadenas y comparación de cadenas
ARQUITECTURA DLX
La arquitectura DLX es una
arquitectura de 32 bits y hace énfasis en un Repertorio de instrucciones
sencillo (RISC) y fácilmente decodificable, Segmentación eficiente y
construcción de compiladores eficientes. DLX proporciona un buen modelo
arquitectónico para su estudio, no sólo debido a la reciente popularidad de
este tipo de máquinas, sino también porque es una arquitectura fácil de
comprender.
Esta arquitectura dispone de 32
registros de propósito general (GPRs) de 32 bits; el valor de R0 es siempre 0.
Por otra parte, existe un conjunto de 32 registros en coma flotante (FPRs), los
cuales pueden ser usados como registros de simple precisión (32 bits) o en
parejas par-impar almacenando valores de doble precisión (64 bits). Se accede a
los registros en coma flotante de doble precisión mediante los nombres F0, F2,
..., F28 y F30. Como es lógico, se proporcionan operaciones de simple y doble
precisión. Existe un conjunto de registros especiales usados para acceder a la
información sobre el estado de la máquina. El registro de estado de las
operaciones en coma flotante es usado tanto en comparaciones como excepciones
de coma flotante. Todos los movimientos desde o hacia los registros de estado
se realizan a través de los registros de propósito general; también existe una
instrucción de bifurcación que testea el valor del registro de estado de las
operaciones en coma flotante.
Los tipos de datos son
direccionables por bytes, en modo “Big Endian” y con direcciones de 32 bits.
Todas las referencias de memoria se realizan a través de cargas o
almacenamientos entre memoria y los GPRs o FPRs. Los accesos que involucren a
los GPRs pueden realizarse a un byte (8 bits), a media palabra o halfword (16
bits) o a una palabra (32 bits). Los FPRs pueden ser cargados y almacenados
mediante una palabra, para simple precisión, o dos palabras, para doble
precisión (usando un par de registros). Todos los accesos a memoria sobre
palabras o dobles palabras deben estar alineados.
Las operaciones de la
arquitectura DLX se dividen en cuatro clases de instrucciones: cargas y
almacenamientos: Cualquiera de los registros de propósito general o en coma flotante
puede ser cargado o almacenado, excepto que el cargar sobre R0 no tiene ningún
efecto, las cargas de medias palabras (halfwords) y de bytes ponen el valor
cargado en la parte baja del registro y la parte alta del mismo se rellena con
el signo del valor cargado o con ceros, dependiendo del código de operación ya
sea carga con signo o sin signo. Los números en coma flotante de simple
precisión ocupan un solo registro en coma flotante, mientras que los valores de
doble precisión ocupan un par. Operaciones ALU: todas las operaciones sobre la ALU se realizan mediante
instrucciones registro-registro las operaciones incluyen operaciones
aritméticas y lógicas: suma , resta , and, or, xor y desplazamientos. Saltos y
bifurcaciones: el control de flujo del programa se realiza a través de una
serie de saltos y bifurcaciones y operaciones en punto flotante: las
instrucciones en coma flotante manejan los registros en coma flotante e indican
si la operación que se va a realizar es de simple o doble precisión.
CONCLUSIONES
Después de
hacer un resumen de los principios generales,
características y las partes más relevantes de las arquitecturas VAX, 360/370,
8086 y DLX es necesario mencionar que los tipos de datos que soportan estas
arquitecturas y cualquier otra arquitectura siempre van a ser los bits.
También se debe tener
en cuenta que el repertorio de instrucciones de las arquitecturas esta formada
en base a un conjunto de operaciones las cuales definen la función que desempeña cada instrucción. La sintaxis
que utilizan las diferentes arquitecturas varían ya que cada arquitectura
tienen características únicas como el tipo de registros que tienen, los modos
de direccionamiento y como utilizan las instrucciones.
LINK PRESENTACION KNOVIO
http://watch.knowledgevision.com/5b50e5aeca1443aa859a3da755da66a9
REFERENCIAS
Arquitectura de computadoras: Un Enfoque Cuantitativo. Retrieved
September 28, 2014, from http://electro.fisica.unlp.edu.ar/arq/downloads/Bibliografia/Hennessy-Patterson%20-%20Arquitectura%20de%20Computadores.%20Un%20Enfoque%20Cuantitativo%20-%20SCAN.pdf