Вы находитесь на странице: 1из 17

Asignatura: Arquitectura de computadores Plantilla de Diseño y Arquitectura

MODALIDAD PRESENCIAL

ÁREA TÉCNICA

INGENIERÍA EN SISTEMAS INFORMÁTICOS Y


COMPUTACIÓN

ARQUITECTURA DE COMPUTADORAS

“REPRESENTACIÓN DE CORRESPONDENCIA DIRECTA,


USANDO PROCESADOR INTEL 80486DX2”

PRIMERA ENTREGA

ING. RODRIGO BARBA

KARAL MINGA HERRERA

PERIODO ACADÉMICO
Oct/2017 - Feb/2018

Arquitectura de computadores - Página 1 de 17


Sección Inteligencia Artificial – Departamento de Ciencias de la Computación y Electrónica UTPL
Asignatura: Arquitectura de computadores Plantilla de Diseño y Arquitectura

ÍNDICE

TABLA DE CONTENIDO

ÍNDICE..................................................................................................................................................2
1 ESTILO ARQUITECTÓNICO...................................................................................................................3
1.1 Presentación.................................................................................................................................................3
1.2 Justificación..................................................................................................................................................8
2 DISEÑO...........................................................................................................................................9
2.1 Diagrama del Sistema....................................................................................................................................9
2.2 Diagrama de despliegue...............................................................................................................................11
3 BIBLIOGRAFIA...................................................................................................................................16

Arquitectura de computadores - Página 2 de 17


Sección Inteligencia Artificial – Departamento de Ciencias de la Computación y Electrónica UTPL
Asignatura: Arquitectura de computadores Plantilla de Diseño y Arquitectura

1 ESTILO ARQUITECTÓNICO

1.1 Presentación

El presente proyecto consiste en la simulación de la correspondencia directa utilizando el


procesador Intel 80486DX2 que es una variante del i486, para el desarrollo del mismo es
necesario comprender el funcionamiento y estructura del procesador, de la memoria
cache y de la memoria principal, y como estos están interrelacionados.

El procesador Intel 80486DX2 lanzado en 1992 pertenece a la familia de


microprocesadores de 32 bits con arquitectura x86 diseñados y fabricados por Intel
Corporation y también fabricados mediante licencia ó ingeniería inversa por otras
empresas, muy similar a sus predecesores, los Intel 80386, con las diferencias principales
de poseer un conjunto de instrucciones optimizado, una unidad de coma flotante y una
caché unificada, integrados en el propio circuito integrado del microprocesador y una
unidad de interfaz de bus mejorada, la variante de este ante el i486DX es la circuitería
adicional del multiplicador del reloj.

El 80486DX2 contiene 8 registros de 32 bits para los propósitos generales:

 EAX (Extended Accumulator Register) – Es un registro volátil, dado que su valor no


es almacenado. Sus funcionalidades de uso común son: Almacenar el valor de
retorno de una función y utilizarlo como contenedor para resolver sencillas
operaciones matemáticas.[1]
 EBX (Extended Base Register) - Es un registro no volátil, suele utilizarse como apoyo
para acelerar el cálculo de operaciones. [1]
 ECX (Extended Counter Register) – Registro volátil que puede ser utilizado como
contador de bucle o contenedor de parámetros que sean pasado a funciones[1]
 EDX (Extended Data Register) – Registro volátil usado mayormente como parámetro
para funciones. Normalmente se usa también para almacenar variables a corto plazo
dentro de una función.[1]
 ESI (Extended Source Index) – Registro no volátil que normalmente es usado como
puntero. Es utilizado por aquellas funciones que requieren un origen y un destino
para los datos que se utilizan. Apuntando este al origen en todo momento.[1]
 EDI (Extended Destination Index) - Al igual que el registro ESI, es no volátil y usado
como puntero, a diferencia de que este apunta al destino siempre.[1]
 EBP (Extended Base Pointer) – Registro no volátil con dos usos comunes según el
