SlideShare una empresa de Scribd logo
1 de 72
Lógica digital y Lenguaje máquina.
Ejemplo en microprocesadores.
Antonio Torres & Ignacio Castiñeiras
Evolución de la Informática I.
Master de Profesorado de Secundaria.02/02/2011
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?
Introducción. Mundo transistores
Introducción. Mundo programas.
 Haz la multiplicación de a por b.
 ¿Relación con aquellos transistores? Sí.
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.
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.
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.
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,…
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.
Í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
Í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
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?
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),.
Í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
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.
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).
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.
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.
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
Í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
MR. Lógica digital.
 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.
MR. Lógica digital.
Unidad de Proceso en 5 ideas
 Los programas consisten en los 3 tipos de instrucciones que
hemos visto antes. Para poder ejecutarlos, necesitamos estos
5 módulos:
1. La instrucción a ejecutar.
2. Un banco de registros, para guardar datos temporalmente.
3. Una unidad de computo, o calculadora, que pueda operar
con los datos.
4. Una unidad que calcule la dirección con la que quiero
acceder a memoria.
5. Una unidad que diga si hay que saltar.
MR. Lógica digital.
La Unidad de Proceso en 5 ideas.
2 4
3
5
1
MR. Lógica digital.
1. Registro de instrucción (IR)
 Almacena la instrucción que se va a ejecutar.
 Puede ser de cualquiera de los tres tipos que vimos antes.
 Para traer la instrucción se habrá accedido a memoria por
el bus de direcciones.
 La instrucción viene de memoria por el bus de datos.
 ¿Qué tiene que hacer?
 Llevarle los bits de operandos al banco de registro.
 Llevarle los bits de dirección a la unidad de direcciones de
memoria.
 Llevarle los bits de salto a la unidad de salto.
MR. Lógica digital.
Ventajas de un diseño eficiente.
 Sólo por el hecho de que los tres tipos de instrucciones
compartan bits de identificación, operandos y dirección de
memoria, nos ahorramos un montón de cables saliendo IR,
optimizando el diseño de la lógica digital.
MR. Lógica digital.
Banco de registros (IR)
 Contiene 8 registros de 16 bits con datos temporales.
 Estos datos pueden venir de memoria o ser el resultado de
una operación aritmético-lógica.
 Tenemos una entrada Din y una salida Dout de 16 bits. Así
podemos almacenar y obtener datos de los registros.
 Cada ciclo de reloj sólo podemos leer el contenido de un
registro. Pero sí podemos leer y escribir en un mismo ciclo.
 Tenemos dos entradas de 3 bits para indicar qué registro
queremos leer (SL) o escribir (SE).
 Tenemos una señal de 1 bit para decir si los 16 bits que
llegan por la entrada se escriben o no (E).
MR. Lógica digital.
Ventajas de un diseño eficiente.
12 2
MR. Lógica digital.
Ventajas de un diseño eficiente.
 Fijémonos en la importancia de cada decisión de diseño. Si
sólo se puede leer un registro por ciclo, entonces una
instrucción aritmético-lógica necesita dos ciclos. Las
instrucciones de almacenar en memoria también (Rd para dato
a almacenar, Ri para desplazamiento a la dirección base).
 Claro, esto repercute en el número de ciclos que tarda en
ejecutarse una instrucción.
 Rendimiento: compromiso entre número de ciclos y tiempo
que dura cada ciclo.
MR. Lógica digital.
Ventajas de un diseño eficiente.
1. Gracias a cómo hemos distribuido los bits en las
instrucciones, en el segundo ciclo de una instrucción
aritmético-lógica o load se leerá del banco de registros el
registro indicado en los bits 10-8.
 En la figura anterior, para entrar en SL elegimos la entrada
1 del multiplexor.
1. En el tercer ciclo:
 Si es una instrucción aritmético-lógica (e.g. add R5,R4,R3)
elegiremos la entrada 2 del multiplexor (bits 7-5 de IR).
 Si es una instrucción load (e.g. load R2(5), R3), elegimos
la entrada 0 del multiplexor (bits 13-11 de IR).
MR. Lógica digital. La Unidad de Control.
Ejemplo 1.
 Pero, ¿cómo podemos hacer esto? ¿Cómo controlamos el
multiplexor del banco de registros?
 Hasta ahora sólo hemos visto la Unidad de Proceso. Pero ya
hemos dicho que la Unidad de Proceso está gobernada por una
Unidad de Control.
 La Unidad de Control es una máquina de estados, que, según
el tipo de instrucción que ejecute envía unas señales u otras.
 En el caso de una instrucción aritmético-lógica o de load, en el
segundo ciclo envía la señal “01” al multiplexor. En el caso de
aritmético-lógica, en el tercer ciclo envía la señal “10” al
multiplexor, para leer el segundo operando. Y si es un load, la
señal “00”, para leer el dato del registro fuente.
MR. Lógica digital.
La Unidad de Control.
 La Unidad de Control pone orden en ese “caos” de datos.
Claro, en cada ciclo, hay datos viajando por los buses de
conexión de la Unidad de Proceso.
 ¿Hay que hacer caso siempre al contenido de los buses? !NO!
 La Unidad de Control dice cuando sí y cuando no.
MR. Lógica digital. La Unidad de Control.
Ejemplo 2.
MR. Lógica digital. La Unidad de Control.
Ejemplo 2.
 Todos los ciclos se está accediendo a una dirección de
memoria.
 La Unidad de Control dice si es para leer o escribir.
 Así que todos los ciclos IR está recibiendo una instrucción ¡o
un dato!. Pero no todos los ciclos se almacena ese dato en IR,
sino sólo cuando se termina de ejecutar una instrucción y se
empieza a ejecutar la siguiente.
 La Unidad de Control dice cuando el dato que le llega a IR se
almacena o no.
MR. Lógica digital. La Unidad de Control.
Diagrama de estados.
 La transición entre estados depende de:
 El tipo de instrucción que se esté ejecutando.
 Si hay que saltar o no (en caso de que sea inst. de salto).
Ejecución de una instrucción. Ciclo 1.
Unidad de Control.
Ejecución de una instrucción. Ciclo 1.
Unidad de Proceso.
 Leemos la instrucción y la almacenamos en IR.
Ejecución de una instrucción. Ciclo 2.
Unidad de Control.
 Independientemente de IR y Cond, pasamos al estado Deco,
que decodifica la instrucción.
Ejecución de una instrucción. Ciclo 2.
Unidad de Proceso.
 Vemos que está optimizado.
