ARQUITECTURA INTERNA DE UNA MÁQUINA RUDIMENTARIA

19
ARQUITECTURA INTERNA DE UNA MÁQUINA RUDIMENTARIA

description

ARQUITECTURA INTERNA DE UNA MÁQUINA RUDIMENTARIA

Transcript of ARQUITECTURA INTERNA DE UNA MÁQUINA RUDIMENTARIA

Page 1: ARQUITECTURA INTERNA DE UNA MÁQUINA RUDIMENTARIA

ARQUITECTURA INTERNA DE UNA MÁQUINA RUDIMENTARIA

Page 2: ARQUITECTURA INTERNA DE UNA MÁQUINA RUDIMENTARIA

Introducción. ¿De qué trata esta charla?

¿Para qué quiero yo usar un ordenador? Para que ejecute programas.

Si quisiera ganarme unos durillos diseñando un ordenador, ¿qué es lo más básico que tendría que saber?

1. Un montón de transistores conectados: chips, placas, soldar…

2. Un lenguaje en el que poder decirle a esa cosa: “Haz esto”. ¡¡Los puntos 1 y 2, son mundos (abstracciones) diferentes!!

¿Son independientes o tienen relación? Si tienen relación, ¿qué nivel de relación?

Page 3: ARQUITECTURA INTERNA DE UNA MÁQUINA RUDIMENTARIA

Introducción. Mundo transistores

Page 4: ARQUITECTURA INTERNA DE UNA MÁQUINA RUDIMENTARIA

Introducción. Mundo programas.

Haz la multiplicación de a por b. ¿Relación con aquellos transistores? Sí.

Page 5: ARQUITECTURA INTERNA DE UNA MÁQUINA RUDIMENTARIA

Introducción. Estructura Computador. Modelo Von Newmann

En 1946 Von Newmann sentó las bases para diseñar un computador. Su modelo ha sido seguido desde el ENIAC, primer ordenador electrónico de la historia, hasta los computadores de hoy en día.

Page 6: ARQUITECTURA INTERNA DE UNA MÁQUINA RUDIMENTARIA

Introducción. Modelo Von Newmann

Un computador está formado por 3 unidades: Unidad de Memoria. Almacena las instrucciones y los

datos del programa. Unidad Central de Proceso (CPU). Ejecuta las

instrucciones del programa. Unidad de Proceso. Realiza las operaciones que ejecutan una

instrucción. Unidad de Control. Secuencia esas operaciones para ejecutar

la instrucción correctamente. Unidad de Entrada/Salida. Transfiere información entre el

computador y el usuario.

Page 7: ARQUITECTURA INTERNA DE UNA MÁQUINA RUDIMENTARIA

Introducción. Modelo Von Newmann

Las distintas unidades están comunicadas: buses Bus de datos.

Transporta instrucciones de memoria a CPU.

Transporta datos entre memoria, CPU y I/O. Bus de direcciones.

Dicen a qué posición de memoria se quiere acceder. Las genera la CPU.

Bus de control.

Transporta señales entre Unidad de Proceso y Unidad de Control.

Señal de reloj.

Lectura o escritura en memoria.

Page 8: ARQUITECTURA INTERNA DE UNA MÁQUINA RUDIMENTARIA

Introducción. Niveles de un computador

Nivel 1: Lógica digital. Corresponde a la máquina física. Aquí se ejecutan los programas del usuario. Los transistores conectados.

Nivel 2: Lenguaje máquina. Nivel más bajo al que tiene acceso el usuario. Primer nivel de programación.

Nivel 3: Sistema operativo. Gestiona y protege los recursos del computador.

Nivel 4: Lenguajes de alto nivel. Facilitan la programación. Necesaria traducción a lenguaje máquina o máquina virtual que los interprete.

Nivel 5: Usuario y aplicaciones. Bases de datos, procesadores de texto, el PowerPoint que estamos usando ahora mismo,…

Page 9: ARQUITECTURA INTERNA DE UNA MÁQUINA RUDIMENTARIA

Introducción. Niveles de un computador

Cada nivel utiliza los recursos que le ofrece el nivel inferior.

Este trabajo presenta el diseño de los niveles 1 y 2. Primero los veremos sobre un computador sencillo. Finalmente, sobre el Intel 8086.

Page 10: ARQUITECTURA INTERNA DE UNA MÁQUINA RUDIMENTARIA

Índice

1. Máquina Rudimentaria

i. Lenguaje máquina.

ii. Lógica digital de la CPU.

2. Microprocesador Intel 8086

i. Lenguaje máquina.