compilador que utilicemos, así puede desempeñar el papel de un registro como otro
cualquiera o ser el puntero al marco de pila [1].
 ESP (Extended Stack Pointer) – Almacena un puntero a la parte inferior de la pila.
Tras ejecutar una función el valor que tenía el registro al principio debe de coincidir
con el asociado tras la función[1]

Arquitectura de computadores - Página 3 de 17


Sección Inteligencia Artificial – Departamento de Ciencias de la Computación y Electrónica UTPL
Asignatura: Arquitectura de computadores Plantilla de Diseño y Arquitectura

 EIP (Extended Instruction Pointer)

Estos registros se pueden usar como los registros para la información de 8, 16 o 32 bits
o para direccionar una localidad en el sistema de la memoria.

Este microprocesador es básicamente un 80386 con el agregado de una unidad de


punto flotante compatible con el 80387 y un caché de memoria de 8 KBytes. Por lo tanto
los bloques que lo componen son los siguientes:

Unidad de ejecución: Incluye los registros de uso general de 32 bits, la unidad lógico-
matemática y un barrelshifter de 64 bits. La unidad de ejecución está mejorada con lo que
se necesita un solo ciclo de reloj para las instrucciones más frecuentes.

Unidad de segmentación: Incluye los registros de segmento, los cachés de información


de descriptores y la lógica de protección.

Interfaz con el bus: Incluye los manejadores del bus de direcciones, bus de datos de 32
bits y bus de control.

Unidad de instrucciones:
Incluye la unidad de prebúsqueda que le pide los bytes de instrucciones al caché (ambos
se comunican mediante un bus interno de 128 bits), una cola de instrucciones de
32 bytes, la unidad de decodificación, la unidad de control, y la ROM de control (que
indica lo que deben hacer las instrucciones).

Unidad de punto flotante:

Incluye ocho registros de punto flotante de 80 bits y la lógica necesaria para realizar
operaciones básicas, raíz cuadrada y trascendente de punto flotante.

Por su parte, se puede definir a la cache como una memoria que se sitúa entre la unidad
central de procesamiento (CPU) y la memoria de acceso aleatorio (RAM) , dicha memoria
está estructurada por celdas, donde cada celda almacena un byte. La entidad básica de
almacenamiento la conforman las filas, llamados también líneas de caché, además tiene
un espacio de almacenamiento llamado Tag RAM, que indica a que porción de la RAM se
halla asociada cada línea de caché, y el bit de validez que indica si el bloque contiene
datos válidos.

El procesador 80486, tienen un caché interno que almacena 8KB de instrucciones y


datos, además puede usar un caché de segundo nivel (L2) fuera del chip para aumentar
aún más el rendimiento general del sistema.

La memoria cache funciona de manera semejante a la memoria principal, pero es de


menor tamaño y de acceso más rápido. Es usada por el microprocesador para reducir el

Arquitectura de computadores - Página 4 de 17


Sección Inteligencia Artificial – Departamento de Ciencias de la Computación y Electrónica UTPL
Asignatura: Arquitectura de computadores Plantilla de Diseño y Arquitectura

tiempo de acceso a datos ubicados en la memoria principal que se utilizan con más
frecuencia, esto también reduce el uso del bus externo por parte del procesador.

Para establecer a qué bloque o bloques de memoria caché se puede llevar cada bloque
de memoria, existen las estrategias de correspondencia, estas son:

 Directa
 Totalmente asociativa
 Asociativa por conjuntos

La correspondencia directa, consiste en que un bloque de memoria principal únicamente


podrá ser ubicado en una posición determinada de la memoria caché.

Normalmente se utiliza la función módulo (resto de la división entera), que podemos


expresar de la siguiente manera:

POS = D módulo N

