BUS DE DIRECCIONES (A23-A1) - 23 bits = 8 M direcc. físicas.

Tamaño: px
Comenzar la demostración a partir de la página:

Download "BUS DE DIRECCIONES (A23-A1) - 23 bits = 8 M direcc. físicas."

Transcripción

1 1. INTRODUCCIÓN BUS DE DATOS (DB15-D0) - 16 bits BUS DE DIRECCIONES (A23-A1) - 23 bits = 8 M direcc. físicas. ORGANIZACIÓN DE LA MEMORIA = 8 M palabras ESPACIO DE DIRECCIONAMIENTO = 16 M bytes CONTROL DEL BUS ASÍNCRONO \UDS \LDS (BE1, BE0) \AS (Dirección válida) R\#W \DTACK (Fin de ciclo de lectura/escritura) 1

2 2. DESCRIPCIÓN INTERNA Y ORGANIZACIÓN DE DATOS 2.1 Tamaño de los operandos BYTE = 8 bits (B) PALABRA(WORD) = 16 bits (W) PALABRA LARGA (LONG WORD) = 32 bits (L). El tamaño del operando se especifica, explícitamente, en la instrucción: MNEMÓNICO.N (donde N es B para byte,w para word y L para long word) Otras instrucciones soportan tamaños de operandos predefinidos y no requieren el uso del formato anterior. 2.2Descripción interna Estructura de registros D0 D1 D2 D3 D4 D5 D6 D7 A0 A1 A2 A3 A4 A5 A6 A PALABRA LARGA PALABRA LARGA PALABRA BYTE PALABRA PUNTERO DE PILA DE SUPERVISOR PUNTERO DE PILA DEL USUARIO REGISTROS DE DATOS REGISTROS DE DIRECCIONES CONTADOR DE PROGRAMA BYTE SISTEMA CCR REG. ESTADO Modos de funcionamiento: Supervisor Usuario 2

3 2.2.1 Registros de datos D0-D7 D0 D1 D2 D3 D4 D5 D6 D PALABRA LARGA PALABRA BYTE REGISTROS DE DATOS Cada registro se considera como: - Una palabra larga de 32 bits (bit de signo = bit 31). Dos palabras de 16 bits (palabras alta y baja). En modo palabra, sólo se accede a la palabra baja. Bit de signo = bit 15. Escritura de tamaño palabra, no altera la palabra alta. Cuatro bytes. En modo byte, se accede al byte bajo de la palabra baja, dejando intactos los restantes bits. Bit de signo = bit Registros de direcciones. A0-A6 A0 A1 A2 A3 A4 A5 A6 PALABRA LARGA PALABRA REGISTROS DE DIRECCIONES Contienen las direcciones de memoria que usan los modos de direccionamiento. La dirección del operando resultante del modo de direccionamiento debe ser par para palabra y palabra larga,y, par o impar, para byte Sólo admiten el modo palabra o el de palabra larga para lectura/escritura. No obstante una escritura en modo palabra modificaría los 32 bits del registro (extensión de signo). Operaciones con estos registro no modifican los bits del CCR 3

4 2.2.3 Registro de pila (SP) - USP : Puntero de Pila del Usuario SSP : Puntero de Pila del Supervisor A7 PUNTERO DE PILA DE SUPERVISOR PUNTERO DE PILA DEL USUARIO Los punteros SP direccionan el último dato almacenado en la pila, se decrementan cuando se meten datos y se incrementan cuando se sacan Contador de programa (PC) Registro de 32 bits (sólo se usan los 24 LSBs) Registro de estado Consta de 2 bytes: byte de sistema y byte de usuario (también llamado registro de códigos de condición o CCR). 4

5 2.2.6 Registro de códigos de condición. CCR 2.2.7Byte del Sistema. Su contenido se puede leer y modificarse cuando se trabaja en modo supervisor. T: Modo traza. Cuando este bit vale 1, el MC68000 ejecuta el programa paso a paso. S: Supervisor. Indica el modo de funcionamiento del microprocesador. I2-I0: Máscara de interrupciones. Con estos 3 bits se puede fijar el nivel de prioridad de una interrupción. 5

6 2.3 Organización de datos en memoria Los bytes son direccionados individualmente (n, n+1, n+2, n+3,.. ) Las palabras ocupan direcciones pares (n, n+2, n+4,n+6) El byte MSB está en la dirección par. El byte LSB está en la dirección impar. Notación big-endian. Las palabras largas ocupan direcciones pares de 4 en 4 (n, n+4, n+8,...) MODOS DE DIRECCIONAMIENTO 6

7 3. FORMATO DE LAS INSTRUCCIONES Una instrucción máquina del MC68000 puede contener entre una y cinco palabras: la primera se denomina PALABRA DE OPERACIÓN (OW), las restantes, palabras de extensión (EW). La PALABRA DE OPERACIÓN (OW) puede contener: Código de operación (OPCODE). Tamaño del operando. DIRECCIÓN EFECTIVA (EA). Contien dos subcampos: Modo Registro EA MODO DE DIRECCIONAMIENTO MODO REGISTRO Directo de registro de datos Directo de registro de direcciones Número de registro (Dn) Número de registro (An) Indirecto de registro Indirecto de registro con postincremento Indirecto de registro con predecremento Indirecto de registro con desplazamiento Indirecto de registro indexado con desplazamiento Número de registro (An) Número de registro (An) Número de registro (An) Número de registro (An) Número de registro (An) Absoluto corto Absoluto largo Relativo a PC con desplazamiento Relativo a PC indexado con desplazamiento Inmediato Las PALABRAS DE ETENSIÓN (EW) contienen información de apoyo a los modos de direccionamiento (campo EA de OW). Formatos de OW: A) Instrucciones sin operandos OW codigo de operacion Sintáxis: MNEMÓNICO Ejemplos: RTS, NOP, RTE 7

8 B) Instrucciones con un operando OW codigo_op EA destino tamaño modo registro a) OW codigo de operacion registro b) Sintáxis: MNEMÓNICO.tam Operando_destino Formato a): Consta de tres campos-> (Cod.Ope ; Tam ; EA destino) Ejemplos a): CLR.L D0, NOT.B D1, NEG.W D2 Formato b): Instrucciones que sólo usan un registro de datos como operando -> dos campos-> (Cod.Ope ; reg destino) Ejemplos b): SWAP D3, ET D1 C) Instrucciones con dos operandos Las más comunes Sintáxis: MNEMÓNICO. Tam Op_fuente, Op_destino Formato (a) Los dos operandos están especificados por EAs OW EA destino EA fuente cod_op tamaño registro modo modo registro Ejemplo (a):move D3,D1 Formato (b): Un operando es un registro de datos y el otro por una EA. OW cod_op registro modo_op EA fuente/destino modo registro El campo 'mod_op' Byte Palabra Doble pal. Operación <registro>op<ea> registro <EA>OP<registro> EA Ejemplo (b):add.b (A1),D0 ; CMP.W 8(A3),D0 8

9 Formato (c): Los dos operandos están en registros internos. OW cod_op registro modo_op registro modo_op especifica el tamaño de la operación y el tipo de registros que intervienen (datos o direcciones) Existen formatos especiales (FORMATOS CORTOS instrucciones ADDQ, SUBQ y MOVEQ) donde uno de los operandos es una pequeña constante que se codifica en la propia OW. OW cod_op registro 0 dato OW cod_op dato modo_op EA destino modo registro D) Instrucciones de bifurcación Las instrucciones de bifurcación condicional, Bcc, tienen un formato especial: la OW incluye un campo de desplazamiento y un campo de condición de la bifuracación. OW cod_op condicion desplazamiento 9