1. Instr. aritmético-lógica, ya lee el primer operando.
2. Instr. de transferencia en memoria, ya almacena la
dirección a la que accedemos.
3. Instr. de salto y hay que saltar, ya almacena la dirección a
la que hay que saltar.
Ejecución de una instrucción. Ciclo 2.
Un. de Proceso. Ventajas diseño eficiente.
 ¿Por qué hacemos todo esto? Esta claro que sólo será uno de
los tres tipos. Pero gracias a esto ganamos ciclos, ya que
anticipamos tareas.
 ¿Se puede trabajar en paralelo siempre? ¡NO!
 Lo podemos hacer porque hemos hecho un diseño del
lenguaje máquina y de la lógica digital eficiente.
 Lenguaje máquina: Codificación de los bits.
 Lógica digital:
 Módulos que solapen tareas equivalentes.
 Módulos que no solapen tareas incompatibles.
Ejecución de una instrucción. Ciclo 2.
Unidad de Proceso.
Condición de salto
Primer operando aritmético
Dirección de memoria.
Ejecución de una instrucción. Ciclo 3.
Unidad de Control.
 Como IR ≡ 11 sabemos que es instrucción aritmético-lógica, y
saltamos al estado Arit, que realiza la operación.
 El estado está optimizado, y lee ya la siguiente instrucción,
ahorrando de nuevo un ciclo.
Ejecución de una instrucción. Ciclo 1.
Unidad de Proceso.
 Se almacena el resultado en el banco de registros.
 Se lee de memoria la siguiente instrucción.
Lectura de segundo operando
Escribir el resultado
Lectura de siguiente instrucción
Í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
Microprocesador Intel 8086.
 En Junio de 1978 Intel saca a la venta el primer
microprocesador de 16 bits.
 El descubrimiento de la tecnología HMOS propició el
aumento de la densidad de integración y el paso a la
tecnología VLSI.
 En ese momento, el mercado está plagado de
microprocesadores de 8 bits. El Zilog Z80 y el Motorola 6800
eran los modelos más exitosos, y habían superado claramente
al Intel 8080, también pionero como microprocesador de 8 bits
 Intel decide crear la arquitectura del 8086, de manera que sea
compatible con la del 8080. Esta arquitectura se extiende hasta
nuestros días, y es conocida como la familia x86.
Microprocesador Intel 8086.
Ventajas de 16 bits sobre 8.
 Software generalista. Repertorio de instrucciones de propósito
general, fácilmente adaptable a futuras extensiones.
 Orientación del repertorio de instrucciones hacia la
implantación de lenguajes de alto nivel.
 Gran cantidad de modos de direccionamiento y formato de
datos.
 Posibilidad de trabajar con memoria virtual.
 Un completo sistema de interrupciones.
 Modo Supervisor, para protección de programas y adecuación
a modernos sistemas operativos
Í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
8086. Lenguaje máquina.
¿Qué puedo expresar?
 Vamos a clasificar el repertorio en 7 tipos de instrucciones:
 Instrucciones de transferencia de datos (e.g. MOV).
 Aritmético-lógicas (e.g ADD).
 Desplazamiento y rotación (e.g. SHL).
 Control del secuenciamiento del programa (e.g. JZ, TEST).
 Control de programa (e.g. RET).
 Control del sistema (e.g. INT).
 Hay más tipos de datos: enteros y cadenas de caracteres.
8086. Lenguaje máquina.
Instrucciones de transferencia de datos
 MOV destino, fuente.
Transfiere una palabra de la fuente al punto de destino. Están
optimizadas para trabajar con el registro AX.
Ejemplo: MOV AL, 5.
 XCHG destino, fuente. Intercambia palabras fuente y destino.
 IN fuente. Lleva a AX la palabra fuente.
 PUSH fuente, POP destino. Introduce/Extrae fuente en/de la
pila;
8086. Lenguaje máquina.
Instrucciones Aritméticas
 ADD destino, fuente. Suma fuente y destino y coloca el
resultado en destino. Está optimizada para utilizar AX.
 SUB destino, fuente. Igual para la resta.
 NEG destino. Realiza el C2 del destino.
 MUL fuente; DIV fuente. Se multiplica fuente por el
contenido de AX y se deja el resultado en AX; Igual para la
división.
 INC destino; DEC destino. Suman o restan 1 al destino.
Usadas para el control de bucles.
8086. Lenguaje máquina.
Instrucciones Lógicas
 AND destino, fuente;
 OR destino, fuente;
 XOR destino, fuente.
Se hace la and/or/xor lógica y se almacena en destino.
8086. Lenguaje máquina.
Desplazamiento y rotación.
 SHL destino. Se desplaza un bit a la izquierda destino
 SHR destino. Se desplaza a la derecha.
Siempre se mete un 0 en el bit que nos falta.
 ROL destino.
 ROR destino.
Aquí los bits rotan.
8086. Lenguaje máquina.
Instrucciones de salto.
 JMP etiqueta. Salto incondicional a la etiqueta (dentro del segmento).
 JMP etiqueta, segmento. Salto incondicional a la etiqueta contenida en un cierto
segmento.
 JE etiqueta; JZ etiqueta; JNE etiqueta; JNZ etiqueta; JS etiqueta; JNS
etiqueta; Saltar si es igual (Z = 1), si es cero (Z = 1), si no es igual (Z = 0), si no es
cero (Z = 0), si es negativo (N = 1), si no es negativo (N = 0).
 TEST destino, fuente. Se hace la and lógica para modificar los flags, pero el
resultado no se almacena en ningún lado.
 COMP destino, fuente. Igual, pero en lugar de la and lógica se hace la resta.
 JL; JNGE; JNL; JGE; JLE; JNG; JNGE; JG. Igual que los otros saltos, pero
con restricciones relacionales, para dar más flexibilidad al programador.
 LOOP etiqueta. Salta a etiqueta en función del valor de CX. Primero decrementa
CX. Si no es 0, entonces salta a etiqueta. Optimizan los bucles.
 JCXZ etiqueta. Salta si CX es 0.
8086. Lenguaje máquina.
Instrucciones de control de programa.
 CALL etiqueta. Llama a la subrutina, que se tiene que
encontrar dentro del segmento.
 CALL etiqueta, segmento. La subrutina puede estar en otro
segmento.
 RET. Retorno de subrutina dentro del segmento.
 RETS. Retorno de subrutina desde otro segmento.
 RET numero. Retorno de subrutina y ajuste de la pila.