Dónde:

 POS es la posición que ocupará el bloque dentro de la memoria caché.

 D es la dirección del bloque de memoria principal.

 N es el número de bloques que tiene la caché.

De acuerdo con la ecuación anterior, el formato de la dirección de caché será de la


siguiente manera:

ETIQUETA INDICE DEZPLAZAMIENTO

El desplazamiento será el mismo que el que tenga la dirección del bloque de memoria
principal, ya que el tamaño de los bloques es igual, tanto en memoria principal como en
caché, se calcula mediante el descarte del log2 del número de bytes por bloque [2].

El índice es el conjunto de bits de la dirección de bloque de memoria principal, que se


utilizan para obtener la posición que ocupará el bloque dentro de la caché, se calcula
mediante el log2 del número de posiciones de la cache. [2]

La etiqueta será el resto de bits de la dirección de bloque de memoria principal, que no


se han utilizado como índice. Son los bits que se comparan a la hora de determinar si un
bloque se encuentra en caché o no [2].

La característica principal de esta correspondencia es que cada bloque de memoria


principal solamente puede ubicarse en una única línea de la caché, volviéndola simple y

Arquitectura de computadores - Página 5 de 17


Sección Inteligencia Artificial – Departamento de Ciencias de la Computación y Electrónica UTPL
Asignatura: Arquitectura de computadores Plantilla de Diseño y Arquitectura

económica, está correspondencia es la más básica, sin embargo su estudio es muy


importante para la comprensión de los otros tipos de correspondencia.

En la Fig 1. Se presenta la arquitectura del procesador Intel 80486DX2, en la Fig.2 el


esquema de la memoria cache, además en la Fig. 3 se presenta el diagrama de flujo
sobre el funcionamiento de la cache y en la Fig. 4 se presenta el esquema de la
correspondencia directa.

Fig.1.Arquitectura del procesador intel 80486DX2

Fuente: https://es.wikipedia.org/wiki/Intel_80486#/media/File:80486DX2_arch.svg

Arquitectura de computadores - Página 6 de 17


Sección Inteligencia Artificial – Departamento de Ciencias de la Computación y Electrónica UTPL
Asignatura: Arquitectura de computadores Plantilla de Diseño y Arquitectura

Fig.2.Esquéma de la cache
Fuente:http://www2.uned.es/ca-bergara/ppropias/Morillo/web_etc_II/02_unidad_memoria/transp_mem_cache.pdf

Fig.3.Diagrama
de flujo de
funcionamiento de cache
Elaborador por: La autora.

Arquitectura de computadores - Página 7 de 17


Sección Inteligencia Artificial – Departamento de Ciencias de la Computación y Electrónica UTPL
Asignatura: Arquitectura de computadores Plantilla de Diseño y Arquitectura

Fig.4. Esquema de correspondencia directa


Fuente: https://www.uv.es/varnau/SMPCache.pdf

1.2 Justificación
El buen diseño de un Sistema de Memoria consiste en Optimizar la organización para
minimizar el tiempo de acceso promedio para las cargas de trabajo típicas, en este
contexto cumple gran importancia la correspondencia directa pues permite que cada
bloque de memoria principal se corresponda a una línea de la memoria cache. En otras
palabras, es la técnica más simple de todas, donde cada bloque de la memoria principal
se transforma en un único bloque de la memoria caché.
Un ordenador para realizar tareas de programación depende en un 70% del tiempo de la
memoria, en un 10% de la CPU y en un 20% de los elementos de entrada / salida, por
tanto el uso de la memoria cache se vuelve sumamente importante, más aún, si
consideramos que esta memoria es el área de almacenamiento dedicada a los datos
usados o solicitados con más frecuencia para su recuperación a gran velocidad.
De esta manera podemos obtener información ordenada de una forma muy simple y a
muy bajo costo. Sin embargo de esto su principal desventaja es que cualquier bloque
dado tiene asignada una posición fija en la memoria caché. Así, si ocurre que un
programa efectúa repetidas referencias a palabras de dos bloques diferentes de la
memoria principal que tienen asignado el mismo bloque de la memoria cache, estos
bloques se estarán moviendo continuamente entre la memoria caché y la memoria
principal, con la consiguiente pérdida de rendimiento del sistema.