10 4. MODOS DE DIRECCIONAMIENTO - Direccionamiento implícito - Direccinamiento inmediato - Modos de registro directo - Modos de direccionamiento de memoria - Direccionamiento absoluto - Modos de direccionamiento relativos Los modos de direccionamiento se codifican en el campo dirección efectiva (EA). El campo modo selecciona el modo de direccionamiento y el otro campo, el registro usado para encontrar el operando. 4.1 Direccionamiento implícito Lo usan NOP,RTS). instrucciones que no necesitan operandos para su ejecución. (STOP, 4.2 Direccionamiento inmediato El dato referenciado por la instrucción se encuentra en una o varias de las palabras de extensión que siguen a la OW de la propia instrucción. Este modo de direccionamiento se utiliza, principalmente, para inicializar los contenidos de los registros (datos o direcciones) a un valor determinado o para incrementar su valor. Sintáxis: MNEMÓNICO.N #DATO,OPERANDO_DESTINO Ejemplo: MOVE.W #$1234,D0 10

11 4.3 Modos de registro directo El operando se encuentra en uno de los 16 registros internos del microprocesador: Registro de datos directo El operando está en el registro de datos especificado por la dirección efectiva. Sintáxis: MNEMÓNICO.N Dn,OPERANDO_DESTINO Ejemplo: MOVE.L D1,D Registro de direcciones directo En este caso el operando puede estar contenido en cualquier registro de direcciones An especificado por la dirección efectiva. Sintáxis: MNEMÓNICO.N An,OPERANDO_DESTINO Ejemplo: MOVE.L A0,D0 11

12 4.4 Modos de direccionamiento de memoria Registro de direcciones indirecto El dato está en la posición de memoria referenciada por el contenido de un registro de dirección. Sintáxis: MNEMÓNICO.N (An),OPERANDO_DESTINO Ejemplo: MOVE.W (A5),D Registro de direcciones indirecto con postincremento El dato está en la posición de memoria referenciada por el contenido de un registro de dirección. Una vez accedido al dato, el contenido del registro de dirección se incrementa en 1, 2 o 4 unidades dependiendo del tamaño del operando usado en la instrucción. 12

13 Sintáxis: MNEMÓNICO.N (An)+,OPERANDO_DESTINO Ejemplo: MOVE.W (A0)+,D Registro de direcciones indirecto con predecremento Igual que en el caso anterior, pero antes de acceder al operando, el contenido del registro se decrementa en 1,2 o 4 unidades según el tamaño del operando especificado en la propia instrucción. Sintáxis: MNEMÓNICO.N -(An),OPERANDO_DESTINO Ejemplo: MOVE.B -(A0),D1 13

14 4.4.4 Registro de direcciones indirecto con desplazamiento Este modo requiere de una palabra de extensión detrás del código de operación. La dirección del dato es la suma de la dirección contenida en el registro An y la constante de 16 bits, extendida en signo, contenida en la palabra de extensión. Sintaxis: MNEMÓNICO.N d16(an),operando_destino Ejemplo: MOVE.L 12(A0),D0 14

15 4.4.5 Registro de direcciones indirecto con índice Este modo de direccionamiento requiere de una palabra de extensión con el siguiente formato: D/A Registro W/L Desplazamiento BIT 15.- Indicador del registro índice: 0->Datos y 1-> Direcciones BITS Número del registro índice BIT 11.- Tamaño del registro índice: 0-> Palabra baja del registro índice extendido en signo; 1-> Palabra larga del registro índice BITS Desplazamiento. La dirección del operando se obtiene tras sumar el contenido del registro de direcciones con la constante de 8 bits dada en la palabra de extensión y el contenido del registro índice: Sintaxis: EA = An + n + d8. MNEMÓNICO.N d8 (An,n.N), OPERANDO_DESTINO Ejemplo: MOVE.L $10(A0,A3.W),D0 SCALE=1 en la figura anterior. 15

16 4.4.6 Direccionamiento absoluto Las palabras de extensión contienen la dirección de memoria donde están los operandos.existen dos tipos: Dirección absoluta corta Requiere de una palabra de extensión que contiene la dirección del operando. El contenido de la EW se extiende en signo para completar los 24 bits necesarios para cualquier dirección. En este modo se puede acceder a las direcciones de memoria que van desde la dirección h hasta la 007FFFh ( 32K bajos) si el bit de signo de la palabra de extensión es 0, y las direcciones comprendidas entre la FF8000 hasta la FFFFFFh (32K altos) si el bit de signo es un 1. Sintaxis: MNEMÓNICO.N xxxx,operando_destino Ejemplo: MOVE.W $10F8,D0 La palabra contenida en la posición de memoria $0010f8 y siguiente se almacena en la palabra baja del registro D0 16

17 Dirección absoluta larga En este caso el operando precisa de dos palabras de extensión, pudiéndose acceder a todo el mapa de memoria. Sintaxis: MNEMÓNICO.N xxxxxx,operando_destino Ejemplo: MOVE.L $0010F8,D0 La palabra larga contenida en la posición de memoria $0010F8, se almacena en el registro D0. 17

18 4.5 Modos de direccionamiento relativos La referencia usada para encontrar los operandos es el registro PC-> Programas reubicables Contador de programa con desplazamiento Este modo de direccionamiento requiere una palabra de extensión. La dirección del operando es la suma del contenido del contador de programa y la EW extendida en signo. d16(pc) La dirección efectiva del operando se calcula como EA=PC+d16. Sintaxis: MNEMÓNICO.N xxx,operando_destino Ejemplo: MOVE.W $18(PC),D0 Este modo de dirección sólo es válido para operandos fuente. 18

19 4.5.2 Contador de programa con índice Requiere de una palabra de extensión con el siguiente formato: D/A Registro W/L Desplazamiento BIT 15.- Indicador del registro índice: 0->Datos y 1-> Direcciones BITS Número del registro índice BIT 11.- Tamaño del registro índice: 0-> Palabra baja del registro índice extendido en signo; 1-> Palabra larga del registro índice BITS Desplazamiento. La dirección del operando es la suma del contenido del PC, el entero de 8 bits dado en la palabra de extensión y el contenido del registro índice, que se puede expresar como: Sintaxis: EA = PC + i.n + d8. MNEMÓNICO.N d8 (PC,n.N), OPERANDO_DESTINO Ejemplo: MOVE.L $10(PC,A0.W),D0 Este modo de direccionamiento sólo es válido para operandos fuente. SCALE=1 en la figura anterior. 19

20 4.6 Las instrucciones y sus modos de direccionamiento Los distintos modos de direccionamiento se pueden clasificar en cuatro categorías: DATOS: Incluye los modos que pueden usarse para referirse a operandos de datos. (Incluye todos los modos de direccionamiento excepto el modo directo a registro de direcciones) MEMORIA: Incluye todos los modos que pueden usarse para referirse a operandos de memoria. (Inlcuye todos los modos salvo el de registro directo). CONTROL: Incluye todos los modos que pueden usarse para referirse a operandos de memoria sin un tamaño asociado, y son usados por instrucciones de control como saltos, llamadas a subrutinas,...(los modos indirectos con predecremento y postincremento y el inmediato no están incluidos). ALTERABLE: Incluye todos los modos que pueden usarse para referirse a operandos modificables. Un operando destino sólo puede usar los modos de direccionamiento incluidos en esta categoría.( Los direccionamientos relativos al contador de programa y el direccionamiento inmediato no pertenecen a este grupo.) Estas cuatro categorías pueden subdividirse en otras como: EA: Dirección efectiva DEA: Dirección efectiva de datos MEA: Dirección efectiva de memoria CEA: Dirección efectiva de control AEA: Dirección efectiva alterable ADEA: Dirección efectiva alterable de datos AMEA: Dirección efectiva alterable de memoria ACEA: Dirección efectiva alterable de control. MODOS DE DIRECCIONAMIENTO Dn An (An) (An)+ -(An) d16(an) d8(an,ri.) d16(pc) d8(pc,ri.) CATEGORÍAS DE EA EA DEA MEA CEA AEA ADEA AMEA ACEA # 20

21 5. EL CONJUNTO DE INSTRUCCIONES DEL MC68000 El tiene sólo 56 instrucciones que, combinadas con los 14 modos de direccionamiento y los cinco formatos de datos, ofrece al programador una herramienta potente para el desarrollo de programas. Nuestro objetivo es mostrar aquellas instrucciones más usuales y de carácter general, para simplificar el aprendizaje del juego. Hemos dividido las instrucciones en los siguientes grupos: Operaciones de movimiento de datos: MOVE, MOVEA, MOVEM, MOVEQ, EG, LEA, PEA, SWAP, LINK y UNLNK Operaciones de aritmética entera: ADD, ADDA, ADDI, ADDQ, ADD, CLR, CMP, CMPA, CMPI, CMPM, DIVU, DIVS, ET, MULU, MULS, NEG, NEG, SUB, SUBA, SUBI, SUBW, SUB y CMP Operaciones lógicas: AND, ANDI, EOR, EORI, OR, ORI, NOT y TST Operaciones en BCD: ABCD, NBCD y SBCD Operaciones de desplazamiento y rotación: ASL, ASR, LSL, LSR, ROL, ROR, ROL, ROR y SWAP Operaciones de manipulación de bits: BTST, BSET, BCLR, BCHG Operaciones de control del programa: BRA, BSR, JMP, JSR, RTR, RTS, y NOP. Operaciones de control del sistema: RESET, RTE, STOP, TRAP, TRAPV, CHK,.. (Ver tabla resumen) 21

22 6. DESCRIPCIÓN FUNCIONAL ETERNA 6.1 Bus de datos (D0-D15) Bus triestado bidireccionale. Datos tamaño byte o palabra utilizan un único ciclo de lectura/escritura. Datos tamaño palabra requieren dos ciclos de lectura/escritura. 6.2 Bus de direcciones (A1-A23) Bus triestado unidireccional de 23 bits. 22

23 6.3 Control del bus asíncrono(/as, R/#W,/UDS,/LDS,/DTACK) Habilitación de direcciones (/AS) Línea triestado de salida, activa en nivel bajo. Indica (cuando activa) que la dirección existente en el bus de direcciones es válida. Lectura/Escritura (R/#W) Línea triestado de salida. Indica el sentido del flujo de información en el bus de datos. (R/#W = 0 Escritura; R/#W=1, Lectura) Habilitación de datos parte alta y parta baja (/UDS y /LDS) Líneas de salida triestado. Habilita el uso de una o ambas mitades del bus de datos. 23

24 Reconocimiento de transferencia de datos (/DTACK) Línea de entrada, activa en nivel bajo. Indica que la transferencia del dato ya ha sido realizada. Permite configurar la velocidad de trabajo de la CPU con la memoria y los periféricos que controla. Podemos definir los siguientes ciclos de bus en el MC68000 Ciclo de lectura Ciclo de escritura Ciclo de lectura - Durante un ciclo de lectura, el procesador recibe 1 o 2 bytes de datos por el bus. -Para operandos de tamaño palabra larga se requieren dos ciclos de lectura. -Para el ciclo de lectura se definen ocho estados (4 ciclos de reloj). MC68000 Dispositivo externo (memoria o perifericos) Direccionamiento del dispositivo 1) Pone R/#W a 1(S0) 2) Coloca el codigo de funcion(fc2-0)(s0) 3) Coloca direccione en A23-A1 (S1) 4) Activa #AS(S2) 5) Activa #UDS y/o #LDS(S2) Adquisicion de datos 1) Almacena datos(fin S6) 2) Desactiva #UDS y #LDS(S7) 3) Desactiva #AS(S7) Introduccion de datos 1) Decodificacion de direccion 2) Coloca el dato en D15-D8 y/o D7-D0 (dependiendo de #UDS y #LDS) 3) Activa #DTACK(no SW si en S4) Termina ciclo 1) Retira el dato de D15-D8 y/o D7-D0 2) Desactiva #DTACK 24

25 - En el estado 4 (S4) el procesador espera la señal de terminación del ciclo mediante la recepción de un 0 por su entrada #DTACK o por la activación de #BERR o de #VPA. Si no se recibe ninguna señal por estas entradas antes del flanco de bajada de S4, el procesador inserta estados de espera(ciclos de reloj completos) hasta que #DTACK,#BERR o #VPA se activen. 25

26 6.3.2 Ciclo de escritura -Durante un ciclo de escritura el procesador manda bytes de datos hacia la memoria o algún dispositivo periférico. - En el ciclo de escritura se definen ocho estados: MC68000 Dispositivo externo (memoria o perifericos) Direccionamiento del dispositivo 1) Coloca el codigo de funcion(fc2-0)(s0) 2) Coloca la direccion en A23-A1 (S1) 3) Activa #AS(S2) 4) Pone R/#W a 0(S2) 5) Coloca datos en D15-8 o/y D7-0 (S3) 5) Activa #UDS y/o #LDS(S4) Introduccion de datos 1) Decodificacion de direccion 2) Captura el dato de D15-D8 y/o D7-D0 (dependiendo de #UDS y #LDS) 3) Activa #DTACK(no SW si en S4) Adquisicion de datos 1) Desactiva #UDS y #LDS(S7) 2) Desactiva #AS(S7) 3) Retira datos del bus (fin S7) 4) Pone R/#W a 1 (fin S7) Termina ciclo 1) Desactiva #DTACK - En el flanco ascendente de S4, el procesador activa #UDS o/y #LDS. En este ciclo el procesador espera la señal de terminación de la escritura mediante la recepción de un 0 por su entrada #DTACK o por la activación de #BERR o de #VPA. Si no se recibe ninguna señal por estas entradas antes del flanco de bajada de S4, el procesador inserta estados de espera (ciclos de reloj completos) hasta que #DTACK,#BERR o #VPA se activen. 26