8086. Lenguaje máquina.
Instrucciones de control del sistema.
 INT. Interrupción por software. Tiene un operando que indica
el tipo de interrupción.
 HLT. Paro de la CPU.
Í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
8086. Lógica digital.
Características. Comparativa con MR.
1. Unidad I/O: Aquí sí que hay que tener la Unidad de I/O.
2. Unidad de Memoria:
 1 megabyte (220
x16), frente a las 256 palabras de MR
(28
x16).
 Memoria “segmentada” (MR no segmentada).
 Bus de direcciones de 20 bits (frente al de 8 bits de MR).
 Múltiples modos de direccionamiento (frente al indexado
de MR).
8086. Lógica digital.
Características. Comparativa con MR.
3. Unidad Central de Proceso:
 Unidad de Interfaz del Bus (BIU):
 Busca las instrucciones y las guarda en una cola “de espera”.
 Se encarga de la lógica del direccionamiento con memoria.
 Unidad de Ejecución (EU):
 Ejecuta las instrucciones. Esta es la que contendría la
“Unidad de Proceso” y “Unidad de Control”.
 Utiliza la cola de espera para ir ejecutando las instrucciones
sin tener que esperar a que lleguen de memoria. GAP.
Hardware interno: Ambas unidades trabajan de manera
simultánea y asíncrona.
8086. Lógica digital.
Arquitectura.
8086. Lógica digital.
Registros EU
 Registros de propósito general: 4 de 16 (se pueden dividir
en 8 de 8bits, por compatibilidad hacia el 8080).
1. AX, registro acumulador. Optimizado para su uso en
instrucciones aritmético-lógicas y de I/O.
2. BX, registro base. Para direccionamiento a memoria.
3. CX, registro contador. Optimizado para iterar bucles.
4. DX, registro datos. Complemento a AX para
multiplicaciones y divisiones.
8086. Lógica digital.
Registros EU
 Registros índice y punteros: 4 de 16 bits. No pueden
subdividirse.
1. SI, registro acumulador. Para direccionamientos.
2. DI, registro base. Para direccionamientos.
3. BP, registro puntero base. Para direccionamientos.
4. SP, registro puntero pila. Representa la posición parcial
dentro del segmento de pila.
 Registros flag: Similares a los de MR, para indicar si el
resultado de una operación ha sido zero, negativo,
overflow… Son tenidos en cuenta para las condiciones de los
saltos.
8086. Lógica digital.
Registros BIU
 Registro IR: Representa la posición parcial dentro del
segmento de instrucciones.
 Registros de segmento: dan la posición absoluta inicial de
cada uno de estos segmentos en la memoria.
 CS, dirección inicial del segmento de instrucciones del
programa.
 DS, dirección inicial del segmento de datos.
 SS, dirección inicial del segmento de pila.
 ES, direccionamiento cadenas de caracteres.
8086. Lógica digital.
Direccionamiento a memoria.
 El 8086 tiene hasta 25 modos de direccionamiento. Esto
proporciona una gran flexibilidad. Enumeramos los distintos
elementos que pueden participar en el cálculo de una dirección
 Dirección inicial de segmento: CS, DS o SS.
 Memoria 220
; registro 16 bits (216
). Se multiplica por 16.
 Dirección base (para subrutinas): BX o BP.
 Una segunda base de 8 bits: SI o DI.
 Decalage: Se utiliza para compilar datos, organizar
memoria y reubicar de una manera más rápida y sencilla.
No puede modificarse en tiempo de ejecución.
8086. Lógica digital.
Direccionamiento a memoria.
 Instrucción INC 6[BX][DI] tiene a su único operando en
memoria. La instrucción incrementa el valor del operando.
 Se accede a él con un direccionamiento que usa la base
(contenida en BX), el índice (contenido en DI) y un decalage
de 6. Si suponemos que DS = 3.000, BX = 4.000 y DI = 20,
entonces la dirección de desplazamiento dentro del segmento
es 6 + 4.000 + 20 = 4.026.
 Pero primero hay que multiplicar por 16 (10 en hexadecimal) a
DS, lo que nos dice que el segmento empieza en la dirección
30.000 de memoria. Por lo tanto estaremos accediendo a la
posición 34.026 de memoria para obtener el operando de la
instrucción.
8086. Lógica digital.
Interrupciones.
 Permite 256 tipos diferentes de interrupciones.
 Cuando se ejecuta una interrupción, se termina de ejecutar la
instrucción actual y se salva el estado de la CPU en la pila.
 Salta a la subrutina cambiando CS e IP por la dirección de la
subrutina dentro de la memoria.
8086. Lógica digital.
Chip.
Í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
8086. Ejemplo.
Emulación de un ejemplo.
 Hemos utilizado la herramienta emu8086:
 http://www.emu8086.com
 Sumar 5 y 10. Mostrar el resultado por pantalla.
¿Por qué este ejemplo?
 Sencillo.
 Contiene instrucciones:
 Instrucciones de transferencia (MOV).
 Aritmético-lógicas (ADD).
 Desplazamiento y rotación (SHL).
 Control del secuenciamiento del programa (JZ, TEST).
 Control de programa (RET).
 Control del sistema (INT).
8086. Ejemplo.
Emulación de un ejemplo.
 Ver en el simulador.
Í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
Conclusiones.
 Hemos presentado el modelo de computador que propuso Von
Newmann, y que ha sido utilizado desde el primer computador hasta
hoy.
 Hemos estudiado las Unidades Básicas, los buses que las
comunican, y una visión jerarquica de un computador por niveles.
 Hemos utilizado un computador pedagógico para explicar los
conceptos básicos del diseño de la lógica digital y el lenguaje
máquina.
 El uso de MR ha sido su sencillez, y que, directamente, muchos de
estos conceptos básicos no los hemos podido encontrar para el Intel
8086.
 Una vez afianzados esos conceptos básicos, los hemos extrapolado
al microprocesador Intel 8086, y hemos emulado la ejecución de un
sencillo programa ejemplo.
Conclusiones. Take home message.
1. Diseñar un computador consiste en elegir un repertorio de
instrucciones adecuado, y la lógica que permita
implementar su ejecución.
2. Lenguaje máquina  Lógica digital.
Diseño común, en paralelo. Dependencia total.
3. Cualquier pequeño cambio en una pequeña parte del
diseño puede tener un impacto global. El aleteo de una
mariposa en la otra parte del mundo…
Cada decisión de diseño tiene que estar justificada.
¡GRACIAS!