Arquitectura de computadores - Página 8 de 17


Sección Inteligencia Artificial – Departamento de Ciencias de la Computación y Electrónica UTPL
Asignatura: Arquitectura de computadores Plantilla de Diseño y Arquitectura

2 DISEÑO

2.1 Diagrama del Sistema

Fig.5. Casos de uso


Elaborador por: La autora.

En la figura 5. Se presenta el diagrama UML de casos de uso, donde existen seis actores:
el usuario, el ordenador, el procesador 80486DX2, la memoria cache, y la Memoria
Principal.

El usuario requiere realizar una acción, y envía la solicitud al ordenador, donde el


ordenador recibe la solicitud y la dirige al procesador, el procesador recibe la solicitud y
para poder realizar la acción, este envía la dirección a memoria; la MC recibe la dirección,
esta lee la dirección y comprueba si existe el bloque con la dirección, pudiendo
presentarse dos casos: que exista y que no exista; si existe extrae la palabra con la
dirección y la entrega al procesador. Si no existe la MC accede a la MP, y obtiene el
bloque que posee la dirección; para su transferencia realiza la correspondencia directa,
así primero calcula el bit de descarte y asigna línea cache para el bloque de MP, luego
calcula la posición del bloque, y lo carga en la línea cache, finalmente calcula la etiqueta y
con ella valida la existencia del bloque, transfiriendo la palabra solicitada hacia el
procesador.

Arquitectura de computadores - Página 9 de 17


Sección Inteligencia Artificial – Departamento de Ciencias de la Computación y Electrónica UTPL
Asignatura: Arquitectura de computadores Plantilla de Diseño y Arquitectura

Fig. 6. Diagrama de componentes


Elaborador por: La autora.

En la Fig 6. Se presenta el diagrama de componentes, en el constan tres nodos


principales que son el procesador 80486DX2, MC y MP, cada uno posee los componentes
que los conforman. Así el procesador posee la unidad de ejecución, unidad de
segmentación, unidad de paginación, unidad de cache, unidad de instrucciones y unidad
de punto flotante, de igual manera la memoria cache consta de: el bit de validez, la
etiqueta y bloque, y, la memoria cache consta de Etiqueta y Bloque.
El procesador genera la dirección solicitada, a partir de la unidad de instrucciones, la cual
incluye la unidad de prebúsqueda que es la que le pide los bytes de instrucciones a la
caché, la unidad de decodificación, la unidad de control, y la ROM de control, mediante la
relación entre el componente V (bit de validez) y el componente etiqueta, se valida si la
dirección existe, y si existe en el bloque de cache se lee la palabra y se la entrega a la
unidad de instrucciones, si no existe la MC accede a MP y determina el bloque que posee
la dirección, y mediante la relación bloque de MP y bloque de MC se realiza el traspaso
del bloque de MP a la línea de cache, nuevamente se valida con el componente Etiqueta
y se lee la palabra y entrega al procesador.

Arquitectura de computadores - Página 10 de 17


Sección Inteligencia Artificial – Departamento de Ciencias de la Computación y Electrónica UTPL
Asignatura: Arquitectura de computadores Plantilla de Diseño y Arquitectura

2.2 Diagrama de despliegue

Fig.7 .Pantalla principal de simulador


Elaborador por: La autora.

En la figura 7 se presenta la pantalla principal del simulador, con su respectivo menú, el


cual consta de conceptos básicos y la simulación de la correspondencia directa.

Arquitectura de computadores - Página 11 de 17


Sección Inteligencia Artificial – Departamento de Ciencias de la Computación y Electrónica UTPL
Asignatura: Arquitectura de computadores Plantilla de Diseño y Arquitectura