27 6.4 Control de arbitraje del bus Estas señales permiten el dialogo entre el microprocesador y otros controladores existentes en el sistema para determinar quién será el maestro del bus. #BR: Bus Request. Esta línea de entrada indica al microprocesador que existe un controlador externo que solicita ser el controlador del bus para acceder a la memoria. #BG: Bus Grant. Esta línea de salida indica a posibles controladores externos que el microprocesador cede el bus cuando termine el ciclo de bus actual. #BGACK: Bus Acknowledge. Esta entrada indica al micoprocesador que un dispositivo externo controla ahora el bus. Cuando el controlador termine, desactiva esta entrada y el microprocesador se hace cargo nuevamente del bus. 6.5 Control de interrupciones Las entradas #IPLx codifican el nivel de petición de interrupción: Nivel = 0 ( #IPL0=1, #IPL1=1, #IPL2=1) No hay interrupción. Nivel = 1 ( #IPL0=0, #IPL1=1, #IPL2=1) Interrupción de nivel Nivel = 7 ( #IPL0=0, #IPL1=0, #IPL2=0) Interrupción de nivel 7 (máxima prioridad). Interrupción no enmascarable. 27

28 Las entradas #IPLx deben permanecer estables hasta que el microprocesador inicie el CICLO DE RECONOCIMIENTO DE INTERRUPCIONES. Una interrupción se aceptará si el nivel de solicitud (nivel asociado a las entradas #IPLx) es mayor que el nivel asociado a los bits (I2,I1,I0) del registro SR, excepto para la interrupción no enmascarable que siempre se atenderá. 6.6 Control del sistema #BERR. Bus error. Es una entrada que se activa para avisar de un posible error en el ciclo de lectura/escritura debido a: 1. Dispositivos que no responden 2. Fallo de adquisición del número de vector de interrupción 3. Alguna otra aplicación dependiendo del error. El microprocesador tiene dos opciones cuando ocurre un error de bus: a) Intentar realizar otro ciclo de bus b) Realizar un proceso de excepción. El circuito externo que activa /BERR, debe controlar la duración entre la activación de la línea /AS y la respuesta /DTACK. /AS E D1 D2 D3 D4 CLK CLR Q1 Q1 Q2 Q2 Q3 Q3 Q4 Q4 /BERR 28

29 - Cronograma ejemplo Reintento del ciclo de bus Ocurre cuando se activa \BERR cuando el microprocesador está en parada (\HALT=0) Cuando /HALT pasa a valer 1 el microprocesador reintenta el último ciclo de bus. 29

30 6.6.2 Doble error de bus La detección de un Error de Bus provoca una excepción. La excepción de BERR requiere acceder a memoria. Si ocurre, entonces, otro error, el microprocesador para y coloca la línea de \HALT A 0. Esto es un doble error de bus. Únicamente, mediante un reset externo, se puede sacar el microprocesador de este estado de parada. #RESET: Línea bidireccional: Entrada. Si se activa, junto con HALT, durante 10 ciclos de CLK o 10ms en Power-Up, se produce la secuencia de inicialización (el microprocesador lee el vector de reset de la tabla de vectores para cargar el puntero de pila del supervisor y el PC, e inicializa los bits de interrupciones I2,I1,I0 del SR al nivel 7. Salida. Si se ejecuta la instrucción RESET. Esta instrucción pone el pin RESET a o durante 124 ciclos de reloj. #HALT: Línea bidireccional: Entrada: Provoca que el microprocesador pare el ciclo del bus actual. Salida: Se activa cuando el procesador deja de ejecutar instrucciones. 30

31 6.7 Control de periféricos síncronos Sirven para manejar los dispositivos de entrada/salida asociados al microprocesador MC6800. E: - Línea de salida que se conecta con la entrada de habilitación estándar de los periféricos del MC6800. Es una señal de reloj (que siempre está funcionando) cuya frecuencia es diez veces menor que la señal de reloj de entrada CLK del MC68000 (seis ciclos en nivel bajo y cuatro en alto). #VPA: Valid Peripheral Adress. Línea de entrada. Su activación indica que: a) el está direccionando un periférico de la familia del MC6800 y que tiene que sinconizarse con la señal E para poder acceder a él. b) debe utilizar la vectorización automática para atender interrupciones. #VMA: Valid Memory Adress. Línea de salida Su activación indica al periférico que la dirección de memoria es válida y que el microprocesador está sincronizado con la señal E Operación de transferencia de datos 1) El procesador inicia un ciclo normal de escritura o lectura 2) La electrónica externa activa /VPA indicando que se está accediendo a un periférico síncrono 3) El procesador espera hasta que la señal E pase a nivel bajo, entonces activa /VMA 4) El periférico espera hasta que E se active, entoces transfiere los datos. 5) El procesador espera que E vuelva a 0 ( en un ciclo de lectura los dato son cargados), entonces desactiva primero /VMA y después /AS, /UDS y /LDS. 6) Comienza un nuevo ciclo. 31

32 6.8 Estado del procesador - Codifican el estado interno del procesador. 7. PROCESOS DE ECEPCIÓN FC2 FC1 FC0 Tipo de ciclo Indefinido Datos de usuario Programa de usuario Indefinido Indefinido Datos de supervisor Programa de supervisor Reconocimiento de interrupciones Cualquier situación que requira la atención inmediata del microprocesador se denomina execepción. La atención de una excepción requiere disponer de mecanismos que permitan interrumpir la ejecución normal de instrucciones, para pasar a atender esa situación particular. Atendiendo al origen de la excepción se pueden clasificar en: Internas (Error de ejecución, instrucción especial,...) Externas (señal procedente del exterior -entradas IPLx, BERR...-). Excepciones Internas Externas Error de Ejecucion Traza Instrucción ilegal Reset Error de bus Peticion de interrupcion Division por cero Autovector Violacion de privilegio Usuario (no autovector) Emulador Instruccion ilegal Error en direccion 32