Más contenido relacionado

La actualidad más candente

La actualidad más candente (9)

FPGA In a Nutshell
FPGA In a NutshellFPGA In a Nutshell
FPGA In a Nutshell
 
Wishbone tutorials
Wishbone tutorialsWishbone tutorials
Wishbone tutorials
 
Cisc mc68000
Cisc mc68000Cisc mc68000
Cisc mc68000
 
Introduction to 80386
Introduction to 80386Introduction to 80386
Introduction to 80386
 
Assembly language 8086
Assembly language 8086Assembly language 8086
Assembly language 8086
 
Actividad el programador Tango.pdf
Actividad el programador Tango.pdfActividad el programador Tango.pdf
Actividad el programador Tango.pdf
 
Addressing mode
Addressing modeAddressing mode
Addressing mode
 
Intel® 80386 microprocessor registers
Intel® 80386 microprocessor registersIntel® 80386 microprocessor registers
Intel® 80386 microprocessor registers
 
Circuito electrico
Circuito electricoCircuito electrico
Circuito electrico
 

Destacado

SISTEMAS ANALÓGICOS Y DIGITALES
SISTEMAS ANALÓGICOS Y DIGITALESSISTEMAS ANALÓGICOS Y DIGITALES
SISTEMAS ANALÓGICOS Y DIGITALESPEDROASTURES21
 
Capitulo 3 arquitectura de hardware
Capitulo 3 arquitectura de hardwareCapitulo 3 arquitectura de hardware
Capitulo 3 arquitectura de hardwaremaria_amanta
 
Conversión entre los distintos sistemas de numeración
Conversión entre los distintos sistemas de numeraciónConversión entre los distintos sistemas de numeración
Conversión entre los distintos sistemas de numeraciónbladimirmora
 
Tabla de verdad
Tabla de verdadTabla de verdad
Tabla de verdadmafia
 
Diagrama de flujo de datos
Diagrama de flujo de datos Diagrama de flujo de datos
Diagrama de flujo de datos Cudemus Rafael C
 
Metología Agiles Desarrollo Software (XP)
Metología Agiles Desarrollo Software (XP)Metología Agiles Desarrollo Software (XP)
Metología Agiles Desarrollo Software (XP)Tuyo Mio
 
Modelo vista controlador #ihcpfgigs_Diseñoweb
Modelo vista controlador #ihcpfgigs_DiseñowebModelo vista controlador #ihcpfgigs_Diseñoweb
Modelo vista controlador #ihcpfgigs_DiseñowebPierina G. Abad
 
desarrollo de software
desarrollo de softwaredesarrollo de software
desarrollo de softwareJean Davila
 
Circuitos LóGicos
Circuitos LóGicosCircuitos LóGicos
Circuitos LóGicosrafael felix
 
Método del desarrollo
Método del desarrolloMétodo del desarrollo
Método del desarrollojrllp
 
Convertir Diagrama Entidad-Relacion a Modelo Relacional.
Convertir Diagrama Entidad-Relacion a Modelo Relacional.Convertir Diagrama Entidad-Relacion a Modelo Relacional.
Convertir Diagrama Entidad-Relacion a Modelo Relacional.Erivan Martinez Ovando
 
Teoría general de sistemas
Teoría general de sistemasTeoría general de sistemas
Teoría general de sistemasJORGE MONGUI
 
Algebra de boole y simplificacion logica
Algebra de boole y simplificacion logicaAlgebra de boole y simplificacion logica
Algebra de boole y simplificacion logicaEdgar Rivera
 
Ciclo de vida del desarrollo de sistemas
Ciclo de vida del desarrollo de sistemasCiclo de vida del desarrollo de sistemas
Ciclo de vida del desarrollo de sistemasMILUGO
 
Diccionario de datos
Diccionario de datosDiccionario de datos
Diccionario de datosJorge Garcia
 
Metodologías Ágiles para el Desarrollo de Software y Metodologias Para el de...
Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el de...Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el de...
Metodologías Ágiles para el Desarrollo de Software y Metodologias Para el de...Joel Fernandez
 
Sistemas de numeración (Binario, Octal, Hexadecimal, Decimal)
Sistemas de numeración (Binario, Octal, Hexadecimal, Decimal)Sistemas de numeración (Binario, Octal, Hexadecimal, Decimal)
Sistemas de numeración (Binario, Octal, Hexadecimal, Decimal)Instituto Técnico Superior
 

Destacado (20)

Compuertas Lógicas
Compuertas LógicasCompuertas Lógicas
Compuertas Lógicas
 
SISTEMAS ANALÓGICOS Y DIGITALES
SISTEMAS ANALÓGICOS Y DIGITALESSISTEMAS ANALÓGICOS Y DIGITALES
SISTEMAS ANALÓGICOS Y DIGITALES
 
Capitulo 3 arquitectura de hardware
Capitulo 3 arquitectura de hardwareCapitulo 3 arquitectura de hardware
Capitulo 3 arquitectura de hardware
 
Conversión entre los distintos sistemas de numeración
Conversión entre los distintos sistemas de numeraciónConversión entre los distintos sistemas de numeración
Conversión entre los distintos sistemas de numeración
 
Tabla de verdad
Tabla de verdadTabla de verdad
Tabla de verdad
 
Diagrama de flujo de datos
Diagrama de flujo de datos Diagrama de flujo de datos
Diagrama de flujo de datos
 
Metología Agiles Desarrollo Software (XP)
Metología Agiles Desarrollo Software (XP)Metología Agiles Desarrollo Software (XP)
Metología Agiles Desarrollo Software (XP)
 
Modelo vista controlador #ihcpfgigs_Diseñoweb
Modelo vista controlador #ihcpfgigs_DiseñowebModelo vista controlador #ihcpfgigs_Diseñoweb
Modelo vista controlador #ihcpfgigs_Diseñoweb
 
desarrollo de software
desarrollo de softwaredesarrollo de software
desarrollo de software
 
Circuitos LóGicos
Circuitos LóGicosCircuitos LóGicos
Circuitos LóGicos
 
Método del desarrollo
Método del desarrolloMétodo del desarrollo
Método del desarrollo
 
Entrevistas y cuestionarios
Entrevistas y cuestionariosEntrevistas y cuestionarios
Entrevistas y cuestionarios
 
