martes, 30 de septiembre de 2014

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.


 El VAX tiene 16 registros de propósito general, pero cuatro registros son utilizados realmente por la arquitectura. Por ejemplo, R15 es el contador de programa el cual contiene la dirección de la próxima instrucción a procesar, R14 es el puntero de pila  el cual almacena la dirección de la cabecera de la pila del sistema, R12 es el puntero de argumentos y R13 es el puntero de trama los cuales son especialmente útiles cuando se manejan procedimientos y se quiere acceder a la información de la trama de pila creada en la llamada y ejecución de procedimiento. También se utilizan bits de condición o flags y estos son: Z(cero) se activa si el resultado de operación es igual a 0, N(negativo) se activa si el resultado de operación es negativo, V(desbordamiento) se activa si hay acarreo y C(acarreo) se activa si hay desbordamiento.
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 





No hay comentarios.:

Publicar un comentario