33 7.1 Vectores de Excepción. Toda excepción tiene asociada una posición de memoria que contiene su vector de excepción. Un vector de excepción es una dirección de memoria (donde comienza la rutina de servicio de la excepción). El procesamiento de una excepción requiere la búsqueda del vector asociado, el almacenamiento en la pila de los registros PC y SR y la bifurcación a la rutina que comienza en la dirección contenida en el vector (Rutina de excepción). Existen 255 vectores de excepción almacenados en la tabla de vectores de excepción que comienza a partir de la dirección $ de la memoria RAM. El tamaño del vector de excepción es el de una doble palabra (4 bytes), salvo el vector de RESET que ocupa dos dobles palabras (8 bytes). El tamaño de la tabla de vectores es de 1Kbytes. Cada vector se identifica a través del número de vector (N). La dirección de memoria donde se encuentra el vector N, viene dada por 4*N. Los 64 primeros vectores (0 al 63) están preasignados, aunque pueden sobreescribirse. Los demás vectores (192) quedan libres para ser asignados a dispositivos periféricos como vectores de interrupción de usuario. 33

34 NÚMERO VECTOR DECIMAL DIRECCIÓN HE. ASIGNACIÓN Reset: SSP inicial Reset: PC incicial Error de Bus C Error en dirección Instrucción ilegal División por cero Instrucción CHK C Instrucción TRAPV Violación de privilegio Traza Emulador línea C Emulador línea (No asignado, reservado) (No asignado,reservado) (No asignado, reservado) C Vector de interrupción no inicializado C (No asignado, reservado) Interrupción espúrea Autovector interrupción nivel Autovector interrupción nivel C Autovector interrupción nivel Autovector interrupción nivel Autovector interrupción nivel Autovector interrupción nivel C Autovector interrupción nivel BC Vectores instrucción TRAP C0-0FC (No asignado, reservado) FC Vectores de interrupción de usuario) 34

35 7.2 Secuencia de procesamiento de una excepción La atención de una excepción debe cubrir los siguientes aspectos: - Atención inmediata a la excepción, con interrupción, incluso, si la prioridad es alta, de la instrucción en curso. - La bifurcación a la dirección correcta de comienzo de la rutina de servicio de la excepción. - El retorno correcto a la secuencia de instrucciones interrumpida, una vez finalizada la rutina de servicio. Para conseguir estos objetivos, el procesamiento de una excepción por el MC68000 transcurre en una secuencia de 4 pasos: 1. El registro SR se copia en un registro interno. Se desactiva el modo traza (T=0) y se activa el bit S (S=1) por lo que el microprocesador entra en modo supervisor. Para excepciones asociadas a peticiones de interrupción, o a RESET, se actualiza el valor de la máscara de interrupciones I2-I0. 2. Se determina el número de vector de excepción por lógica interna, si es uno de los preasignados, o a partir de una búsqueda denominada "reconocimiento de interrupción", si se trata de una interrupción de usuario. A partir del número de vector se genera la dirección del vector de excepción. 3. Se salvan, en la pila del supervisor (SSP), los contenidos del contador de programa PC y del registro de estado SR. Primero se guarda PCH, seguido de PCL y SR. 4. El microprocesador carga en el registro PC el contenido del vector de interrupción. 35

36 - Después de esta secuencia, el procesador reanuda el ciclo normal de ejecución de instrucciones en la dirección de comienzo de la rutina de tratamiento de la excepción. - La última instrucción de la rutina de excepción debe ser RTE, cuya ejecución recupera de la pila el registro SR, después el PCL y finalmente el PCH. Esto permite reanudar el estado y la la ejecución de instrucciones por el punto interrumpido. 7.3 Tipos de excepción Las diferentes excepciones se pueden clasificar en varios grupos atendiendo a su urgencia o prioridad. GRUPO Y PRIORIDAD TIPO DE ECEPCIÓN ACCIÓN 0 Alta Reset Error de BUS Error en dirección 1 Traza Interrupción Se aborta el ciclo de bus actual dentro de 2 ciclos de reloj Comienza el procesamiento de la excepción cuando termina la instrucción actual 2 Baja Instrucción ilegal Instrucción no implementada Violación de privilegio TRAP, TRAPV,CHK División por cero Comienza el procesamiento de la excepción cuando termina el ciclo de bus actual Comienza el procesamiento de la excepción cuando se ejecuta la instrucción Excepciones internas - El procesamiento de las excepciones generadas internamente sigue el esquema general descrito en el apartado de secuencia de procesamiento de interrupción, salvo en el caso de error de dirección. A) ERRORES DE EJECUCIÓN -> Error en dirección. Se produce cuando el MC68000 intenta a acceder a una palabra o a una palabra larga con una dirección impar. 36

37 Esta excepción guarda en la pila, además de los registros PC y SR, cierta información adicional con el fin de ayudar a la rutina de excepción a identificar la causa del error: OW de la instrucción que genera el error Dirección donde se produjo el error Una palabra de denominada superestado que indica: - Si la operación era de lectura o de escritura - Si el procesador se encontraba procesando una instrucción o una excepción de los grupos 0 y 1 - Los valores de las líneas de código de función FC2-0 -> Instrucción ilegal Cuando el MC68000, al buscar la primera palabra de una instrucción, encuentra que no contiene ninguno de los códigos de operación válidos de su repertorio de instrucciones. La ejecución de la instrucción ILLEGAL tiene el mismo efecto. -> Instrucción de emulación. - Cuando los códigos de operación encontrados son las combinaciones 1010 o 1111 (estos códigos han sido reservados para extender el juego de instrucciones del MC68000 mediante emulación). 37

38 -> Violación de privilegio - Se produce una violación de privilegio cuando se intenta ejecutar una instrucción reservada al modo supervisor con el bit S=0, es decir, en modo usuario. B) TRAZA Se activa cuando el bit T del SR está a 1. Este modo, denominado también "paso a paso", genera excepciones detrás de la ejecución de cada instrucción del programa. C) INSTRUCCIONES TRAP,TRAPV,CHK Estas tres instrucciones permiten generar una excepción directamente desde una instrucción. -> TRAP Tiene el formato TRAP #numero_trap (donde numero_trap es un entero de 4 bits -0 al 15-). El número de TRAP identifica uno de los 16 vectores de excepción asignados a esta instrucción. Esta instrucción proporciona una vía para acceder a rutinas genéricas almacenadas la memoria no volatil (llamadas a la BIOS) o en la implementación de puntos de ruptura. -> TRAPV La instrucción TRAPV, situada inmediatamente después de una instrucción aritmética susceptible de producir desbordamiento (V=1), produce una excepción en caso de que se produzca ese hecho. -> CHK - Esta instrucción compara el contenido de un registro con un límite superior almacenado en un lugar especificado. Si el contenido del registro supera dicho límite, se produce la excepción. 38

39 7.3.2 Excepciones externas A) RESET Una excepción por RESET persigue objetivos algo distintos al resto de las excepciones. No se guardan los valores del PC y el SR en la pila porque no se desea volver a recuperar el estado del procesador. Se cargan unos valores iniciales en los registros SSP y PC. Además, el registro SR se inicializa de la forma siguiente: 1) Se desactiva el modo traza T=0 2) Se activa el modo supervisor: S=1 3) Se enmascaran todos los niveles de prioridad de interrupción: I2-I0=111 B) ERROR DE BUS Ocurre cuando la electrónica externa activa la entrada #BERR. El procesamiento es idéntico al de error de dirección salvo que se usa el vector de interrupción 2. Si en el procesamiento de esta excepción, la entrada #BERR se activa (doble error de bus), el para. En tal situación, sólo un RESET permite reanudar la ejecución de instrucciones. C) INTERRUPCIONES La activación de las entradas #IPLn codifica el nivel de petición de interrupción. El nivel 0, #IPLn(n=0,1,2)=1 indica que no hay interrupción, y el nivel 7, #IPLn(n=0,1,2)=0 indica la interrupción de mayor prioridad (NMI). El nivel de interrupción que puede atender el microprocesador viene fijado por los bits I0,I1,e I2 del SR. Se atienden interrupciones de nivel mayor al fijado en la máscara de interrupción con la salvedad de la NMI. Cuando el MC68000 acepta una interrupción, se desencadenan los mismos procesos que los descritos para las excepciones, salvo que el número del 39

40 vector de excepción se obtiene mediente un ciclo especial de lectura: Se salvan en la pila el contador de programa y el registro de estado, se activa el bit S, se desactiva el bit T, se actualizan los bits I2,I1,I0 al nivel de la interrupción peticionaria y se inicia el ciclo de reconocimiento de interrupción: Las salidas FC2,FC1,FC0 se ponen todas a 1, y los bits A3,A2,A1 identifican el nivel de petición de interrupción que el microprocesador está procesando en ese momento. A partir de aquí pueden ocurrir varias cosas: Se activa la entrada #VPA (periférico síncrono). En tal caso, el microprocesador utiliza el autovector asociado al nivel de interrupción actual. Se activa la entrada #DTACK (periférico asíncrono). En este caso, el periférico, además de activar esa señal, ha colocado, en el bus de datos, un byte que contiene un número de vector de excepción. Este número de vector debe estar comprendido entre (vectores de usuario). Se activa la entrada #DTACK pero se recibe, como número de vector, el $F. Esto es la interrupción no inicializada. Se activa la entrada #BERR. Indica que, en el ciclo de interrupción, el no ha recibido ningún vector de interrupción y por eso se ha producido un error de bus. Esto provoca la generación de la interrupción espúrea (vector 24). 40