ii. Lógica digital de la CPU.

iii. Ejemplo.

3. Conclusiones

Page 11: ARQUITECTURA INTERNA DE UNA MÁQUINA RUDIMENTARIA

Índice

1. Máquina Rudimentaria

i. Lenguaje máquina.

ii. Lógica digital de la CPU.

2. Microprocesador Intel 8086

i. Lenguaje máquina.

ii. Lógica digital de la CPU.

iii. Ejemplo.

3. Conclusiones

Page 12: ARQUITECTURA INTERNA DE UNA MÁQUINA RUDIMENTARIA

Máquina Rudimentaria (MR).

Es un computador muy sencillo. Se usa con fines pedagógicos, para explicar los conceptos básicos del lenguaje máquina y la lógica digital.

Nuestro enfoque se va a centrar en presentar: Lenguaje máquina. ¿Qué puedo expresar? Lógica digital. ¿Cómo se ejecuta eso que he expresado?

Page 13: ARQUITECTURA INTERNA DE UNA MÁQUINA RUDIMENTARIA

MR. Unidades I/O, Memoria y CPU.

No tiene Unidad I/O. Podemos pensar que los programas y sus datos están ya almacenados en memoria.

Memoria es de 256 palabras de 16 bits. Las instrucciones y los datos son de 16 bits, así que cada dirección de memoria almacena una única instrucción o un único dato. Bus de direcciones: 8 bits (256 palabras). Bus de datos: 16 bits.

La CPU ejecuta las instrucciones de una en una, en un “secuenciamiento implícito”. Es decir, busca una instrucción en memoria (posición n), la trae a CPU, y la ejecuta. Después busca la siguiente instrucción (pos. n+1),.

Page 14: ARQUITECTURA INTERNA DE UNA MÁQUINA RUDIMENTARIA

Índice

1. Máquina Rudimentaria

i. Lenguaje máquina.

ii. Lógica digital de la CPU.

2. Microprocesador Intel 8086

i. Lenguaje máquina.

ii. Lógica digital de la CPU.

iii. Ejemplo.

3. Conclusiones

Page 15: ARQUITECTURA INTERNA DE UNA MÁQUINA RUDIMENTARIA

MR. Lenguaje Máquina. ¿Qué puedo expresar?

Se pueden ejecutar hasta 3 tipos de instrucciones: 4 Instrucciones aritmético-lógicas (identificador 11).

Sumar, restar, dividir entre 2, and lógica. 2 Instrucciones de transferencia con memoria. (id. 00 y 01).

Cargar dato de memoria y almacenar dato en memoria. 7 Instrucciones de salto. (id. 10).

Saltar incondicionalmente, o saltar si: =, != , >, >=, <, <=

Sólo hay un tipo de datos: enteros.

Page 16: ARQUITECTURA INTERNA DE UNA MÁQUINA RUDIMENTARIA

MR. Lenguaje Máquina. Instrucciones aritmético - lógicas

Necesito expresar: Es una instrucción aritmético-lógica (bits 15-14) de suma de

dos registros (bits 2-0). Sus operandos fuentes son los registros R3 y R4 (bits 10-8 y

7-5, resp.) y el resultado de la suma se almacena en el registro destino (bits 13-11).

Page 17: ARQUITECTURA INTERNA DE UNA MÁQUINA RUDIMENTARIA

MR. Lenguaje Máquina. Instrucciones carga de memoria.

Necesito expresar: Es una instrucción de transferencia con memoria,

concretamente de carga de memoria (bits 15-14). La dirección de memoria es d = bits 7-0 + contenido Ri

(desplazamiento, bueno para indexar vectores). La palabra de memoria se almacena en Rd.

Page 18: ARQUITECTURA INTERNA DE UNA MÁQUINA RUDIMENTARIA

MR. Lenguaje Máquina. Instrucciones de salto.

Necesito expresar: Es una instrucción de salto (bits 15-14). La condición de salto (bits 13-11). La dirección de memoria a la que se salta.

Page 19: ARQUITECTURA INTERNA DE UNA MÁQUINA RUDIMENTARIA

MR. Lenguaje máquina.Optimización diseño

¿Qué cosas buenas se van viendo de este diseño? No todas las instrucciones necesitan los 16 bits. Pero, por

homogeneidad se guardan todas en 16 bits. Los bits de identificación de instrucciones están en la

misma posición para los tres tipos de instrucciones. Los bits para dirección de memoria están en las mismas

posiciones. Los bits para registros están en las mismas posiciones.

Todo esto va a simplificar el diseño de la lógica digital