ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Arquitectura Alfa


Enviado por   •  9 de Abril de 2013  •  4.041 Palabras (17 Páginas)  •  341 Visitas

Página 1 de 17

1 ARQUITECTURA DEL ALPHA

Para comprender con posterioridad el porqué del funcionamiento del simulador es necesario conocer la

arquitectura del microprocesador en la que nos hemos basado. Ese es el objetivo de este segundo

apartado en el que se explicarán las principales características de la arquitectura del Alpha 21164PC.

En los sucesivos subapartados se explicaran los tipos de datos que soporta el Alpha, el conjunto de

registros que maneja, los formatos de instrucciones, como accede a memoria, su

microarquitectura(lanzamiento de múltiples instrucciones) y PALcode(tratamiento de las excepciones).

A continuación se detallan una serie de puntos que diferencian al Alpha de cualquier otro

microprocesador y que nos servirán a modo de introducción:

 Arquitectura real de 64 bits. Todos los registros son de 64 bits y todas las operaciones se

realizan entre registros de 64 bits. No es una arquitectura de 32 bits que más tarde fue ampliada a una

de 64 bits.

 Manipulación de bytes y words. La arquitectura del Alpha lee y escribe bytes y words entre

registros y memoria mediante las instrucciones LDBU y STB(bytes) y LDWU y STW(words).

 Memoria compartida multiprocesador. La secuencia de interbloqueo básica que se emplea en

un sistema multiprocesador en el que se quiere acceder a la memoria compartida consiste en: cargabloqueo,

modificación y almacenamiento-condicional. Si la secuencia se ejecuta sin interrupciones,

excepciones o una escritura por parte de otro procesador, entonces el almacenamiento condicionado

tiene éxito. En otro caso el almacenamiento fracasa y el programa debe retroceder de forma eventual y

reintentar la secuencia.

 PALcode. Es una librería de arquitectura privilegiada, que consiste en un juego de subrutinas que

son específicas de una implementación de sistema operativo Alpha particular. Estas subrutinas

proporcionan al sistema operativo primitivas para facilitar el cambio de contexto, interrupciones,

excepciones y manejo de memoria. PALcode es similar a las librerías de la BIOS que son

proporcionadas en los ordenadores personales. Las subrutinas se pueden invocar por hardware o por

software(mediante las instrucciones CALL_PAL).

 Direccionamiento. La unidad básica direccionable es el byte. Las direcciones virtuales son de 64

bits. Una implementación puede soportar un espacio de direcciones virtuales más pequeño. Las

direcciones virtuales vistas por el programa son traducidas a direcciones de memoria física por un

mecanismo de manejo de memoria. Una implementación debe incluir soporte tanto para el

direccionamiento little–endian como para el big-endian.

2. MODELO DE PROGRAMACIÓN

2.1 TIPOS DE DATOS

2.1.1 BYTE

Un byte son 8 bits contiguos de memoria que comienzan en el límite de un byte direccionable. Los bits

son numerados de derecha a izquierda, de 0 a 7, como se muestra en la figura:

Un byte se especifica por su dirección A. Un byte es un valor de 8 bits. El byte esta soportado en el

Alpha sólo por las instrucciones de carga, almacenamiento, extensión de signo, extracción,

enmascaramiento, inserción y zap.

2.1.2 WORD

Una palabra(word) son dos bytes contiguos que empiezan en el límite de un byte arbitrario. Los bits son

numerados de derecha a izquierda, de 0 a 15, como se muestra en la figura:

Una palabra se especifica por su dirección, la dirección del byte que contiene el bit 0.

Una palabra es un valor de 16 bits. La palabra se soporta en la arquitectura Alpha sólo por las

instrucciones de carga, almacenamiento, extensión de signo, extracción, enmascaramiento e inserción.

2.1.3 LONGWORD

Una palabra larga(longword) son cuatro bytes contiguos que comienzan en el límite de un byte

arbitrario. Los bits se numeran de derecha a izquierda, de 0 a 31, como se muestra en la figura:

Una longword se especifica por su dirección A, la dirección del byte que contiene el bit 0. Una longword

es un valor de 32 bits.

Cuando se interpreta de forma aritmética, una longword es un entero en complemento a dos en el cual

el bit más significativo es el 0 y el 31 es el de signo. La palabra larga sólo es soportada en el Alpha por

las instrucciones de carga y almacenamiento con extensión de signo y por las aritméticas que operan

sobre longwords.

2.1.4 QUADWORD

Una cuádruple palabra(quadword) son ocho bytes contiguos que comienzan en el límite de un byte

arbitrario. Los bits son numerados de derecha a izquierda, de 0 a 63, como se muestra en la figura:

Una quadword se especifica por su dirección A, la dirección del byte que contiene el bit 0. Es un valor

de 64 bits. Cuando se interpreta aritméticamente, una quadword puede ser un entero en complemento

a dos, siendo el bit 0 el menos significativo y el 63 el de signo, o como un entero sin signo, en cuyo

caso el bit más significativo sería el 63.

2.1.5 FORMATOS VAX EN COMA FLOTANTE

Los números VAX en coma flotante se almacenan en memoria según un juego de formatos y en los

registros de coma flotante según un segundo juego de formatos. Las instrucciones de carga y

almacenamiento en coma flotante pasan de un formato a otro realojando los bits, no se realiza ningún

tipo de redondeo ni de chequeo de rango por dichas instrucciones.

 F_floating. Son cuatro bytes contiguos en memoria. Los bits se etiquetan del 0 al 31 como se ve

en la figura:

En un registro flotante de 64 bits se justifica a la izquierda como se aprecia en la figura:

 G_floating. Ocupa ocho bytes contiguos de memoria que comienzan en el límite de un byte

arbitrario. Los bits se etiquetan de 0 a 63 como se ve en la figura:

En un registro de coma flotante se almacena según el siguiente formato:

 D_floating. Ocupa ocho bytes contiguos de memoria, ver figura:

En un registro de coma flotante se almacena según muestra la figura:

2.1.6 FORMATOS IEEE EN COMA FLOTANTE

El estándar IEEE para aritmética binaria en coma flotante, ANSI/IEEE 754-1985, define cuatro formatos

en coma flotante en dos grupos, básico y extendido, cada uno tiene dos anchos, simple y doble. La

arquitectura del Alpha soporta los formatos simple y doble básicos, con el formato básico doble como si

fuera el formato extendido simple.

 S_Floating. Un dato IEEE en simple precisión, o S_Floating, ocupa cuatro bytes contiguos de

memoria empezando

...

Descargar como (para miembros actualizados) txt (28 Kb)
Leer 16 páginas más »
Disponible sólo en Clubensayos.com