7. Modos de direccionamiento

7. Modos de direccionamiento El MC68000 permite 12 modos de direccionamiento para localizar a los operandos. Podemos dividir los modos de direccionamiento en 5 grupos: Directo de registro : el operando es el dato contenido en un registro

Más detalles

Introducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones

Introducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones Introducción a la Computación Capítulo 10 Repertorio de instrucciones: Características y Funciones Que es un set de instrucciones? La colección completa de instrucciones que interpreta una CPU Código máquina

Más detalles

ASPECTOS HARDWARE Y SOFTWARE DEL MICROPROCESADOR 68000

ASPECTOS HARDWARE Y SOFTWARE DEL MICROPROCESADOR 68000 ASPECTOS HARDWARE Y SOFTWARE DEL MICROPROCESADOR 68000 Raúl Alcaraz Martínez INDICE CAPITULO 1. INTRODUCCIÓN AL 68000 8 1. Introducción al 68000 8 1.1. Características generales 8 2. Generalidades para

Más detalles

SISTEMAS OPERATIVOS Arquitectura de computadores

SISTEMAS OPERATIVOS Arquitectura de computadores SISTEMAS OPERATIVOS Arquitectura de computadores Erwin Meza Vega emezav@unicauca.edu.co Esta presentación tiene por objetivo mostrar los conceptos generales de la arquitectura de los computadores, necesarios

Más detalles

CICLOS DEL PROCESADOR

CICLOS DEL PROCESADOR UNIDAD DE CONTROL CICLOS DEL PROCESADOR Qué es un ciclo de búsqueda? Para qué sirve estudiar los ciclos de instrucción de una CPU? Para comprender el funcionamiento de la ejecución de instrucciones del

Más detalles

Arquitectura de Computadores

Arquitectura de Computadores Arquitectura de Computadores 2. La CPU 1. Estructura de la CPU 2. Ciclo de instrucción 3. Interfaz hardware de una CPU 4. Ciclo de reloj, memoria e instrucción Arquitectura de Computadores La CPU - 1 Vamos

Más detalles

El nivel ISA (II)! Conjunto de Instrucciones

El nivel ISA (II)! Conjunto de Instrucciones El nivel ISA (II) Conjunto de Instrucciones EC-2721 Arquitectura del Computador I Que es un Conjunto de Instrucciones? Colección completa de instrucciones comprendida por un procesador Lenguaje de máquina

Más detalles

Fundamentos de Computadores I

Fundamentos de Computadores I Universidad Rey Juan Carlos Fundamentos de Computadores I Luis Rincón Córcoles Programa 1. La familia de microprocesadores M68000 2. Características principales del MC68000 3. Modelo de programación del

Más detalles

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria 1.2. Jerarquía de niveles de un computador Qué es un computador? Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria Es un sistema tan complejo

Más detalles

1.2.- EL MICROPROCESADOR.

1.2.- EL MICROPROCESADOR. 1.2.- EL MICROPROCESADOR. El microprocesador es un circuito integrado que contiene algunos o todos los elementos necesarios para conformar una (o más) unidad central de procesamiento UCP, también conocido

Más detalles

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES Universidad Rey Juan Carlos ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES Luis Rincón Córcoles Licesio J. Rodríguez-Aragón Programa 1. La familia de microprocesadores M68000 2. Características principales

Más detalles

Objetivos. Objetivos. Arquitectura de Computadores. R.Mitnik

Objetivos. Objetivos. Arquitectura de Computadores. R.Mitnik Objetivos Objetivos Arquitecturas von Neumann Otras Unidad Central de Procesamiento (CPU) Responsabilidades Requisitos Partes de una CPU ALU Control & Decode Registros Electrónica y buses 2 Índice Capítulo

Más detalles

Conceptos de Arquitectura de Computadoras Curso 2015

Conceptos de Arquitectura de Computadoras Curso 2015 PRACTICA 1 Assembly, Instrucciones, Programas, Subrutinas y Simulador MSX88 Objetivos: que el alumno Domine las instrucciones básicas del lenguaje assembly del MSX88. Utilice los diferentes modos de direccionamiento.

Más detalles

Mapeo en el P 8086 de Intel

Mapeo en el P 8086 de Intel Mapeo en el P 8086 de Intel Ing. Silvia Domizi Ing. Diego Alegrecci Mapeo Microprocesador 8086 1 Introducción Mapeo Microprocesador 8086 2 Mapeo Mapear un dispositivo, es asignarle un intervalo definido

Más detalles

Tutoría 2. Banco de memoria de 8 y 16 bits (8086)

Tutoría 2. Banco de memoria de 8 y 16 bits (8086) Tutoría 2. Banco de memoria de 8 y 16 bits (8086) RESUMEN Cuando el procesador opera en modo mínimo, éste genera las señales de control para la memoria y los dispositivos de E/S. [1, pág. 292]. Para utilizar

Más detalles

Arquitectura de Computadores. Apellidos, Nombre:

Arquitectura de Computadores. Apellidos, Nombre: No se considerarán como válidas las respuestas en las que no se justifiquen los cálculos realizados No se permite el uso de ningún tipo de documentación, ni de calculadora Sólo existe una única opción

Más detalles

(1) Unidad 1. Sistemas Digitales Basados en Microprocesador SISTEMAS BASADOS EN MICROPROCESADORES. Grado en Ingeniería Informática EPS - UAM

(1) Unidad 1. Sistemas Digitales Basados en Microprocesador SISTEMAS BASADOS EN MICROPROCESADORES. Grado en Ingeniería Informática EPS - UAM Unidad 1 Sistemas Digitales Basados en Microprocesador SISTEMAS BASADOS EN MICROPROCESADORES Grado en Ingeniería Informática EPS - UAM Índice 1. Sistemas digitales basados en microprocesador. 1.1. Arquitectura

Más detalles

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES Universidad Rey Juan Carlos ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES Repertorio de instrucciones y modos de direccionamiento: conceptos básicos Luis Rincón Córcoles Licesio J. Rodríguez-Aragón Programa

Más detalles

Registros de desplazamiento

Registros de desplazamiento Registros de desplazamiento Definición de registro de desplazamiento básico Tipos de registro de desplazamiento Configuraciones específicas Aplicaciones más típicas VHDL Ejercicio propuestos Definición

Más detalles

Introducción a la arquitectura de computadores

Introducción a la arquitectura de computadores Introducción a la arquitectura de computadores Departamento de Arquitectura de Computadores Arquitectura de computadores Se refiere a los atributos visibles por el programador que trabaja en lenguaje máquina

Más detalles

Soluciones a los problemas impares. Tema 5. Memorias. Estructura de Computadores. I. T. Informática de Gestión / Sistemas

Soluciones a los problemas impares. Tema 5. Memorias. Estructura de Computadores. I. T. Informática de Gestión / Sistemas Tema 5. Soluciones a los problemas impares Estructura de Computadores I. T. Informática de Gestión / Sistemas Curso 28-29 Tema 5 Hoja: 2 / 36 Tema 5 Hoja: 3 / 36 Base teórica La memoria es el lugar en

Más detalles

Clasificación del procesador según el número de referencias a memoria.

Clasificación del procesador según el número de referencias a memoria. Estructura de Computadores Tema 1. El sistema computador Estructura general de un computador. Arquitectura de Von Neumann. Unidades generales: procesador, memoria, entrada/salida, unidad de control. Niveles

Más detalles

LECCIÓN 14: DISEÑO DE COMPUTADORES MEDIANTE MICROPROGRAMACION

LECCIÓN 14: DISEÑO DE COMPUTADORES MEDIANTE MICROPROGRAMACION ESTRUCTURA DE COMPUTADORES Pag. 14.1 LECCIÓN 14: DISEÑO DE COMPUTADORES MEDIANTE MICROPROGRAMACION 1. Introducción Vamos a aplicar las ideas de microprogramación al caso de un minicomputador similar al

Más detalles

Estructura del Computador

Estructura del Computador Estructura del Computador 1 definiciones preliminares Estructura: es la forma en que los componentes están interrelacionados Función: la operación de cada componente individual como parte de la estructura.

Más detalles

ESTRUCTURA BÁSICA DE UN ORDENADOR

ESTRUCTURA BÁSICA DE UN ORDENADOR ESTRUCTURA BÁSICA DE UN ORDENADOR QUÉ ES UN ORDENADOR? Un ordenador es una máquina... QUÉ ES UN ORDENADOR? Un ordenador es una máquina... QUÉ ES UN ORDENADOR? Un ordenador es una máquina... Qué son los

Más detalles

Arquitectura de Computadores II Clase #3

Arquitectura de Computadores II Clase #3 Clase #3 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Veremos Registros Repertorio de instrucciones Modos de direccionamiento El stack Formatos de datos Control

Más detalles

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial. Tipos de Datos Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial. Entrada de datos Procesamientos de datos Salida de resultados Los

Más detalles

DIAGRAMA A BLOQUES DE UNA COMPUTADORA