Fig. 8. Pantalla conceptos básicos de simulador


Elaborador por: La autora.

En la figura 8 se presentan los conceptos básicos, fundamentos teóricos y fórmulas para


la aplicación.

Fig.9. Pantalla simulación correspondencia directa

Arquitectura de computadores - Página 12 de 17


Sección Inteligencia Artificial – Departamento de Ciencias de la Computación y Electrónica UTPL
Asignatura: Arquitectura de computadores Plantilla de Diseño y Arquitectura

Elaborador por: La autora.

En la figura 9 se presenta la simulación de la correspondencia directa, con una dirección


de 32 bits, y una cache de 8k.

EJEMPLO:

PROCESADOR 80486DX2
L1 Memoria Principal
8K datos/instrucciones
8192 posiciones
Tamaño de línea de 16 bytes Cada unidad de memoria
son 4 bytes...

Fig.10. Tabla características del procesador


Elaborador por: La autora.

En la figura 10 se presenta una tabla con las características del procesador, las cuales
permiten establecer el número de líneas para la memoria cache, el número de posiciones
para la memoria principal y los bloques en que se agrupan, permitiendo así el desarrollo
del ejemplo a continuación.

Arquitectura de computadores - Página 13 de 17


Sección Inteligencia Artificial – Departamento de Ciencias de la Computación y Electrónica UTPL
Asignatura: Arquitectura de computadores Plantilla de Diseño y Arquitectura

Arquitectura de computadores - Página 14 de 17


Sección Inteligencia Artificial – Departamento de Ciencias de la Computación y Electrónica UTPL
Asignatura: Arquitectura de computadores Plantilla de Diseño y Arquitectura

En el caso del 80486DX2, cada unidad de memoria son 16 bytes. Esta cantidad es una línea del caché. El procesador
usará cuatro ciclos de bus para leer 16 bytes.

Dirección del bloque=log2(16)

Arquitectura de computadores - Página 15 de 17


Sección Inteligencia Artificial – Departamento de Ciencias de la Computación y Electrónica UTPL
Asignatura: Arquitectura de computadores Plantilla de Diseño y Arquitectura

=4 bits

Posición del bloque=log2(8192)

=13 bits

Etiqueta=32-(13+4)=15

Arquitectura de computadores - Página 16 de 17


Sección Inteligencia Artificial – Departamento de Ciencias de la Computación y Electrónica UTPL
Asignatura: Arquitectura de computadores Plantilla de Diseño y Arquitectura

3 BIBLIOGRAFIA

[1]Guerrero, S.. (2011). Principios en ensamblador. Noviembre 11,2017, de


Blogspot Sitio web: http://seguesec.blogspot.com/2011/01/principios-en-
ensamblador.html

[2] (11 de Noviembre del 2018). Ayuda del Simulador SMPCache . Google
chrome. Universidad de Valencia Recuperado de
https://www.uv.es/varnau/SMPCache.pdf

[3] (11 de Noviembre del 2017). Memoria Cache. Google chrome. UNED
Recuperado de http://www2.uned.es/ca-
bergara/ppropias/Morillo/web_etc_II/02_unidad_memoria/transp_mem_cache.p
df

[4](11 de Noviembre del 2017). Memoria Cache. Google Chrome. Universidad


Complutense Recuperado de
https://www.fdi.ucm.es/profesor/jjruz/WEB2/Temas/EC6.pdf

[5]Univerisidadedescargas. MICROPROCESADOR INTEL 80486.docx. Noviembre


15,2017, de scribd Sitio web: https://es.scribd.com/doc/133468365/5-
MICROPROCESADOR-INTEL-80486-docx

Arquitectura de computadores - Página 17 de 17


Sección Inteligencia Artificial – Departamento de Ciencias de la Computación y Electrónica UTPL

Вам также может понравиться