Convertir Diagrama Entidad-Relacion a Modelo Relacional.
Convertir Diagrama Entidad-Relacion a Modelo Relacional.Convertir Diagrama Entidad-Relacion a Modelo Relacional.
Convertir Diagrama Entidad-Relacion a Modelo Relacional.
 
Teoría general de sistemas
Teoría general de sistemasTeoría general de sistemas
Teoría general de sistemas
 
Introduccion al análisis de sistemas de información
Introduccion al análisis de sistemas de informaciónIntroduccion al análisis de sistemas de información
Introduccion al análisis de sistemas de información
 
Algebra de boole y simplificacion logica
Algebra de boole y simplificacion logicaAlgebra de boole y simplificacion logica
Algebra de boole y simplificacion logica
 
Ciclo de vida del desarrollo de sistemas
Ciclo de vida del desarrollo de sistemasCiclo de vida del desarrollo de sistemas
Ciclo de vida del desarrollo de sistemas
 
Diccionario de datos
Diccionario de datosDiccionario de datos
Diccionario de datos
 
Metodologías Ágiles para el Desarrollo de Software y Metodologias Para el de...
Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el de...Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el de...
Metodologías Ágiles para el Desarrollo de Software y Metodologias Para el de...
 
Sistemas de numeración (Binario, Octal, Hexadecimal, Decimal)
Sistemas de numeración (Binario, Octal, Hexadecimal, Decimal)Sistemas de numeración (Binario, Octal, Hexadecimal, Decimal)
Sistemas de numeración (Binario, Octal, Hexadecimal, Decimal)
 

Similar a Logica digital

Similar a Logica digital (20)

ARQUITECTURA INTERNA DE UNA MÁQUINA RUDIMENTARIA
ARQUITECTURA INTERNA DE UNA MÁQUINA RUDIMENTARIAARQUITECTURA INTERNA DE UNA MÁQUINA RUDIMENTARIA
ARQUITECTURA INTERNA DE UNA MÁQUINA RUDIMENTARIA
 
Ec2
Ec2Ec2
Ec2
 
Examen Final Solucion Unac 2008
Examen Final Solucion Unac 2008Examen Final Solucion Unac 2008
Examen Final Solucion Unac 2008
 
Arquitectura de un computador
Arquitectura de un computadorArquitectura de un computador
Arquitectura de un computador
 
Formatos de instrucción
Formatos de instrucciónFormatos de instrucción
Formatos de instrucción
 
Procesador
ProcesadorProcesador
Procesador
 
Assambler
AssamblerAssambler
Assambler
 
Libro de informatica
Libro de informaticaLibro de informatica
Libro de informatica
 
Tecnologia 10
Tecnologia 10Tecnologia 10
Tecnologia 10
 
Tecnologia 10
Tecnologia 10Tecnologia 10
Tecnologia 10
 
Tecnologia 10
Tecnologia 10Tecnologia 10
Tecnologia 10
 
Tecnologia 10
Tecnologia 10Tecnologia 10
Tecnologia 10
 
Tecnologia 10
Tecnologia 10Tecnologia 10
Tecnologia 10
 
Tecnologia
TecnologiaTecnologia
Tecnologia
 
Tecnologia 10
Tecnologia 10Tecnologia 10
Tecnologia 10
 
Tecnologia
TecnologiaTecnologia
Tecnologia
 
Hardware 4º 2
Hardware 4º 2Hardware 4º 2
Hardware 4º 2
 
Risc Cisc
Risc  CiscRisc  Cisc
Risc Cisc
 
Unidad 2 arquitectura del computador
Unidad 2 arquitectura del computadorUnidad 2 arquitectura del computador
Unidad 2 arquitectura del computador
 
Guia de-programacion-i-visual-b-net
Guia de-programacion-i-visual-b-netGuia de-programacion-i-visual-b-net
Guia de-programacion-i-visual-b-net
 

Más de Claret Malmaceda Castillo (19)

Active director
Active directorActive director
Active director
 
Presentación1dropbox ex
Presentación1dropbox exPresentación1dropbox ex
Presentación1dropbox ex
 
dropbox
dropbox dropbox
dropbox
 
Active director
Active directorActive director
Active director
 
Farfan
FarfanFarfan
Farfan
 
Requisitos del sistema de windows server 2008
Requisitos del sistema de windows server 2008Requisitos del sistema de windows server 2008
Requisitos del sistema de windows server 2008
 
Farfan
FarfanFarfan
Farfan
 
017 monitores de pantalla plana (1)
017 monitores de pantalla plana (1)017 monitores de pantalla plana (1)
017 monitores de pantalla plana (1)
 
Router configuration
Router configurationRouter configuration
Router configuration
 
017 monitores de pantalla plana (1)
017 monitores de pantalla plana (1)017 monitores de pantalla plana (1)
017 monitores de pantalla plana (1)
 
Impresoras y post script
Impresoras y post scriptImpresoras y post script
Impresoras y post script
 
Teclados adaptados
Teclados adaptadosTeclados adaptados
Teclados adaptados
 
Memoria ram
Memoria ramMemoria ram
Memoria ram
 
Tarjetavideo (1)
Tarjetavideo (1)Tarjetavideo (1)
Tarjetavideo (1)
 
Tarjetavideo (1)
Tarjetavideo (1)Tarjetavideo (1)
Tarjetavideo (1)
 
Hsrp
HsrpHsrp
Hsrp
 
La placa base y sus elementos
La placa base y sus elementosLa placa base y sus elementos
La placa base y sus elementos
 
Hsrp
HsrpHsrp
Hsrp
 
Historia de-la-computadora (1)
Historia de-la-computadora (1)Historia de-la-computadora (1)
Historia de-la-computadora (1)
 

Último

Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
Éteres. Química Orgánica. Propiedades y reacciones
Éteres. Química Orgánica. Propiedades y reaccionesÉteres. Química Orgánica. Propiedades y reacciones
Éteres. Química Orgánica. Propiedades y reaccionesLauraColom3
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfMaritzaRetamozoVera
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxKarlaMassielMartinez
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 
CLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdfCLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdfJonathanCovena1
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxlupitavic
 

Último (20)

Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
Éteres. Química Orgánica. Propiedades y reacciones
Éteres. Química Orgánica. Propiedades y reaccionesÉteres. Química Orgánica. Propiedades y reacciones
Éteres. Química Orgánica. Propiedades y reacciones
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
CLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdfCLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdf
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 