DIAGRAMA A BLOQUES DE UNA COMPUTADORA DIAGRAMA A BLOQUES DE UNA COMPUTADORA BUS DE DATOS: Interconecta los dispositivos de entrada/salida, la memoria RAM y el CPU. BUS DE DIRECCIONES: Se utiliza para direccional las localidades de memoria

Más detalles

ITT-327-T Microprocesadores

ITT-327-T Microprocesadores ITT-327-T Microprocesadores Temporizador Programable (PIT) 8254. Temporizador/Contador Programable (PIT) 8254. Es un contador/temporizador programable diseñado para trabajar con los sistemas de microcomputadores.

Más detalles

Estructura de Microprocesadores. Profesor Ing. Johan Carvajal Godínez

Estructura de Microprocesadores. Profesor Ing. Johan Carvajal Godínez Estructura de Microprocesadores PIC 18F4550 Administración de la memoria Profesor Ing. Johan Carvajal Godínez Contenidos Organización de la memoria del MCU Administración de la memoria de programa (Flash)

Más detalles

Resumen de las instrucciones del 8086/8088

Resumen de las instrucciones del 8086/8088 Resumen de las instrucciones del 8086/8088 En este capítulo se hace un resumen de las instrucciones del 8086/8088. Estas instrucciones se encuentran explicadas más detalladamente en otro capítulo. Se puede

Más detalles

PROCESADORES. Existen 3 tipos de procesadores: DE GALLETA, DE PINES Y DE CONTACTO. DE GALLETA: se utilizaban en las board en los años 80 y 90.

PROCESADORES. Existen 3 tipos de procesadores: DE GALLETA, DE PINES Y DE CONTACTO. DE GALLETA: se utilizaban en las board en los años 80 y 90. PROCESADORES TIPOS DE PROCESADORES. Existen 3 tipos de procesadores: DE GALLETA, DE PINES Y DE CONTACTO DE GALLETA: se utilizaban en las board en los años 80 y 90. DE PINES: reemplazaron los procesadores

Más detalles

APUNTE DEL 8155 ELECTRÓNICA DIGITAL III

APUNTE DEL 8155 ELECTRÓNICA DIGITAL III APUNTE DEL 8155 ELECTRÓNICA DIGITAL III Revisión 1.1 Marzo, 2011 Interfaz a periférico 8155 Descripción general El chip 8155 es un dispositivo introducido por Intel en 1977. Contiene memoria RAM (SRAM)

Más detalles

Funcionamiento de la Pila (o stack)

Funcionamiento de la Pila (o stack) Funcionamiento de la Pila (o stack) Todo μp cuenta con una memoria de almacenamiento temporal denominada Pila Es una estructura de datos de tipo secuencial (LIFO) Existen dos operaciones básicas posibles:

Más detalles

Estructura de Datos: Archivos

Estructura de Datos: Archivos Estructura de Datos: Archivos Registros (record) Un registro es una estructura que consiste de un número fijo de componentes llamados campos. Los campos pueden ser de diferentes tipos y deben tener un

Más detalles

PCF8574 EXPANSOR REMOTO 8-BIT I/O PARA I²C-BUS

PCF8574 EXPANSOR REMOTO 8-BIT I/O PARA I²C-BUS PCF8574 EXPANSOR REMOTO 8-BIT I/O PARA I²C-BUS 1. CARACTERISTCAS Suministro de voltaje de funcionamiento 2.5 a 6 V Bajo consumo de corriente de espera (standby) de 10 ma máximo. Expansor I²C a puerto paralelo.

Más detalles

MICROCONTROLADORES PIC

MICROCONTROLADORES PIC MICROCONTROLADORES PIC LOS TIMER DE LOS 16F87x TEMA EL TIMER 1 CCFF D.P.E. MÓDULO DE PROYECTOS 1 Diagrama de Bloques del TIMER1 CCFF D.P.E. MÓDULO DE PROYECTOS 2 INTRODUCCIÓN El módulo TIMER1 es un temporizador/contador

Más detalles

Electrónica Digital II

Electrónica Digital II Electrónica Digital II TIPOS DE MEMORIAS MEMORIA DDR MEMORIA DDR2 MEMORIA DDR3 COMPARACIÓN TIEMPOS DE ACCESO TIPOS DE LATENCIAS RAS CAS ACTIVIDAD PRECARGA TIPOS DE CONFIGURACIONES SINGLE CHANNEL DUAL CHANNEL

Más detalles

INDICE Capitulo 1. Álgebra de variables lógicas Capitulo 2. Funciones lógicas

INDICE Capitulo 1. Álgebra de variables lógicas Capitulo 2. Funciones lógicas INDICE Prefacio XV Capitulo 1. Álgebra de variables lógicas 1 1.1. Variables y funciones 1 1.2. Variables lógicas 2 1.3. Valores de una variable lógica 2 1.4. Funciones de una variable lógica 3 1.5. Funciones

Más detalles

Tema 5: Memorias. Espacio reservado para notas del alumno

Tema 5: Memorias. Espacio reservado para notas del alumno Tema 5: Memorias S Definiciones S Parámetros característicos S Jerarquía de memoria S Dispositivos de almacenamiento S Clasificación S Fundamentos de las memorias S Memoria caché / Memoria virtual S Memoria

Más detalles

Guía rápida para gestionar el puerto paralelo del PC

Guía rápida para gestionar el puerto paralelo del PC Guía rápida para gestionar el puerto paralelo del PC Descarga desde: http://eii.unex.es/profesores/jisuarez/descargas/ip/guia_rapida_pp.pdf José Ignacio Suárez Marcelo Universidad de Extremadura Escuela

Más detalles

Manejo de Entrada-Salida. Arquitectura de Computadoras

Manejo de Entrada-Salida. Arquitectura de Computadoras Manejo de Entrada-Salida Arquitectura de Computadoras Agenda 1.2.3.1Módulos de entrada/salida. 1.2.3.2Entrada/salida programada. 1.2.3.3Entrada/salida mediante interrupciones. 1.2.3.4Acceso directo a memoria.

Más detalles

UNIDAD 1. COMPONENTES DEL COMPUTADOR

UNIDAD 1. COMPONENTES DEL COMPUTADOR UNIDAD 1. COMPONENTES DEL COMPUTADOR OBJETIVO Nº 1.1: DEFINICIÓN DE COMPUTADOR: Es un dispositivo electrónico compuesto básicamente de un procesador, una memoria y los dispositivos de entrada/salida (E/S).

Más detalles

28/09/2012. Interfaz con Dispositivos de Salida. Interfaz con Dispositivos de Entrada. Port Mapped. Memory mapped. Interfaz con Dispositivos I/O

28/09/2012. Interfaz con Dispositivos de Salida. Interfaz con Dispositivos de Entrada. Port Mapped. Memory mapped. Interfaz con Dispositivos I/O Interfaz con Dispositivos I/O Interfaz con Dispositivos de Salida y Salida Unidad 4, Segunda Parte Port Mapped Memory mapped 1 2 Ejecución de la Instrucción OUT Ejecución de la instrucción OUT Dirección

Más detalles

El lenguaje C. 1. Identificadores, constantes y variables

El lenguaje C. 1. Identificadores, constantes y variables Principios de Programación El lenguaje C 1. Identificadores, constantes y variables 1.1. Conceptos de memoria Los nombres de variable como x, y, suma corresponden a localizaciones o posiciones en la memoria

Más detalles

Circuitos Secuenciales: concepto de estado

Circuitos Secuenciales: concepto de estado Lógica Secuencial Circuitos Secuenciales: concepto de estado En los sistemas secuenciales la salida Z en un determinado instante de tiempo t i depende de X en ese mismo instante de tiempo t i y en todos

Más detalles

Diagrama a bloques de una computadora

Diagrama a bloques de una computadora Diagrama a bloques de una computadora Memoria Primaria Bus de Datos Bus de Dato s Bus de Direccione s Procesador Bus de Direcciones Memoria Secundaria Unidad de Control ALU Bus Interno Registros Bus de

Más detalles

Elementos de un programa en C

Elementos de un programa en C Elementos de un programa en C Un programa en C consta de uno o más archivos. Un archivo es traducido en diferentes fases. La primera fase es el preprocesado, que realiza la inclusión de archivos y la sustitución

Más detalles

Tema: Microprocesadores

Tema: Microprocesadores Universidad Nacional de Ingeniería Arquitectura de Maquinas I Unidad I: Introducción a los Microprocesadores y Microcontroladores. Tema: Microprocesadores Arq. de Computadora I Ing. Carlos Ortega H. 1

Más detalles

Práctica 4 - Arquitectura CPU

Práctica 4 - Arquitectura CPU Práctica 4 - Arquitectura CPU Organización del Computador 1 1er. Cuatrimestre 2006 Programación en Assembler Ejercicio 1 Dados los siguientes valores de la memoria y del registro R0 de la arquitectura

Más detalles

Convenciones. Introducción. Unidades principales en la implementación. El procesador: camino de datos y control. Tipos de elementos:

Convenciones. Introducción. Unidades principales en la implementación. El procesador: camino de datos y control. Tipos de elementos: Unidades principales en la implementación Data El procesador: camino de datos y control IEC UTM Moisés E. Ramírez G. 1 Register # PC Address Instruction Instruction Registers Register # ALU memory Register

