Logica digital

952 views

Published on

Published in: Education, Technology, Business
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
952
On SlideShare
0
From Embeds
0
Number of Embeds
238
Actions
Shares
0
Downloads
0
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Logica digital

  1. 1. Lógica digital y Lenguaje máquina.Ejemplo en microprocesadores.Antonio Torres & Ignacio CastiñeirasEvolución de la Informática I.Master de Profesorado de Secundaria.02/02/2011
  2. 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?
  3. 3. Introducción. Mundo transistores
  4. 4. Introducción. Mundo programas. Haz la multiplicación de a por b. ¿Relación con aquellos transistores? Sí.
  5. 5. Introducción. Estructura Computador.Modelo Von Newmann En 1946 Von Newmann sentó las bases para diseñar uncomputador. Su modelo ha sido seguido desde el ENIAC,primer ordenador electrónico de la historia, hasta loscomputadores de hoy en día.
  6. 6. Introducción. Modelo Von Newmann Un computador está formado por 3 unidades: Unidad de Memoria. Almacena las instrucciones y losdatos del programa. Unidad Central de Proceso (CPU). Ejecuta lasinstrucciones del programa. Unidad de Proceso. Realiza las operaciones que ejecutan unainstrucción. Unidad de Control. Secuencia esas operaciones para ejecutarla instrucción correctamente. Unidad de Entrada/Salida. Transfiere información entre elcomputador y el usuario.
  7. 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 laCPU. Bus de control.Transporta señales entre Unidad de Proceso y Unidad de Control.Señal de reloj.Lectura o escritura en memoria.
  8. 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 transistoresconectados. Nivel 2: Lenguaje máquina. Nivel más bajo al que tieneacceso el usuario. Primer nivel de programación. Nivel 3: Sistema operativo. Gestiona y protege los recursosdel computador. Nivel 4: Lenguajes de alto nivel. Facilitan la programación.Necesaria traducción a lenguaje máquina o máquina virtualque los interprete. Nivel 5: Usuario y aplicaciones. Bases de datos, procesadoresde texto, el PowerPoint que estamos usando ahora mismo,…
  9. 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. 10. Índice1. Máquina Rudimentariai. Lenguaje máquina.ii. Lógica digital de la CPU.2. Microprocesador Intel 8086i. Lenguaje máquina.ii. Lógica digital de la CPU.iii. Ejemplo.3. Conclusiones
  11. 11. Índice1. Máquina Rudimentariai. Lenguaje máquina.ii. Lógica digital de la CPU.2. Microprocesador Intel 8086i. Lenguaje máquina.ii. Lógica digital de la CPU.iii. Ejemplo.3. Conclusiones
  12. 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 laló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. 13. MR. Unidades I/O, Memoria y CPU. No tiene Unidad I/O. Podemos pensar que los programas y susdatos están ya almacenados en memoria. Memoria es de 256 palabras de 16 bits. Las instrucciones y losdatos son de 16 bits, así que cada dirección de memoriaalmacena 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ónen memoria (posición n), la trae a CPU, y la ejecuta. Despuésbusca la siguiente instrucción (pos. n+1),.
  14. 14. Índice1. Máquina Rudimentariai. Lenguaje máquina.ii. Lógica digital de la CPU.2. Microprocesador Intel 8086i. Lenguaje máquina.ii. Lógica digital de la CPU.iii. Ejemplo.3. Conclusiones
  15. 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. 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 dedos registros (bits 2-0). Sus operandos fuentes son los registros R3 y R4 (bits 10-8 y7-5, resp.) y el resultado de la suma se almacena en elregistro destino (bits 13-11).
  17. 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. 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. 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, porhomogeneidad se guardan todas en 16 bits. Los bits de identificación de instrucciones están en lamisma posición para los tres tipos de instrucciones. Los bits para dirección de memoria están en las mismasposiciones. Los bits para registros están en las mismas posiciones. Todo esto va a simplificar el diseño de la lógica digital
  20. 20. Índice1. Máquina Rudimentariai. Lenguaje máquina.ii. Lógica digital de la CPU.2. Microprocesador Intel 8086i. Lenguaje máquina.ii. Lógica digital de la CPU.iii. Ejemplo.3. Conclusiones
  21. 21. MR. Lógica digital. Unidad Central de Proceso (CPU). Ejecuta las instrucciones delprograma. Unidad de Proceso. Realiza las operaciones que ejecutan unainstrucción. Unidad de Control. Secuencia esas operaciones para ejecutar lainstrucción correctamente.
  22. 22. MR. Lógica digital.Unidad de Proceso en 5 ideas Los programas consisten en los 3 tipos de instrucciones quehemos visto antes. Para poder ejecutarlos, necesitamos estos5 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 operarcon los datos.4. Una unidad que calcule la dirección con la que quieroacceder a memoria.5. Una unidad que diga si hay que saltar.
  23. 23. MR. Lógica digital.La Unidad de Proceso en 5 ideas.2 4351
  24. 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 porel 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 dememoria. Llevarle los bits de salto a la unidad de salto.
  25. 25. MR. Lógica digital.Ventajas de un diseño eficiente. Sólo por el hecho de que los tres tipos de instruccionescompartan bits de identificación, operandos y dirección dememoria, nos ahorramos un montón de cables saliendo IR,optimizando el diseño de la lógica digital.
  26. 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 deuna 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 unregistro. Pero sí podemos leer y escribir en un mismo ciclo. Tenemos dos entradas de 3 bits para indicar qué registroqueremos leer (SL) o escribir (SE). Tenemos una señal de 1 bit para decir si los 16 bits quellegan por la entrada se escriben o no (E).
  27. 27. MR. Lógica digital.Ventajas de un diseño eficiente.12 2
  28. 28. MR. Lógica digital.Ventajas de un diseño eficiente. Fijémonos en la importancia de cada decisión de diseño. Sisólo se puede leer un registro por ciclo, entonces unainstrucción aritmético-lógica necesita dos ciclos. Lasinstrucciones de almacenar en memoria también (Rd para datoa almacenar, Ri para desplazamiento a la dirección base). Claro, esto repercute en el número de ciclos que tarda enejecutarse una instrucción. Rendimiento: compromiso entre número de ciclos y tiempoque dura cada ciclo.
  29. 29. MR. Lógica digital.Ventajas de un diseño eficiente.1. Gracias a cómo hemos distribuido los bits en lasinstrucciones, en el segundo ciclo de una instrucciónaritmético-lógica o load se leerá del banco de registros elregistro indicado en los bits 10-8. En la figura anterior, para entrar en SL elegimos la entrada1 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), elegimosla entrada 0 del multiplexor (bits 13-11 de IR).
  30. 30. MR. Lógica digital. La Unidad de Control.Ejemplo 1. Pero, ¿cómo podemos hacer esto? ¿Cómo controlamos elmultiplexor del banco de registros? Hasta ahora sólo hemos visto la Unidad de Proceso. Pero yahemos dicho que la Unidad de Proceso está gobernada por unaUnidad de Control. La Unidad de Control es una máquina de estados, que, segúnel 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 elsegundo ciclo envía la señal “01” al multiplexor. En el caso dearitmético-lógica, en el tercer ciclo envía la señal “10” almultiplexor, para leer el segundo operando. Y si es un load, laseñal “00”, para leer el dato del registro fuente.
  31. 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 deconexió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. 32. MR. Lógica digital. La Unidad de Control.Ejemplo 2.
  33. 33. MR. Lógica digital. La Unidad de Control.Ejemplo 2. Todos los ciclos se está accediendo a una dirección dememoria. La Unidad de Control dice si es para leer o escribir. Así que todos los ciclos IR está recibiendo una instrucción ¡oun dato!. Pero no todos los ciclos se almacena ese dato en IR,sino sólo cuando se termina de ejecutar una instrucción y seempieza a ejecutar la siguiente. La Unidad de Control dice cuando el dato que le llega a IR sealmacena o no.
  34. 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. 35. Ejecución de una instrucción. Ciclo 1.Unidad de Control.
  36. 36. Ejecución de una instrucción. Ciclo 1.Unidad de Proceso. Leemos la instrucción y la almacenamos en IR.
  37. 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. 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 ladirección a la que accedemos.3. Instr. de salto y hay que saltar, ya almacena la dirección ala que hay que saltar.
  39. 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 delos tres tipos. Pero gracias a esto ganamos ciclos, ya queanticipamos tareas. ¿Se puede trabajar en paralelo siempre? ¡NO! Lo podemos hacer porque hemos hecho un diseño dellenguaje 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. 40. Ejecución de una instrucción. Ciclo 2.Unidad de Proceso.Condición de saltoPrimer operando aritméticoDirección de memoria.
  41. 41. Ejecución de una instrucción. Ciclo 3.Unidad de Control. Como IR ≡ 11 sabemos que es instrucción aritmético-lógica, ysaltamos 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. 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 operandoEscribir el resultadoLectura de siguiente instrucción
  43. 43. Índice1. Máquina Rudimentariai. Lenguaje máquina.ii. Lógica digital de la CPU.2. Microprocesador Intel 8086i. Lenguaje máquina.ii. Lógica digital de la CPU.iii. Ejemplo.3. Conclusiones
  44. 44. Microprocesador Intel 8086. En Junio de 1978 Intel saca a la venta el primermicroprocesador de 16 bits. El descubrimiento de la tecnología HMOS propició elaumento de la densidad de integración y el paso a latecnología VLSI. En ese momento, el mercado está plagado demicroprocesadores de 8 bits. El Zilog Z80 y el Motorola 6800eran los modelos más exitosos, y habían superado claramenteal Intel 8080, también pionero como microprocesador de 8 bits Intel decide crear la arquitectura del 8086, de manera que seacompatible con la del 8080. Esta arquitectura se extiende hastanuestros días, y es conocida como la familia x86.
  45. 45. Microprocesador Intel 8086.Ventajas de 16 bits sobre 8. Software generalista. Repertorio de instrucciones de propósitogeneral, fácilmente adaptable a futuras extensiones. Orientación del repertorio de instrucciones hacia laimplantación de lenguajes de alto nivel. Gran cantidad de modos de direccionamiento y formato dedatos. Posibilidad de trabajar con memoria virtual. Un completo sistema de interrupciones. Modo Supervisor, para protección de programas y adecuacióna modernos sistemas operativos
  46. 46. Índice1. Máquina Rudimentariai. Lenguaje máquina.ii. Lógica digital de la CPU.2. Microprocesador Intel 8086i. Lenguaje máquina.ii. Lógica digital de la CPU.iii. Ejemplo.3. Conclusiones
  47. 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. 48. 8086. Lenguaje máquina.Instrucciones de transferencia de datos MOV destino, fuente.Transfiere una palabra de la fuente al punto de destino. Estánoptimizadas 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 lapila;
  49. 49. 8086. Lenguaje máquina.Instrucciones Aritméticas ADD destino, fuente. Suma fuente y destino y coloca elresultado 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 elcontenido de AX y se deja el resultado en AX; Igual para ladivisión. INC destino; DEC destino. Suman o restan 1 al destino.Usadas para el control de bucles.
  50. 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. 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. 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 ciertosegmento. JE etiqueta; JZ etiqueta; JNE etiqueta; JNZ etiqueta; JS etiqueta; JNSetiqueta; Saltar si es igual (Z = 1), si es cero (Z = 1), si no es igual (Z = 0), si no escero (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 elresultado 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, perocon restricciones relacionales, para dar más flexibilidad al programador. LOOP etiqueta. Salta a etiqueta en función del valor de CX. Primero decrementaCX. Si no es 0, entonces salta a etiqueta. Optimizan los bucles. JCXZ etiqueta. Salta si CX es 0.
  53. 53. 8086. Lenguaje máquina.Instrucciones de control de programa. CALL etiqueta. Llama a la subrutina, que se tiene queencontrar dentro del segmento. CALL etiqueta, segmento. La subrutina puede estar en otrosegmento. 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. 54. 8086. Lenguaje máquina.Instrucciones de control del sistema. INT. Interrupción por software. Tiene un operando que indicael tipo de interrupción. HLT. Paro de la CPU.
  55. 55. Índice1. Máquina Rudimentariai. Lenguaje máquina.ii. Lógica digital de la CPU.2. Microprocesador Intel 8086i. Lenguaje máquina.ii. Lógica digital de la CPU.iii. Ejemplo.3. Conclusiones
  56. 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 (220x16), frente a las 256 palabras de MR(28x16). 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 indexadode MR).
  57. 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 instruccionessin tener que esperar a que lleguen de memoria. GAP.Hardware interno: Ambas unidades trabajan de manerasimultánea y asíncrona.
  58. 58. 8086. Lógica digital.Arquitectura.
  59. 59. 8086. Lógica digital.Registros EU Registros de propósito general: 4 de 16 (se pueden dividiren 8 de 8bits, por compatibilidad hacia el 8080).1. AX, registro acumulador. Optimizado para su uso eninstrucciones 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 paramultiplicaciones y divisiones.
  60. 60. 8086. Lógica digital.Registros EU Registros índice y punteros: 4 de 16 bits. No puedensubdividirse.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 parcialdentro del segmento de pila. Registros flag: Similares a los de MR, para indicar si elresultado de una operación ha sido zero, negativo,overflow… Son tenidos en cuenta para las condiciones de lossaltos.
  61. 61. 8086. Lógica digital.Registros BIU Registro IR: Representa la posición parcial dentro delsegmento de instrucciones. Registros de segmento: dan la posición absoluta inicial decada uno de estos segmentos en la memoria. CS, dirección inicial del segmento de instrucciones delprograma. DS, dirección inicial del segmento de datos. SS, dirección inicial del segmento de pila. ES, direccionamiento cadenas de caracteres.
  62. 62. 8086. Lógica digital.Direccionamiento a memoria. El 8086 tiene hasta 25 modos de direccionamiento. Estoproporciona una gran flexibilidad. Enumeramos los distintoselementos 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, organizarmemoria y reubicar de una manera más rápida y sencilla.No puede modificarse en tiempo de ejecución.
  63. 63. 8086. Lógica digital.Direccionamiento a memoria. Instrucción INC 6[BX][DI] tiene a su único operando enmemoria. 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 decalagede 6. Si suponemos que DS = 3.000, BX = 4.000 y DI = 20,entonces la dirección de desplazamiento dentro del segmentoes 6 + 4.000 + 20 = 4.026. Pero primero hay que multiplicar por 16 (10 en hexadecimal) aDS, lo que nos dice que el segmento empieza en la dirección30.000 de memoria. Por lo tanto estaremos accediendo a laposición 34.026 de memoria para obtener el operando de lainstrucción.
  64. 64. 8086. Lógica digital.Interrupciones. Permite 256 tipos diferentes de interrupciones. Cuando se ejecuta una interrupción, se termina de ejecutar lainstrucció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 lasubrutina dentro de la memoria.
  65. 65. 8086. Lógica digital.Chip.
  66. 66. Índice1. Máquina Rudimentariai. Lenguaje máquina.ii. Lógica digital de la CPU.2. Microprocesador Intel 8086i. Lenguaje máquina.ii. Lógica digital de la CPU.iii. Ejemplo.3. Conclusiones
  67. 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. 68. 8086. Ejemplo.Emulación de un ejemplo. Ver en el simulador.
  69. 69. Índice1. Máquina Rudimentariai. Lenguaje máquina.ii. Lógica digital de la CPU.2. Microprocesador Intel 8086i. Lenguaje máquina.ii. Lógica digital de la CPU.iii. Ejemplo.3. Conclusiones
  70. 70. Conclusiones. Hemos presentado el modelo de computador que propuso VonNewmann, y que ha sido utilizado desde el primer computador hastahoy. Hemos estudiado las Unidades Básicas, los buses que lascomunican, y una visión jerarquica de un computador por niveles. Hemos utilizado un computador pedagógico para explicar losconceptos básicos del diseño de la lógica digital y el lenguajemáquina. El uso de MR ha sido su sencillez, y que, directamente, muchos deestos conceptos básicos no los hemos podido encontrar para el Intel8086. Una vez afianzados esos conceptos básicos, los hemos extrapoladoal microprocesador Intel 8086, y hemos emulado la ejecución de unsencillo programa ejemplo.
  71. 71. Conclusiones. Take home message.1. Diseñar un computador consiste en elegir un repertorio deinstrucciones adecuado, y la lógica que permitaimplementar 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 deldiseño puede tener un impacto global. El aleteo de unamariposa en la otra parte del mundo…Cada decisión de diseño tiene que estar justificada.
  72. 72. ¡GRACIAS!

×