Logica digital

  • 1. Lógica digital y Lenguaje máquina. Ejemplo en microprocesadores. Antonio Torres & Ignacio Castiñeiras Evolución de la Informática I. Master de Profesorado de Secundaria.02/02/2011
  • 2. 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?
  • 4. Introducción. Mundo programas.  Haz la multiplicación de a por b.  ¿Relación con aquellos transistores? Sí.
  • 5. 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.
  • 6. 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.
  • 7. 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.
  • 8. 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,…
  • 9. 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.
  • 10. Í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
  • 11. Í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
  • 12. 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?
  • 13. 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),.
  • 14. Í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
  • 15. 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.
  • 16. 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).
  • 17. 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.
  • 18. 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.
  • 19. 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
  • 20. Í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
  • 21. MR. Lógica digital.  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.
  • 22. MR. Lógica digital. Unidad de Proceso en 5 ideas  Los programas consisten en los 3 tipos de instrucciones que hemos visto antes. Para poder ejecutarlos, necesitamos estos 5 módulos: 1. La instrucción a ejecutar. 2. Un banco de registros, para guardar datos temporalmente. 3. Una unidad de computo, o calculadora, que pueda operar con los datos. 4. Una unidad que calcule la dirección con la que quiero acceder a memoria. 5. Una unidad que diga si hay que saltar.
  • 23. MR. Lógica digital. La Unidad de Proceso en 5 ideas. 2 4 3 5 1
  • 24. MR. Lógica digital. 1. Registro de instrucción (IR)  Almacena la instrucción que se va a ejecutar.  Puede ser de cualquiera de los tres tipos que vimos antes.  Para traer la instrucción se habrá accedido a memoria por el bus de direcciones.  La instrucción viene de memoria por el bus de datos.  ¿Qué tiene que hacer?  Llevarle los bits de operandos al banco de registro.  Llevarle los bits de dirección a la unidad de direcciones de memoria.  Llevarle los bits de salto a la unidad de salto.
  • 25. MR. Lógica digital. Ventajas de un diseño eficiente.  Sólo por el hecho de que los tres tipos de instrucciones compartan bits de identificación, operandos y dirección de memoria, nos ahorramos un montón de cables saliendo IR, optimizando el diseño de la lógica digital.
  • 26. MR. Lógica digital. Banco de registros (IR)  Contiene 8 registros de 16 bits con datos temporales.  Estos datos pueden venir de memoria o ser el resultado de una operación aritmético-lógica.  Tenemos una entrada Din y una salida Dout de 16 bits. Así podemos almacenar y obtener datos de los registros.  Cada ciclo de reloj sólo podemos leer el contenido de un registro. Pero sí podemos leer y escribir en un mismo ciclo.  Tenemos dos entradas de 3 bits para indicar qué registro queremos leer (SL) o escribir (SE).  Tenemos una señal de 1 bit para decir si los 16 bits que llegan por la entrada se escriben o no (E).
  • 27. MR. Lógica digital. Ventajas de un diseño eficiente. 12 2
  • 28. MR. Lógica digital. Ventajas de un diseño eficiente.  Fijémonos en la importancia de cada decisión de diseño. Si sólo se puede leer un registro por ciclo, entonces una instrucción aritmético-lógica necesita dos ciclos. Las instrucciones de almacenar en memoria también (Rd para dato a almacenar, Ri para desplazamiento a la dirección base).  Claro, esto repercute en el número de ciclos que tarda en ejecutarse una instrucción.  Rendimiento: compromiso entre número de ciclos y tiempo que dura cada ciclo.
  • 29. MR. Lógica digital. Ventajas de un diseño eficiente. 1. Gracias a cómo hemos distribuido los bits en las instrucciones, en el segundo ciclo de una instrucción aritmético-lógica o load se leerá del banco de registros el registro indicado en los bits 10-8.  En la figura anterior, para entrar en SL elegimos la entrada 1 del multiplexor. 1. En el tercer ciclo:  Si es una instrucción aritmético-lógica (e.g. add R5,R4,R3) elegiremos la entrada 2 del multiplexor (bits 7-5 de IR).  Si es una instrucción load (e.g. load R2(5), R3), elegimos la entrada 0 del multiplexor (bits 13-11 de IR).
  • 30. MR. Lógica digital. La Unidad de Control. Ejemplo 1.  Pero, ¿cómo podemos hacer esto? ¿Cómo controlamos el multiplexor del banco de registros?  Hasta ahora sólo hemos visto la Unidad de Proceso. Pero ya hemos dicho que la Unidad de Proceso está gobernada por una Unidad de Control.  La Unidad de Control es una máquina de estados, que, según el tipo de instrucción que ejecute envía unas señales u otras.  En el caso de una instrucción aritmético-lógica o de load, en el segundo ciclo envía la señal “01” al multiplexor. En el caso de aritmético-lógica, en el tercer ciclo envía la señal “10” al multiplexor, para leer el segundo operando. Y si es un load, la señal “00”, para leer el dato del registro fuente.
  • 31. MR. Lógica digital. La Unidad de Control.  La Unidad de Control pone orden en ese “caos” de datos. Claro, en cada ciclo, hay datos viajando por los buses de conexión de la Unidad de Proceso.  ¿Hay que hacer caso siempre al contenido de los buses? !NO!  La Unidad de Control dice cuando sí y cuando no.
  • 32. MR. Lógica digital. La Unidad de Control. Ejemplo 2.
  • 33. MR. Lógica digital. La Unidad de Control. Ejemplo 2.  Todos los ciclos se está accediendo a una dirección de memoria.  La Unidad de Control dice si es para leer o escribir.  Así que todos los ciclos IR está recibiendo una instrucción ¡o un dato!. Pero no todos los ciclos se almacena ese dato en IR, sino sólo cuando se termina de ejecutar una instrucción y se empieza a ejecutar la siguiente.  La Unidad de Control dice cuando el dato que le llega a IR se almacena o no.
  • 34. MR. Lógica digital. La Unidad de Control. Diagrama de estados.  La transición entre estados depende de:  El tipo de instrucción que se esté ejecutando.  Si hay que saltar o no (en caso de que sea inst. de salto).
  • 35. Ejecución de una instrucción. Ciclo 1. Unidad de Control.
  • 36. Ejecución de una instrucción. Ciclo 1. Unidad de Proceso.  Leemos la instrucción y la almacenamos en IR.
  • 37. Ejecución de una instrucción. Ciclo 2. Unidad de Control.  Independientemente de IR y Cond, pasamos al estado Deco, que decodifica la instrucción.
  • 38. Ejecución de una instrucción. Ciclo 2. Unidad de Proceso.  Vemos que está optimizado. 1. Instr. aritmético-lógica, ya lee el primer operando. 2. Instr. de transferencia en memoria, ya almacena la dirección a la que accedemos. 3. Instr. de salto y hay que saltar, ya almacena la dirección a la que hay que saltar.
  • 39. Ejecución de una instrucción. Ciclo 2. Un. de Proceso. Ventajas diseño eficiente.  ¿Por qué hacemos todo esto? Esta claro que sólo será uno de los tres tipos. Pero gracias a esto ganamos ciclos, ya que anticipamos tareas.  ¿Se puede trabajar en paralelo siempre? ¡NO!  Lo podemos hacer porque hemos hecho un diseño del lenguaje máquina y de la lógica digital eficiente.  Lenguaje máquina: Codificación de los bits.  Lógica digital:  Módulos que solapen tareas equivalentes.  Módulos que no solapen tareas incompatibles.
  • 40. Ejecución de una instrucción. Ciclo 2. Unidad de Proceso. Condición de salto Primer operando aritmético Dirección de memoria.
  • 41. Ejecución de una instrucción. Ciclo 3. Unidad de Control.  Como IR ≡ 11 sabemos que es instrucción aritmético-lógica, y saltamos al estado Arit, que realiza la operación.  El estado está optimizado, y lee ya la siguiente instrucción, ahorrando de nuevo un ciclo.
  • 42. Ejecución de una instrucción. Ciclo 1. Unidad de Proceso.  Se almacena el resultado en el banco de registros.  Se lee de memoria la siguiente instrucción. Lectura de segundo operando Escribir el resultado Lectura de siguiente instrucción
  • 43. Í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
  • 44. Microprocesador Intel 8086.  En Junio de 1978 Intel saca a la venta el primer microprocesador de 16 bits.  El descubrimiento de la tecnología HMOS propició el aumento de la densidad de integración y el paso a la tecnología VLSI.  En ese momento, el mercado está plagado de microprocesadores de 8 bits. El Zilog Z80 y el Motorola 6800 eran los modelos más exitosos, y habían superado claramente al Intel 8080, también pionero como microprocesador de 8 bits  Intel decide crear la arquitectura del 8086, de manera que sea compatible con la del 8080. Esta arquitectura se extiende hasta nuestros días, y es conocida como la familia x86.
  • 45. Microprocesador Intel 8086. Ventajas de 16 bits sobre 8.  Software generalista. Repertorio de instrucciones de propósito general, fácilmente adaptable a futuras extensiones.  Orientación del repertorio de instrucciones hacia la implantación de lenguajes de alto nivel.  Gran cantidad de modos de direccionamiento y formato de datos.  Posibilidad de trabajar con memoria virtual.  Un completo sistema de interrupciones.  Modo Supervisor, para protección de programas y adecuación a modernos sistemas operativos
  • 46. Í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
  • 47. 8086. Lenguaje máquina. ¿Qué puedo expresar?  Vamos a clasificar el repertorio en 7 tipos de instrucciones:  Instrucciones de transferencia de datos (e.g. MOV).  Aritmético-lógicas (e.g ADD).  Desplazamiento y rotación (e.g. SHL).  Control del secuenciamiento del programa (e.g. JZ, TEST).  Control de programa (e.g. RET).  Control del sistema (e.g. INT).  Hay más tipos de datos: enteros y cadenas de caracteres.
  • 48. 8086. Lenguaje máquina. Instrucciones de transferencia de datos  MOV destino, fuente. Transfiere una palabra de la fuente al punto de destino. Están optimizadas para trabajar con el registro AX. Ejemplo: MOV AL, 5.  XCHG destino, fuente. Intercambia palabras fuente y destino.  IN fuente. Lleva a AX la palabra fuente.  PUSH fuente, POP destino. Introduce/Extrae fuente en/de la pila;
  • 49. 8086. Lenguaje máquina. Instrucciones Aritméticas  ADD destino, fuente. Suma fuente y destino y coloca el resultado en destino. Está optimizada para utilizar AX.  SUB destino, fuente. Igual para la resta.  NEG destino. Realiza el C2 del destino.  MUL fuente; DIV fuente. Se multiplica fuente por el contenido de AX y se deja el resultado en AX; Igual para la división.  INC destino; DEC destino. Suman o restan 1 al destino. Usadas para el control de bucles.
  • 50. 8086. Lenguaje máquina. Instrucciones Lógicas  AND destino, fuente;  OR destino, fuente;  XOR destino, fuente. Se hace la and/or/xor lógica y se almacena en destino.
  • 51. 8086. Lenguaje máquina. Desplazamiento y rotación.  SHL destino. Se desplaza un bit a la izquierda destino  SHR destino. Se desplaza a la derecha. Siempre se mete un 0 en el bit que nos falta.  ROL destino.  ROR destino. Aquí los bits rotan.
  • 52. 8086. Lenguaje máquina. Instrucciones de salto.  JMP etiqueta. Salto incondicional a la etiqueta (dentro del segmento).  JMP etiqueta, segmento. Salto incondicional a la etiqueta contenida en un cierto segmento.  JE etiqueta; JZ etiqueta; JNE etiqueta; JNZ etiqueta; JS etiqueta; JNS etiqueta; Saltar si es igual (Z = 1), si es cero (Z = 1), si no es igual (Z = 0), si no es cero (Z = 0), si es negativo (N = 1), si no es negativo (N = 0).  TEST destino, fuente. Se hace la and lógica para modificar los flags, pero el resultado no se almacena en ningún lado.  COMP destino, fuente. Igual, pero en lugar de la and lógica se hace la resta.  JL; JNGE; JNL; JGE; JLE; JNG; JNGE; JG. Igual que los otros saltos, pero con restricciones relacionales, para dar más flexibilidad al programador.  LOOP etiqueta. Salta a etiqueta en función del valor de CX. Primero decrementa CX. Si no es 0, entonces salta a etiqueta. Optimizan los bucles.  JCXZ etiqueta. Salta si CX es 0.
  • 53. 8086. Lenguaje máquina. Instrucciones de control de programa.  CALL etiqueta. Llama a la subrutina, que se tiene que encontrar dentro del segmento.  CALL etiqueta, segmento. La subrutina puede estar en otro segmento.  RET. Retorno de subrutina dentro del segmento.  RETS. Retorno de subrutina desde otro segmento.  RET numero. Retorno de subrutina y ajuste de la pila.
  • 54. 8086. Lenguaje máquina. Instrucciones de control del sistema.  INT. Interrupción por software. Tiene un operando que indica el tipo de interrupción.  HLT. Paro de la CPU.
  • 55. Í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
  • 56. 8086. Lógica digital. Características. Comparativa con MR. 1. Unidad I/O: Aquí sí que hay que tener la Unidad de I/O. 2. Unidad de Memoria:  1 megabyte (220 x16), frente a las 256 palabras de MR (28 x16).  Memoria “segmentada” (MR no segmentada).  Bus de direcciones de 20 bits (frente al de 8 bits de MR).  Múltiples modos de direccionamiento (frente al indexado de MR).
  • 57. 8086. Lógica digital. Características. Comparativa con MR. 3. Unidad Central de Proceso:  Unidad de Interfaz del Bus (BIU):  Busca las instrucciones y las guarda en una cola “de espera”.  Se encarga de la lógica del direccionamiento con memoria.  Unidad de Ejecución (EU):  Ejecuta las instrucciones. Esta es la que contendría la “Unidad de Proceso” y “Unidad de Control”.  Utiliza la cola de espera para ir ejecutando las instrucciones sin tener que esperar a que lleguen de memoria. GAP. Hardware interno: Ambas unidades trabajan de manera simultánea y asíncrona.
  • 59. 8086. Lógica digital. Registros EU  Registros de propósito general: 4 de 16 (se pueden dividir en 8 de 8bits, por compatibilidad hacia el 8080). 1. AX, registro acumulador. Optimizado para su uso en instrucciones aritmético-lógicas y de I/O. 2. BX, registro base. Para direccionamiento a memoria. 3. CX, registro contador. Optimizado para iterar bucles. 4. DX, registro datos. Complemento a AX para multiplicaciones y divisiones.
  • 60. 8086. Lógica digital. Registros EU  Registros índice y punteros: 4 de 16 bits. No pueden subdividirse. 1. SI, registro acumulador. Para direccionamientos. 2. DI, registro base. Para direccionamientos. 3. BP, registro puntero base. Para direccionamientos. 4. SP, registro puntero pila. Representa la posición parcial dentro del segmento de pila.  Registros flag: Similares a los de MR, para indicar si el resultado de una operación ha sido zero, negativo, overflow… Son tenidos en cuenta para las condiciones de los saltos.
  • 61. 8086. Lógica digital. Registros BIU  Registro IR: Representa la posición parcial dentro del segmento de instrucciones.  Registros de segmento: dan la posición absoluta inicial de cada uno de estos segmentos en la memoria.  CS, dirección inicial del segmento de instrucciones del programa.  DS, dirección inicial del segmento de datos.  SS, dirección inicial del segmento de pila.  ES, direccionamiento cadenas de caracteres.
  • 62. 8086. Lógica digital. Direccionamiento a memoria.  El 8086 tiene hasta 25 modos de direccionamiento. Esto proporciona una gran flexibilidad. Enumeramos los distintos elementos que pueden participar en el cálculo de una dirección  Dirección inicial de segmento: CS, DS o SS.  Memoria 220 ; registro 16 bits (216 ). Se multiplica por 16.  Dirección base (para subrutinas): BX o BP.  Una segunda base de 8 bits: SI o DI.  Decalage: Se utiliza para compilar datos, organizar memoria y reubicar de una manera más rápida y sencilla. No puede modificarse en tiempo de ejecución.
  • 63. 8086. Lógica digital. Direccionamiento a memoria.  Instrucción INC 6[BX][DI] tiene a su único operando en memoria. La instrucción incrementa el valor del operando.  Se accede a él con un direccionamiento que usa la base (contenida en BX), el índice (contenido en DI) y un decalage de 6. Si suponemos que DS = 3.000, BX = 4.000 y DI = 20, entonces la dirección de desplazamiento dentro del segmento es 6 + 4.000 + 20 = 4.026.  Pero primero hay que multiplicar por 16 (10 en hexadecimal) a DS, lo que nos dice que el segmento empieza en la dirección 30.000 de memoria. Por lo tanto estaremos accediendo a la posición 34.026 de memoria para obtener el operando de la instrucción.
  • 64. 8086. Lógica digital. Interrupciones.  Permite 256 tipos diferentes de interrupciones.  Cuando se ejecuta una interrupción, se termina de ejecutar la instrucción actual y se salva el estado de la CPU en la pila.  Salta a la subrutina cambiando CS e IP por la dirección de la subrutina dentro de la memoria.
  • 66. Í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
  • 67. 8086. Ejemplo. Emulación de un ejemplo.  Hemos utilizado la herramienta emu8086:  http://www.emu8086.com  Sumar 5 y 10. Mostrar el resultado por pantalla. ¿Por qué este ejemplo?  Sencillo.  Contiene instrucciones:  Instrucciones de transferencia (MOV).  Aritmético-lógicas (ADD).  Desplazamiento y rotación (SHL).  Control del secuenciamiento del programa (JZ, TEST).  Control de programa (RET).  Control del sistema (INT).
  • 68. 8086. Ejemplo. Emulación de un ejemplo.  Ver en el simulador.
  • 69. Í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
  • 70. Conclusiones.  Hemos presentado el modelo de computador que propuso Von Newmann, y que ha sido utilizado desde el primer computador hasta hoy.  Hemos estudiado las Unidades Básicas, los buses que las comunican, y una visión jerarquica de un computador por niveles.  Hemos utilizado un computador pedagógico para explicar los conceptos básicos del diseño de la lógica digital y el lenguaje máquina.  El uso de MR ha sido su sencillez, y que, directamente, muchos de estos conceptos básicos no los hemos podido encontrar para el Intel 8086.  Una vez afianzados esos conceptos básicos, los hemos extrapolado al microprocesador Intel 8086, y hemos emulado la ejecución de un sencillo programa ejemplo.
  • 71. Conclusiones. Take home message. 1. Diseñar un computador consiste en elegir un repertorio de instrucciones adecuado, y la lógica que permita implementar su ejecución. 2. Lenguaje máquina  Lógica digital. Diseño común, en paralelo. Dependencia total. 3. Cualquier pequeño cambio en una pequeña parte del diseño puede tener un impacto global. El aleteo de una mariposa en la otra parte del mundo… Cada decisión de diseño tiene que estar justificada.