Más detalles

Controlador de Interrupciones (Versión programable) Manual de Usuario

Controlador de Interrupciones (Versión programable) Manual de Usuario Controlador de Interrupciones (Versión programable) Manual de Usuario Índice de contenido 1. Características...2 2.Descripción general...3 3.Descripción funcional...3 4.Estructura Interna...4 4.1 Bloque

Más detalles

CPU MEMORIAS CACHE. Memorias caché. Memoria caché = memoria de tamaño pequeño y acceso rápido situada entre la CPU y la memoria principal.

CPU MEMORIAS CACHE. Memorias caché. Memoria caché = memoria de tamaño pequeño y acceso rápido situada entre la CPU y la memoria principal. MEMORIAS CACHE Memoria caché = memoria de tamaño pequeño y acceso rápido situada entre la CPU y la memoria principal. Tiempo ciclo memoria > tiempo de ciclo del procesador la CPU debe esperar a la memoria

Más detalles

Contenido. Conjunto de Instrucciones. Formato de la Instrucción. Instrucciones de 1 byte. Formato de la Instrucción 28/09/2011

Contenido. Conjunto de Instrucciones. Formato de la Instrucción. Instrucciones de 1 byte. Formato de la Instrucción 28/09/2011 1 ontenido 2 UNIDAD 5 EL LENGUAJE DE ENSAMBLADOR DEL Z80 onjunto de instrucciones Tipos de instrucciones Modos de direccionamiento El ensamblador del Z80 El simulador AVOET Implementación de un sistema

Más detalles

Estructura de Computadores Ingeniería Técnica en Informática de Sistemas. BOLETIN 4: Memoria

Estructura de Computadores Ingeniería Técnica en Informática de Sistemas. BOLETIN 4: Memoria BOLTIN : Memoria Nota: n aquellos problemas donde no se indique lo contrario debe suponerse que el espacio de direccionamiento es de K. P. Un sistema basado en un microprocesador dispone de s de K* y una

Más detalles

INDICE 1. Operación del Computador 2. Sistemas Numéricos 3. Álgebra de Boole y Circuitos Lógicos

INDICE 1. Operación del Computador 2. Sistemas Numéricos 3. Álgebra de Boole y Circuitos Lógicos INDICE Prólogo XI 1. Operación del Computador 1 1.1. Calculadoras y Computadores 2 1.2. Computadores digitales electrónicos 5 1.3. Aplicación de los computadores a la solución de problemas 7 1.4. Aplicaciones

Más detalles

Proyecto de Arquitectura de Computadores Sistemas de Entrada/Salida Curso 2014/2015

Proyecto de Arquitectura de Computadores Sistemas de Entrada/Salida Curso 2014/2015 Proyecto de Arquitectura de Computadores Sistemas de Entrada/Salida Curso 2014/2015 Antonio Pérez Ambite Santiago Rodríguez de la Fuente Departamento de Arquitectura y Tecnología de Sistemas Informáticos

Más detalles

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main. LENGUAJE C CARACTERISTICAS DEL LENGUAJE 'C' El lenguaje 'C' se conoce como un lenguaje compilado. Existen dos tipos de lenguaje: interpretados y compilados. Los interpretados son aquellos que necesitan

Más detalles

Estructuras en LabVIEW.

Estructuras en LabVIEW. Estructuras en LabVIEW. Sumario: 1. Ejecución según el flujo de datos. 2. Estructuras básicas disponibles en LabVIEW. a) Estructura Sequence. b) Estructura Case. c) Estructura For Loop. d) Estructura While

Más detalles

Tema 5.- Memorias. ---***---

Tema 5.- Memorias. ---***--- Tema 5.- Memorias. 1. Conceptos básicos generales. 2. Organización de mapas de memorias. 2.1. Objetivos. 2.2. Ejemplo de conexión entre un procesador genérico y la memoria. 2.3. Ejemplo de conexión entre

Más detalles

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo Algoritmos En general, no hay una definición formal de algoritmo. Muchos autores los señalan como listas de instrucciones para resolver un problema abstracto, es decir, que un número finito de pasos convierten

Más detalles

FUNCIONAMIENTO DEL ORDENADOR

FUNCIONAMIENTO DEL ORDENADOR FUNCIONAMIENTO DEL ORDENADOR COMPUTACIÓN E INFORMÁTICA Datos de entrada Dispositivos de Entrada ORDENADOR PROGRAMA Datos de salida Dispositivos de Salida LOS ORDENADORES FUNCIONAN CON PROGRAMAS Los ordenadores

Más detalles

Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo

Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo TEMA 2: CONCEPTOS BÁSICOS DE ALGORÍTMICA 1. Definición de Algoritmo 1.1. Propiedades de los Algoritmos 2. Qué es un Programa? 2.1. Cómo se construye un Programa 3. Definición y uso de herramientas para

Más detalles

Introducción al PLC Simatic Siemens S7-200.

Introducción al PLC Simatic Siemens S7-200. Francisco J. Jiménez Montero. Málaga, Febrero de 2007. Revisado: Noviembre de 2010. Ciclo Formativo de Grado Medio de Instalaciones Eléctricas y Automáticas. Introducción al PLC Simatic Siemens S7-200.

Más detalles

Definición de Memoria

Definición de Memoria Arquitectura de Ordenadores Representación de Datos en Memoria Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática Definición de Memoria DRM-1 La memoria

Más detalles

Estructura y Tecnología de Computadores. Módulo D. Buses del computador. Tema 6. Características y protocolos de los buses

Estructura y Tecnología de Computadores. Módulo D. Buses del computador. Tema 6. Características y protocolos de los buses 1 Estructura y Tecnología de Computadores Módulo D. Buses del computador Tema 6. Características y protocolos de los buses José Manuel Mendías Cuadros Dpto.. Arquitectura de Computadores y Automática Universidad

Más detalles

Arquitectura de Computadoras. Anexo Clase 8 Buses del Sistema

Arquitectura de Computadoras. Anexo Clase 8 Buses del Sistema Arquitectura de Computadoras Anexo Clase 8 Buses del Sistema Estructuras de interconexión Todas las unidades han de estar interconectadas. Existen distintos tipos de interconexiones para los distintos

Más detalles

Tema 2. El lenguaje JAVA

Tema 2. El lenguaje JAVA Tema 2. El lenguaje JAVA Nomenclatura habitual Variables Tipos de variables Tipos primitivos Referencias Arrays Operadores Operadores de Java Precedencia de operadores Sentencias de control Sentencias

Más detalles

1 La figura 1 muestra la estructura de la CPU de un computador con palabras y direcciones de 32 bits, cuya

1 La figura 1 muestra la estructura de la CPU de un computador con palabras y direcciones de 32 bits, cuya ESTUCTU DE COMPUTDOES Tema de Procesador (Enunciados de problemas) POBLEMS 1 La figura 1 muestra la estructura de la CPU de un computador con palabras y direcciones de 32 bits, cuya unidad de c ontrol

Más detalles

Práctica 5MODBUS: Bus Modbus

Práctica 5MODBUS: Bus Modbus Práctica 5MODBUS: Bus Modbus 1 Objetivos El objetivo de esta práctica es la utilización y la programación de una red Modbus. El alumno debe ser capaz de: Diferenciar los tres niveles fundamentales de la

Más detalles

Funcionamiento de la computadora

Funcionamiento de la computadora Funcionamiento de la computadora La computadora es una maquina destinada a procesar datos. Este procesamiento involucra dos flujos de información: el de datos y el de instrucciones. Se parte del flujo

Más detalles

Arquitectura de Computadores

Arquitectura de Computadores Arquitectura de Computadores 5. Sistemas de Entrada/Salida 1. Estructura de un Sistema de E/S 2. Métodos de E/S 3. E/S por sondeo (polling) 4. E/S por interrupciones 5. E/S por Acceso Directo a Memoria

Más detalles

Computación II. Introducción a Visual Basic

Computación II. Introducción a Visual Basic Computación II Introducción a Visual Basic Introducción a Visual Basic Microsoft Visual Basic es un conjunto de herramientas que posibilitan el desarrollo de aplicaciones para Windows de una manera rápida

Más detalles

INTERRUPCIONES. Existen 256 interrupciones En el modo real cada una tiene un vector asociado Vectores de 4 bytes: segmento + offset 32 F0 50 8A

INTERRUPCIONES. Existen 256 interrupciones En el modo real cada una tiene un vector asociado Vectores de 4 bytes: segmento + offset 32 F0 50 8A Tres tipos de interrupciones: Internas (TRAPS) Externas (HARDWARE) Software Existen 256 interrupciones En el modo real cada una tiene un vector asociado Vectores de 4 bytes: segmento + offset... 0000:0008

Más detalles

TEMA 2. CODIFICACIÓN DE LA INFORMACIÓN

TEMA 2. CODIFICACIÓN DE LA INFORMACIÓN TEMA 2. CODIFICACIÓN DE LA INFORMACIÓN 1. INTRODUCCIÓN. SISTEMAS DE NUMERACIÓN EN. Sistema binario. Sistema octal. Sistema hexadecimal. 2. REPRESENTACIÓN DE TEXTOS.. Números naturales. Números enteros.

