ARQUITECTURAS DE COMPUTADORES 2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 1 - INTRODUCCIÓN JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 1.MaNoTaS 1 Definiciones (I) Descripción Un computador es: Un sistema electrónico complejo, que posee una enorme cantidad de dispositivos electrónicos básicos Un sistema jerárquico complejo Tema 1.MaNoTaS 2 Definiciones (II) Descripción • Podemos definir: – estructura como el modo en que los componentes están interrelacionados – función como la operación de cada componente individual como parte de la estructura. Tema 1.MaNoTaS 3 Funciones Descripción (I) • Funciones básicas del computador: – Procesamiento de datos – Almacenamiento de datos – Transferencia de datos – Control Tema 1.MaNoTaS 4 Funciones (II) Bloques Procesamiento de datos Entrada/salida de datos Transferencia de datos Control Almacena. de datos Tema 1.MaNoTaS 5 Estructuras Descripción (I) • Estructuras básicas del computador: – Unidad de Procesamiento Central – Memoria Principal – Unidad de E/S – Ruta de datos Tema 1.MaNoTaS 6 Estructuras (II) Bloques COMPUTADOR Memoria CPU Ruta de datos E/S Tema 1.MaNoTaS 7 Estructuras Bloques (III) C.P.U. A.L.U. U.C. Ruta de Datos de la U.C. Registros Tema 1.MaNoTaS 8 Máquina de von Neumann Premisas (I) • Se basa en tres conceptos: – Existencia de una única memoria de lectura/escritura – Acceso a la memoria indicando su dirección. – Ejecución del programa continua. Tema 1.MaNoTaS 9 Máquina de von Neumann (II) Bloques U.C MEMORIA A.L.U. E/S C.P.U. Tema 1.MaNoTaS 10 MaNoTaS Descripción (I) • Recursos de MaNoTaS – ALU capaz de realizar operaciones A/L. – Memoria de 64Kbytes. – Repertorio de instrucciones reducido. – Cuatro modos de direccionamiento. – Un banco de registros. – Registro de estado (Z,C,O,I) Tema 1.MaNoTaS 11 MaNoTaS. Memoria (II) • Capacidad 64Kbytes – 16 líneas para direcciones – 8 líneas para datos • Dos caminos para la información – Bidireccional para los datos – Unidireccional para las instrucciones Tema 1.MaNoTaS 12 MaNoTaS. (III) Memoria B. DIRECCIONES MEMORIA 64Kx8 16 8 Tema 1.MaNoTaS B. DATOS 13 MaNoTaS. Modos Direcciona. (IV) • Posee 4 modos de direccionamiento – Inmediato. – Directo a memoria. – Directo a registro. – Indirecto a registro Tema 1.MaNoTaS 14 MaNoTaS. Modos Direcciona. (V) • Inmediato. Después del código de operación se encuentra el dato. Constan de 2 bytes, uno para el código de operación y otro para el dato. • Directo a memoria. El operando se define mediante la dirección de la memoria donde se almacena. Constan de 3 bytes uno para el código de operación y dos para la dirección. • Directo a registro. El operando se encuentra en el registro especificado. Constan de 1 byte • Indirecto a registro. El operando se encuentra en la dirección dada por el registro especificado. Constan de 1 byte Tema 1.MaNoTaS 15 MaNoTaS. Repertorio Instrucciones Transferencia LDA dir STA dir LDAX STAX LFA SFA MOV r1,r2 MVI dato8,r1 MVIL nom_eti,r1 MVIH nom_eti,r1 PUSH r1 POP r1 PUSHF POPF Aritméticas ADD r1 ADI dato INR r1 DER r1 SUB r1 SUI dato CMP r1 CPI dato Lógicas ANA r1 ANI dato ORA r1 ORI dato XRA r1 XRI dato CMA Tema 1.MaNoTaS (VI) Control JMP dir JZ dir JO dir JC dir CALL dir RET INT #n IRET CLI STI NOP E/S IN #n OUT #n 16 MaNoTaS. Descripción Instrucciones (VII) • Transferencia. – – – – – – LDA dir STA dir LDAX STAX MOV r1,r2 MVI dato,r1 A ← M(dir) M(dir) ← A A ← M(D-E) M(D-E) ← A r2 ← r1 r1 ← dato Tema 1.MaNoTaS 17 MaNoTaS. Descripción Instrucciones (VIII) • Aritméticas. – – – – – – ADD r1 ADI dato INR r1 SUB r1 SUI dato CMP r1 – CPI dato A ← A+r1 A ← A + dato r1 ← r1 + 1 A ← A – r1 A ← A – dato A – r1 si A=r1 entonces FZ=1 si A < r1 ⇒ FC=1 A – dato si A=dato entonces FZ=1 si A < dato ⇒FC=1 Tema 1.MaNoTaS 18 MaNoTaS. Descripción Instrucciones (IX) • Lógicas. – – – – – – – ANA r1 ANI dato ORA r1 ORI dato XRA r1 XRI dato CMA A ← A and r1 A ← A and dato A ← A or r1 A ← A or dato A ← A ⊕ r1 A ← A ⊕ dato A ← C1(A) • Manejo de señalizadores. – LFA – SFA A ← señalizadores señalizadores ← A Tema 1.MaNoTaS 19 MaNoTaS. Descripción Instrucciones (X) • Rotura de la secuencia de programa. – – – – – – – – – – JMP dir JZ dir JC dir JO dir CALL dir RET IRET PC ← dir si FZ=1; PC ← dir si FC=1; PC ← dir si FO=1; PC ← dir M(SP) ← PCL; SP ← SP+1 M(SP) ← PCH; SP ← SP+1 PC ← dir SP ← SP – 1; PCH ← M(SP) SP ← SP – 1 PCL ← M(SP) SP ← SP – 1; PCH ← M(SP); SP ← SP – 1; PCL ← M(SP); I← 1 Tema 1.MaNoTaS 20 MaNoTaS. Codificación Instrucciones (X) • De un byte MOV A, MOV A, MOV A, MOV A, MOV A, A 44h B 40h C 41h D 42h C 43h MOV B, MOV B, MOV B, MOV B, MOV B, A 00h B 04h C 08h D 0Ch E 10h MOV D, MOV D, MOV D, MOV D, MOV D, A 02h B 06h C 0Ah D 0Eh E 12h MOV E, MOV E, MOV E, MOV E, MOV E, A 03h B 07h C 0Bh D 0Eh E 13h Tema 1.MaNoTaS MOV C, MOV C, MOV C, MOV C, MOV C, A 01h B 05h C 09h D 0Dh E 11h 21 MaNoTaS. Codificación Instrucciones (XI) • De un byte LDAX STI CLI B0h AAh ABh STAX LFA SFA 90h 81h 82h ADD ADD ADD ADD ADD 45h 30h 31h 32h 33h SUB SUB SUB SUB SUB A B C D E 46h 18h 19h 1Ah 1Bh CMP A CMP B CMP C CMP D CMP E 47h 1Ch 1Dh 1Eh 1Fh 4Bh 2Ch 2Dh 2Eh 2Fh DER DER DER DER DER A B C D E A0h A1h A2h A3h A4h CMA 80h A B C F E INR A INR B INR C INR D INR E Tema 1.MaNoTaS 22 MaNoTaS. Codificación Instrucciones (XII) • De un byte ANA A ANA B ANA C ANA D ANA E 48h 20h 21h 22h 23h ORA ORA ORA ORA ORA A B C D E 49h 24h 25h 26h 27h XRA XRA XRA XRA XRA A B C D E 4Ah 28h 29h 2Ah 2Bh PUSH PUSH PUSH PUSH PUSH 55h 56h 57h 58h 59h POP A POP B POP C POP D POP E 5Ah 5Bh 5Ch 5Dh 5Eh PUSHF POPF RET IRET NOP 50h 51h 7Bh 7Ch FFh A B C D E Tema 1.MaNoTaS 23 MaNoTaS. Codificación Instrucciones (XIII) • De dos bytes MVI dato, A MVI dato, C MVI dato, E SUI dato 64h 61h 63h 36h dato dato dato dato ANI dato ORI dato XRI dato 68h dato 69h dato 6Ah dato INT #n 54h numInterrupción IN #n OUT #n 52h numPuerto 53h numPuerto MVI dato, B MVI dato, D ADI dato CPI dato Tema 1.MaNoTaS 60h dato 62h dato 35h dato 37h dato 24 MaNoTaS. Codificación Instrucciones (XIV) • De tres bytes MVI dato, SP LDA dir STA dir JMP dir JZ dir JC dir JO dir 65h 70h 71h 74h 72h 73h 75h dL dL dL dL dL dL dL dH dH dH dH dH dH dH CALL dir 7Ah dL dH Tema 1.MaNoTaS 25 MaNoTaS. A.L.U. (XV) • Realiza las operaciones – Suma, resta, comparación – And, Or, Xor, Not, Incrementa y Decrementa • El registro de estado tiene. – Cero (Z). Se pone a 1 cuando el resultado de la última operación realizada en la A.L.U. ha sido cero – Acarreo (C). Se pone a 1 cuando al sumar los 2 bits de mayor peso de los operandos se produce llevada. – Interrupción (I). Se pone a 1 para habilitar las interrupciones. – Overflow (O). Se pone a 1 cuando el resultado de la última operación realizada en la A.L.U. es mayor que el mayor número representable con el tamaño de la palabra que estamos trabajando. Tema 1.MaNoTaS 26 MaNoTaS. (XVI) A.L.U. DATO 1 DATO 2 8 RF 8 + CM Z C O I A.L.U. 8 RESULTADO Tema 1.MaNoTaS 27 MaNoTaS. Banco de Registros (XVII) • La definición de las instrucciones obliga a dotar a MaNoTaS de un banco de registros. ENTRADA SALIDA DE DATOS 8 2 B C D E DEC SEL. REG. Tema 1.MaNoTaS 28 MaNoTaS. Selección de Direcciones (XVIII) • Para seleccionar las fuentes del bus de direcciones, se hace necesario un sistema de multiplexión. PC 16 SP MX B. DIRECCIONES HL 2 Sel Tema 1.MaNoTaS 29 MaNoTaS. U.C. (XIX) • Realiza las siguientes operaciones: – Carga las instrucciones, que se encuentran en la memoria, en un registro al que se le denomina Registro de Instrucción. – Controla un registro denominado Contador de Programa, que es el que lleva la cuenta de la instrucción que se va a ejecutar en cada momento. – Decodifica la instrucción. – Controlar la ejecución de las instrucciones y la comunicación con los periféricos. Tema 1.MaNoTaS 30 MaNoTaS. (XX) Ruta Datos Tema 1.MaNoTaS 31 Simulador MaNoTaS. (I) Simulador Tema 1.MaNoTaS 32 Simulador MaNoTaS. (II) Simulador Traza Tema 1.MaNoTaS 33 Simulador MaNoTaS. (III) Simulador Editor Tema 1.MaNoTaS 34