Más detalles

Oliverio J. Santana Jaria. Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso Los objetivos de este tema son:

Oliverio J. Santana Jaria. Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso Los objetivos de este tema son: 3. Circuitos aritméticos ticos Oliverio J. Santana Jaria Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso 2006 2007 Introducción La realización de operaciones aritméticas y lógicas

Más detalles

Lenguaje Máquina del Motorola 68000

Lenguaje Máquina del Motorola 68000 Arquitectura de Computadores Lenguaje Máquina del Motorola 68000 Paco Aylagas (D-4416) Tutorías: Mañanas Tardes: (L y V) Tel. 913 365 058 e-mail: paylagas@eui.upm.es Bibliografía: Microprocessor Systems

Más detalles

INTRODUCCIÓN A LOS MICROPROCESADORES

INTRODUCCIÓN A LOS MICROPROCESADORES INTRODUCCIÓN A LOS MICROPROCESADORES Por Manuel Rico Secades Tecnología Electrónica Universidad de Oviedo BUSCANDO FALLOS EN EL ESQUEMA DE UN MICROPROCESADOR Chipworks Inc Canada El Microprocesador es

Más detalles

Principios de Computadoras II

Principios de Computadoras II Departamento de Ingeniería Electrónica y Computadoras Operadores y Expresiones rcoppo@uns.edu.ar Primer programa en Java 2 Comentarios en Java Comentario tradicional (multi-línea) Comentario de línea Comentario

Más detalles

Estructura de los dispositivos de E/S.

Estructura de los dispositivos de E/S. Estructura de los dispositivos de E/S. Sistemas Operativos. Tema 6. 1 Estructura dispositivos de almacenamiento masivo. Almacenamiento secundario o masivo: Su misión: Contener permanentemente gran cantidad

Más detalles

Práctica 4. Organización del Computador 1 12 de septiembre de Algunas consideraciones preliminares:

Práctica 4. Organización del Computador 1 12 de septiembre de Algunas consideraciones preliminares: Práctica 4 Organización del Computador 1 12 de septiembre de 2005 Algunas consideraciones preliminares: Donde aparece xxxxxxxx quiere decir que el valor correcto ya está en esa dirección de memoria Todos

Más detalles

Desarrollar un programa en SIMATIC S7 con codificación AWL que simule un sistema en el que una entrada digital active una salida digital.

Desarrollar un programa en SIMATIC S7 con codificación AWL que simule un sistema en el que una entrada digital active una salida digital. Ejercicio 1 Desarrollar un programa en SIMATIC S7 con codificación AWL que simule un sistema en el que una entrada digital active una salida digital. Es recomendable que en este programa ya se comience

Más detalles

Curso de Programación en C. Licenciatura, FCQeI. APUNTADORES.

Curso de Programación en C. Licenciatura, FCQeI. APUNTADORES. APUNTADORES. La memoria de una máquina esta ordenada en forma de celdas numeradas consecutivamente y que se pueden manipular individualmente o en grupos contiguos. La siguiente figura muestra una representación

Más detalles

Estructura de Computadores

Estructura de Computadores Estructura de Computadores Tema 4. El procesador Departamento de Informática Grupo de Arquitectura de Computadores, Comunicaciones y Sistemas UNIVERSIDAD CARLOS III DE MADRID Contenido Elementos de un

Más detalles

Sistemas Operativos. Curso 2016 Sistema de Archivos

Sistemas Operativos. Curso 2016 Sistema de Archivos Sistemas Operativos Curso 2016 Sistema de Archivos Agenda Interfaz. Archivos. Directorios. Seguridad en archivos. Implementación. Definiciones. Sistema de archivos virtual. Estructura de los directorios.

Más detalles

Manejo de Entrada-Salida. Arquitectura de Computadoras

Manejo de Entrada-Salida. Arquitectura de Computadoras Manejo de Entrada-Salida Arquitectura de Computadoras Agenda 1.2.3.1Módulos de entrada/salida. 1.2.3.2Entrada/salida programada. 1.2.3.3Entrada/salida mediante interrupciones. 1.2.3.4Acceso directo a memoria.

Más detalles

Operadores. Javier Fernández Rivera -

Operadores. Javier Fernández Rivera - Programación en C Operadores Javier Fernández Rivera - www.aurea.es Los operadores Son los elementos o caracteres gráficos encargados de manipular los datos, que pueden ser dados por números, caracteres,

Más detalles

Unidad 1: Conceptos generales de Sistemas Operativos.

Unidad 1: Conceptos generales de Sistemas Operativos. Unidad 1: Conceptos generales de Sistemas Operativos. Tema 2: Estructura de los sistemas de computación. 2.1 Funcionamiento de los sistemas de computación. 2.2 Ejecución de instrucciones e interrupciones

Más detalles

Bus I 2 C. Introducción

Bus I 2 C. Introducción Bus I 2 C Introducción 1980: Philips desarrolla el Bus de 2 alambres I 2 C para la comunicación de circuitos integrados. Se han otorgado licencias a mas de 50 compañías, encontrándonos con más de 1000

Más detalles

TEMA 11 MEMORIAS. CIRCUITOS LÓGICOS PROGRAMABLES

TEMA 11 MEMORIAS. CIRCUITOS LÓGICOS PROGRAMABLES TEMA 11 MEMORIAS. CIRCUITOS LÓGICOS PROGRAMABLES 1 CLASIFICACIÓN SEGÚN SU TECNOLOGÍA 2 PARAMETROS FUNDAMENTALES DE LAS MEMORIAS Modo de acceso: Aleatorio (RAM, Random Access Memory) Serie Alterabilidad

Más detalles

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES Universidad Rey Juan Carlos ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES Estructura de un computador: conceptos básicos Luis Rincón Córcoles Licesio J. Rodríguez-Aragón Programa 1. Introducción 2. Elementos

Más detalles

La memoria del ordenador

La memoria del ordenador La memoria del ordenador Alberto Molina Coballes David Sánchez López Fundamentos de Hardware Diciembre 2011 La memoria Desde el punto de vista informático, memoria es todo dispositivo que es capaz de:

Más detalles

TEMA 1: Concepto de ordenador

TEMA 1: Concepto de ordenador TEMA 1: Concepto de ordenador 1.1 Introducción Los ordenadores necesitan para su funcionamiento programas. Sin un programa un ordenador es completamente inútil. Para escribir estos programas necesitamos

Más detalles

Ejercicios de Arquitectura de Computadoras

Ejercicios de Arquitectura de Computadoras Ejercicios Arquitectura Computadoras José Garzía 9 En este tipo ejercicios bemos tener siempre presentes estas tres ecuaciones: MP ( en Memoria Principal ) Cantidad en la Memoria Principal por Cantidad

Más detalles

Paso de parámetros y gestión del marco de pila

Paso de parámetros y gestión del marco de pila Paso de parámetros y gestión del marco de pila Estructura de Computadores 1. Introducción En clases previas se ha presentado el modelo de programación del 88110 y se ha explicado cómo se ubican las distintas

Más detalles

Tema 4. Operadores y Expresiones

Tema 4. Operadores y Expresiones Tema 4 Operadores y Expresiones Contenidos 1. Conceptos Básicos. 2. Operadores Aritméticos. 3. Operadores de Relación, de Igualdad y Lógicos. 4. Operadores de Incremento y Decremento. 5. Operadores y Expresiones

Más detalles

Diseño Basado en Microcontroladores. Programa Detallado

Diseño Basado en Microcontroladores. Programa Detallado Diseño Basado en Microcontroladores. Programa Detallado Tema 5. Temporizadores e Interrupciones. (4 horas + 8 horas de laboratorio) 5.1.Temporizadores A y B. Modos de funcionamiento. 5.2. Temporizador

Más detalles

BIBLIOGRAFIA TEORIA DE CIRCUITOSY DISPOSOTIVOS BOYLESTAD ELECTRONICA DIGITAL TOKHEIM SISTEMAS DIGITALES TOCCI

BIBLIOGRAFIA TEORIA DE CIRCUITOSY DISPOSOTIVOS BOYLESTAD ELECTRONICA DIGITAL TOKHEIM SISTEMAS DIGITALES TOCCI Guía de preparación para el examen ELECTRONICA CxTx En esta materia básicamente se evalúan temas tales como son: MULTIVIBRADORES, MEMORIAS, CONTADORES Y COMPUERTAS LOGICAS, SUMADOR RESTADOR Y MICROPOCESADORES

Más detalles

PROBLEMAS TEMA 3: Unidad de Entrada/Salida

PROBLEMAS TEMA 3: Unidad de Entrada/Salida PROBLEMAS TEMA 3: Unidad de Entrada/Salida Problemas propuestos en examen 3.1 Un computador dispone de un canal multiplexor que controla 2 unidades de disco y 2 unidades de cinta. Las unidades de disco

Más detalles

Centro Asociado Palma de Mallorca. Tutor: Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca. Tutor: Antonio Rivero Cuesta Centro Asociado Palma de Mallorca Arquitectura de Ordenadores Tutor: Antonio Rivero Cuesta Unidad Didáctica 1 Representación de la Información y Funciones Lógicas Tema 1 Representación de la Información

Más detalles