Você está na página 1de 22

TEMA 1: INTRODUCCIN 1. Qu es un ordenador?

Un ordenador o computador digital es una maquina de propsito general capaz de resolver problemas y realizar tareas, utilizando la informacin de acuerdo a conjunto de instrucciones que se le indican. 2. Modelos conceptuales A fin de describir un computador se utilizan distintos modelos que utilizan un lenguaje ms o menos formalizado (estrito). Desde el punto de vista semntico existen tres modelos: 2.1. Modelo funcional Es aquel que describe la funcin del sistema: esto es la relacin de este con su entorno (funcin dinmica externa). Las influencias del entorno sobre el sistema se denominan estmulos y las reacciones de este sobre el entorno respuestas. Un modelo basado en estmulos y respuestas se denomina modelo caja negra. A la hora de describir un modelo funcional se seleccionan un conjunto finito de estmulos y respuestas. Estas pueden ser descritas de manera exhaustiva, dando todos los posibles valores de las variables y dando lugar a lo que se llama una descripcin extensional del sistema. Sin embargo hay veces que no se pueden tener todas las variables y se recurre a un modelo funcional incompleto o descripcin intensional que expresa mediante una formula o representacin esquemtica los posibles valores. 2.2. Modelo estructural Es aquel que nos expone la organizacin del sistema como un conjunto de partes interrelacionadas. Un modelo estructural comprende a los componentes del sistema, denominados subsistemas, descritos de manera funcional y las relaciones entre ellos. Esto es lo que se denomina organizacin esttica interna. Un modelo que describe los subsistemas adems de las interrelaciones entre ellos adems de estmulos y respuestas se denomina modelo estructural o caja transparente. 2.3. Modelo procesal Es aquel que nos describe los procesos que tiene lugar en el sistema. O lo que es lo mismo la funcin dinmica interna. 2.4. Utilidad de los modelos Estos modelos tienen muchas utilidades. Mientras los modelos funcionales son tiles para el usuario, los estructurales y los procesales lo son de cara al diseador. 3. Jerarqua de niveles de de abstraccin Adems de tener tres modelos para describir los sistemas, estos pueden ser estudiados con distintos niveles de abstraccin dentro de cada modelo. Los niveles van desde lo ms concreto y detallado hasta lo ms abstracto. Los niveles de abstraccin pueden darse en los tres modelos conceptuales y pueden caracterizarse por los siguientes elementos: -Naturaleza de los componentes -Leyes de composicin -Leyes de comportamiento -Lenguaje en el que se expresan las leyes y modelos -Espacio de estados 4. El ordenador como maquina multinivel. El ordenador como cualquier mquina compleja puede ser descrito con los siguientes niveles de abstraccin:

a) Niveles propios de la electrnica digital: -Nivel de dispositivo: Componentes de los semiconductores. -Nivel de circuito electrnico: Componentes electrnicos como diodos, transistores -Nivel de circuito lgico: Componentes que funcionan con niveles lgicos. b) Niveles propios de un ordenador: -Nivel de micromquina:

Modelo funcional: Microinstrucciones Componentes: Unidad de operacin aritmtico lgica, buses, registros Modelo procesal: Transferencias de bits

-Nivel de maquina convencional:

Modelo funcional: Instrucciones del lenguaje maquina Lenguaje mquina: Cadenas de unos y ceros Componentes: La CPU, memoria de control.

-Nivel de maquina operativa: aade a la maquina convencional programas de propsito general. Modelo funcional: los de la maquina convencional mas instrucciones aadidas (llamadas al sistema operativo). -Nivel de maquina simblica: El uso el ordenador desde estos niveles se hace muy difcil por la simplicidad de las instrucciones, por ello se introducen lenguajes de alto nivel (simblicos) como C, Pascal. 4.1. Maquina virtual En niveles de maquina convencional y micromquina las instrucciones se comprenden y ejecutan una a una sobre la maquina real, esto es lenguaje maquina, pensado para que el coste y la complejidad del a electrnica sean bajos. Pero esto se hace demasiado complejo a la hora de utilizar el ordenador, por ello se introduce el concepto de maquina virtual, que podemos considerar que toma las instrucciones de alto nivel y las ejecuta como primitivas. Al final sin embargo siempre que hay que pasar de un programa en alto nivel a uno en lenguaje maquina, y eso se realiza de dos maneras: -Traduccin: Se crea un programa en lenguaje maquina equivalente al de alto nivel -Intrprete: Existe un programa ajeno que toma cada instruccin del de alto nivel y produce y ejecuta un conjunto de instrucciones en lenguaje maquina equivalente. 4.2. Hardware, software y firmware: El Hardware lo conforman los dispositivos fsicos (tangibles). El software los algoritmos y programas. El firmware es un nivel intermedio, esto es software incluido en la fabricacin y que no esta sujeto a grandes modificaciones (permanente). TEMA 2: ARQUITECTURA DE UN COMPUTADOR 1. Modelo de Von Neumann 2. CPU La CPU agrupa en un solo componente fsico Unidad de Control, las Unidad aritmtico-lgica y los registros. Se considera el cerebro del ordenador porque en el se leen y ejecutan las instrucciones. Los componentes de la CPU son: Registros: Son memorias pequeas y rpidas que se utilizan para almacenar resultados intermedios o informacin de control. Los registros pueden ser de propsito general o dedicados (IR, PC).

Unidad aritmtico lgica (ALU): Toma uno o dos operandos y genera el resultado correspondiente a la operaron que se le indica que realice mediante seales de control (dadas por la UC). Las operaciones mas comunes que realiza son aritmticas y lgicas sencillas. Unidad de Control (UC): Interpreta las instrucciones almacenadas en memoria y genera las seales necesarias para que los dems elementos realicen lo que indica la instruccin. Para ello desarrolla un ciclo fundamental en los computadores denominado ciclo de bsquedadecodificacin-ejecucin. Y para ello realiza las siguientes acciones: 1. 2. Leer la siguiente instruccin y almacenarla en el IR. Incrementar PC. Determinar la direccin de los datos. Determina el tipo de instruccin. Leer datos. Ejecutar la operacin. Almacenar resultados.

3. 4.
5. 6. 7.

3. Memoria Es el dispositivo que permite almacenar y recuperar informacin. Es de lectura/escritura y acceso aleatorio (la lectura no es destructiva). La informacin se codifica en binario y la unidad de almacenamiento es el bit, los cuales se agrupan en palabras o clulas de memoria direccionales individualmente. Si tenemos m bits tendremos dos elevado a m posiciones a las que acceder. Sus caractersticas son: modos de acceso, tamao de palabra y capacidad. 4. Unidad de entrada y salida Los perifricos son dispositivos de comunicacin con el exterior: teclados, pantallas, ratn.adems de dispositivos de memoria segundaria: memorias externas, USBCada dispositivo requiere un controlador de dispositivo 5. Codificacin de datos e instrucciones La informacin se codifica en binario formando palabras que se almacenan en memoria. En el modelo Von Neumann en la MP se almacenan datos e instrucciones. El formato de instrucciones es, CO: Cdigo de operacin (8 Bits) y CD: Campo de direcciones (12 Bits). TEMA 3: SIMPLEZ 1. Modelo estructural El modelo estructural de la maquina elemental Simplez es similar al de Von Neumann, pero con dos diferencias bsicas en los elementos de interconexin:

a)

Las interconexiones de los elementos se realizan mediante buses:

-Bus de datos o D: (12 bits) Se encarga del intercambio de informacin entre la CPU, la memoria y los perifricos -Bus de direcciones o A: (9 bits) La UC escribe aqu la direccin a la que hay que acceder. -Bus de control o C: (15 bits) Agrupa las seales emitidas por la UC para enviarlas a los elementos que correspondan.

b)

Los dispositivos de E/S se conectan al bus mediante un controlador de perifricos. El Simplez solo admite como tales a la pantalla y el teclado.

Memoria: Ancho de palabra (12 bits), capacidad (512 palabras), acceso (Lectura/escritura y acceso aleatorio) ALU: Adems de la circuiteria especifica, posee un registro de 12 bits denominado acumulador o AC en el que se almacenan automticamente los resultados tras una operacin. Este esta conectado a la entrada 1 del a ALU, como uno de los dos posibles operandos. Existen cuatro operaciones posibles: poner el AC a cero, sumar los dos operandos, guardar el segundo operando en el acumulador o decrementar este ultimo en una unidad.

UC: Tiene las mismas funciones que en el modelo de Von Neumann. Dispositivos perifricos: Solo se contempla pantalla y teclado, las transferencias desde y hacia los perifricos se realizan a travs del acumulador. 2. Modelo funcional Maquina convencional: -Convenio de representacin de datos e instrucciones: sintaxis del modelo funcional. -Repertorio de instrucciones: semntica de las instrucciones. Simplez: -Convenio de representaron de datos e instrucciones: Numero enteros sin singo y caracteres alfanumricos. -Repertorio de ocho instrucciones. 2.1. Representacin de datos e instrucciones: -Nmeros: Enteros sin signo en binario, cada nmero ocupa una palabra de 12 bits, rango de 0 a 2 elevado a 12, tambin se recurre a sistema octal, hexadecimal y decimal. -Caracteres: Cdigo ASCII. -Representacin de instrucciones: CO (3 bits), CD (9 bits). 2.2. Repertorio de instrucciones: Las instrucciones del Simplez son: ST (almacenar), LD (cargar), ADD (sumar), BR (salto incondicional), BZ (salto si el resultado es cero), CLR (poner a cero AC), DEC (decrementar una unidad), HALT (para la maquina). Los programas en Simplez se almacenan en memoria desde el a posicin cero y sucesivamente. La representacin de datos e instrucciones, junto con la funcin de estas, definen el lenguaje maquina. 2.3. Lenguaje ensamblador La representacin numrica es muy engorrosa, por lo que se hace necesario cierto nivel de procesamiento simblico que facilite la programacin. Se define as un lenguaje simblico muy elemental denominado ensamblador, en el que cada instruccin del lenguaje maquina se corresponde con una instruccin de de este lenguaje. Existir a su vez un programa traductor, tambin llamado ensamblador, que convertir las instrucciones a lenguaje maquina. -Sintaxis: Se escribe una instruccin por lnea, el cdigo de operacin de la instruccin se indica con el mnemnico y en las instrucciones que hacen referencia a memoria el campo de direcciones se expresa en decimal y con una barra delante. Adems se permite el uso de etiquetas que son nombres simblicos que pueden drsele a la posiciones de memoria. Las ventajas de las etiquetas son que no es necesario conocer donde se cargara el programa ni revisar las instrucciones con referencia a memoria si se modifica el programa. -Pseudo instrucciones: Instrucciones para el programa que realiza la traduccin al cdigo maquina, no generan ninguna instruccin en cdigo maquina solo sirven de gua y son cuatro: ORG (direccin a partir de la cual se carga el programa), DATA (constantes), RES (reserva memoria para variables), END (finaliza el programa). -Fases de ensamblado: Los programas se escriben tpicamente en un fichero de texto, posteriormente el programa traductor se encarga de traducir el lenguaje simblico a cdigo maquina que es finalmente lo que se carga y ejecuta. Si el programa traductor convierte cdigo para una maquina distinta en la que se ejecuta ensamblador cruzado, si es para la misma maquina ensamblador residente. El proceso de ensamblado se puede realizar: De una pasada: Todo se realiza con una nica lectura del programa, por lo que no permite referencias a memoria en adelante

De dos pasadas: Primero se genera la tabla de etiquetas y luego se realiza la traduccin del cdigo completo con ayuda del a tabla. Si permite referencias a memoria en adelante. 3. Conclusiones Se echan en falta algunas instrucciones: Resta, saltos ms variados, salto a subprograma. No tenemos nmeros negativos, poca memoria y no se pueden recorrer zonas de memoria. TEMA 4: SIMPLEZ+I3 1. Modelo estructural 1.1. Diferencias con el Simplez -Se aade en la UCP un nuevo registro de 12 bits denominado registro X (registro ndice). -El bus A pasa a tener 12 bits. La MP posee ahora 4096 palabras, las cuatro ltimas dedicadas a la entrada y la salida. -Bit Z: 1 si el resultado del acumulador es 0. -En Simplez el direccionamiento es directo, es decir lo que contiene el campo CD es directamente la direccin de referencia en la MP, o la tambin llamada direccin efectiva, DE. En el Simplez+I3 existen 4 tipos mas de direccionamiento. 1.2. Criterios de notacin Utilizar parntesis para indicar contenido, ya sea de un registro, de un campo de formato o una direccin de memoria. 2. Modos de direccionamiento a) Direccionamiento directo: Lo que contiene el campo CD es directamente la direccin de referencia a la MP. b) Direccionamiento indirecto: Lo que contiene el campo CD es la direccin de una palabra en la que se encuentra la direccin efectiva (como si se trata de un puntero a la direccin efectiva). c) Direccionamiento indexado: La direccin efectiva es el contenido del campo CD mas el del registro X. d) Direccionamiento indirecto e indexado: Se utilizan simultneamente ambos modos de direccionamiento. El orden establecido por convenio es de post indexado, es decir, primero se acude al a direccin dada por el puntero y luego se le suma el registro X. e) Direccionamiento inmediato: Se tiene un operando inmediato. En realidad no se direciocna la MP, ya que el operando se extrae de la misma instruccin. Se utiliza para inicializar el registro AC o el X, y tiene que ser una constante comprendida entre 0 y 63. 3. Modelo funcional 3.1. Convenio de representacin de datos e instrucciones: -Datos: igual que en Simplez. -Formato d instrucciones: CO (3 bits), R (bit 8) nos indica el registro utilizado, I y J (bits 6 y 7) nos indica el modo de direccionamiento, CD (6 bit) solo pueden direccionarse directamente 64 palabras. 3.2. Repertorio de instrucciones -Las instrucciones CLR Y DEC quedaran sustituidas por otras mas potentes que son LD# Y SUB#.

-Las dems instrucciones tienen los mismos significados que en Simplez, con las siguientes matizaciones:

o o

LD, ST y ADD pueden almacenar, cargar o sumar, respectivamente en el acumulador o el registro X. La condicin para la bifurcacin en BZ sigue siento la misma, pero en Simplez es equivalente a que el contenido del acumulador sea cero, mientras que aqu los resultados pueden pertenecer al registro AC o al X. Las instrucciones que pueden afectar al bit Z son: LD, ADD, LD# Y SUB#. Solo se puede restar en inmediato.

o o

4. Convenios simblicos Seguiremos utilizando los del Simplez, pero ahora tenemos que ampliarlos para incluir informacin sobre el registro utilizado y el direccionamiento. Escribiremos a continuacin del cdigo .A o .X segn con que registro se opere. Despus, si la instruccin hace referencia al MP una coma y finalmente la direccin: Directo: Una barra (Como en Simplez). Indirecto: Igual que le directo pero entre corchetes. Indexado: Entre corchetes el registro .X. Indirecto e indexado: La combinaron de los dos anteriores. Inmediato: Operador #. TEMA 5: EL MICROPROCESADOR 68020 DE MOTOROLA

TEMA 6: ASPECTOS HADWARE DEL 6800


1. Introduccin Procesador de 16 bits diseado desde cero, diseado para mantener compatibilidad con posteriores. Caractersticas: Procesador potente de arquitectura sencilla, bus de datos y direcciones separados y pocas seales de control. Se estudia la CPU a nivel de terminales. 2. Terminales de la CPU

3. Organizacin de la memoria -Bus de datos de 16 bits (D0D15): Memoria R/W, el dato ms pequeo es un byte. -Existen dos seales (LDS# y UDS#) para indicar el tamao del acceso y la parte del bus de datos que se usa (alta/par, baja/impar). Ambas seales suplen a la A0 del bus de direcciones. -Criterio de almacenamiento de datos: Extremista mayor, el byte ms significativo se almacena en la posicin ms baja. -En el 6800 el OBLIGATORIO que los accesos en tamao word se hagan de direcciones pares. 4. Temporizacin: el bus asncrono El 68000 realiza los accesos al bus de manera ASINCRONA, que es ms flexible que el esquema porque permite trabajar con dispositivos de diferentes tiempos de acceso. Se establece un protocolo para el acceso a los dispositivos conectados al bus: -CPU pone R/W# al valor correspondiente. -CPU pone en el bus la direccin a la que se quiere acceder. -CPU activa UDS#, LDS# y AS# para validar la direccin. -El dispositivo externo recibe o activa el dato. -Al acabar la transferencia, el dispositivo externo activa DTACK# para comunicrselo a la CPU.

Ciclo de bus: tiempo total que dura el proceso de transferencia de una dato entre la CPU y algn dispositivo conectado al bus. Tipos: Ciclo de lectura, de escritura, de lecturamodificacin-escritura. Duracin mnima: 4 ciclos de reloj de CPU, pasando por 8 estados (de medio ciclo cada uno). Para que finalice la CPU debe recibir la seal DTACK#. El ciclo se alarga insertando ciclos de esperar del S4. La seal DTACK se genera fuera de la CPU un tiempo despus de que se active CS#. La duracin depende del tiempo de acceso de memoria conectada. 5. Cdigos de funcin Las lneas F0, F1, F2 proporcionan a los circuitos externos informacin acerca del procesador. Se utilizan en aplicaciones en las que otro dispositivo puede hacerse cargo del control de los buses. 6. Gestin de buses Seales involucradas: BR# (indica que quiere tomar el control del os bues), BG# (se indica que se cedern los bues), BGACK# (desactiva BR#). 7. Control del sistema -HALT#: detencin de CPU (entrada), indica que la CPU se ha detenido (salida), como consecuencia de algn error. -RESET#: inicializacin de la CPU (entrada), inicializa todos los componentes conectados a la CPU, aunque esta no se inicializa (salida). -BERR#: indica a la CPU que se ha producido un error en el acceso a una dispositivo externo. Acta como circuito supervisor de los buses. 8. Conexin de perifricos Los perifricos del 6800 estaban preparados para accesos sncronos. Hay tres terminales para conectar los perifricos de la serie 68xx al 68000: -E: Salida de reloj 10 veces menor que la del 68000. -VMA#: Salida que emula el comportamiento de una seal de 6800 para validar direcciones. -VPA#: Entrada que permite saber si el dispositivo al que se quiere acceder es el tipo 68xx. Cuando se activa, modifica su ciclo de acceso asncrono y se adapta al de los perifricos 68xx. 9. Excepciones Acontecimientos internos o externos a la CPU que hacen que se interrumpa la ejecucin normal de una programa para dar paso a la ejecucin de una rutina de atencin especfica. 9.1. Clasificacin y prioridad de excepciones: -Mxima urgencia: Se atienden dentro de los dos ciclos de reloj siguientes. Reset (1), error de bus (2) y error de direccin (3). -Media urgencia: La CPU termina la ejecucin de la instruccin en curso y se atiende antes de comenzar con la siguiente instruccin. Modo traza (4), interrupciones hardware (5), instruccin ilegal (6) y violacin de privilegio (7). -Controladas por programa: Tienen lugar cuando la CPU ejecuta determinado tipo de instrucciones y en ese momento es cuando se atiende. Interrupciones software (8). 9.2. Etapas en el proceso de atencin a excepciones:

-Etapa 1: Se copia internamente el registro de estado (SR), se activa el bit S(modo supervisor), se desactiva el bit T(modo traza). -Etapa 2: Se obtiene la direccin de comienzo de la rutina de atencin, mediante la tabla de vectores de excepcin que esta almacenada en el registro VBR. La tabla contiene 256 vectores de 4 bytes. Cada excepcin tiene un nmero de excepcin. -Etapa 3: Se guardan en la pila el PC y el SR original. Las excepciones de error de bus y error de direccin guardan ms informacin en la pila para analizar la causa. Los 4 primeros words hay que desapilarlos manualmente antes de llamar a rte. -Etapa 4: Se asigna al PC la direccin de inicio de la rutina y comienza su ejecucin. Durante la ejecucin de la rutina: Hay que salvar y restaurar los registros utilizados, se pueden pasar parmetros por registro. Al retornar con rte se restaura el SR original. 9.3. Tipos de excepciones: -DE ORIGEN EXTERNO: a) Interrupciones hardware: Las entradas de nivel de interrupcin (IPLO#, IPL1#, IPL2#) permiten recibir interrupciones enmascarables sometidas a una esquema de prioridades. Normalmente estas entradas proceden de un codificador con prioridad. Mecanismos de interrupciones vectorizadas. Debe haber una electrnica que evite conflicto en caso de que varios dispositivos del mismo nivel soliciten interrupcin a la vez. Los chips perifricos estn preparados para este mecanismo de interrupciones vectorizadas. Existe un mecanismo alternativo denominado autovectores. Enmascaramiento de interrupciones: Los bits I2I1I0 del SR determinan el valor de la mscara de interrupciones. Para que una interrupcin sea atendida, su nivel debe ser superior al nivel de la mscara. Cuando se atiende una, automticamente se pone la mscara al nivel solicitado y no se atienden las interrupciones de mayor prioridad. En modo supervisor se puede modificar el valor de la mascara b) Reset: La CPU tiene un terminal bidireccional: Como salida se inicializan todos los dispositivos externos, pero la CPU no se ve afectada, como entrada, se trata como una excepcin (posiciones 0 y 1 de la tabla). c) Error de bus -BERR# es una entrada de la CPU preparada para ser activada por un circuito supervisor de bus: detiene los accesos a zonas de memoria no respaldadas por dispositivo fsico, intentos de escritura en ROM, accesos a zonas de memoria protegidas, error en el acceso a perifricos. -Si durante la ejecucin de la rutina de error que atienda al error de bus, se produca otro se dice que la CPU entra en estado de doble error: Se activa HALT y hay que activar RESET para salir de este estado. -DE ORIGEN INTERNO: d) Interrupciones software: Excepciones asociadas a la instruccin TRAP #n. n es un numero entra 0 y 15 y tiene asociados los nmeros de excepcin del 32 al 47. Es equivalente a una llamada a subrutina (el modo de ejecucin de la rutina es en modo supervisor). e) Instrucciones de comprobacin Algunas instrucciones pueden provocar excepciones bajo determinadas condiciones:

-TRAPV: provoca la excepcin 7 si el bit V=1. -CHK: Compara el contenido de un registro de datos con el primer operando. -DIVS, DIVU: provocan la excepcin 5 si el divisor es 0. f) Errores internos -Error de direccin (excepcin 3): Intento de violacin de alineamiento de palabra. -Violacin de privilegio (excepcin 8): Se produce cuando se intenta hacer en modo usuario una operacin reservada a modo supervisor. -Instruccin ilegal (excepcin 4): Se produce cuando el cdigo de operacin de la instruccin no es vlido. g) Modo traza: En ese modo, el bit 15 del SR(bit T) est a 1. Cuando la CPU opera, al finalizar la ejecucin da cada instruccin se produce la excepcin 9. De este modo, en la rutina de excepcin correspondiente se puede mostrar informacin til acerca del resultado de ejecutar cada instruccin. Se emplea para la depuracin de programas. h) Instrucciones de emulacin Entre los cdigos de operacin no validos, aquellos que empiezan por los valores en binario 1010 y 1111, dan lugar a las excepciones 10 y 11 respectivamente. Estas excepciones estn orientadas a que se puede ampliar el juego de instruccin de la CPU. 9.4. Uso de los vectores de excepcin -Mtodo 1: reubicacin de la tabla de vectores de excepcin. Se copia la tabla de vectores en la RAM, se modifica el vector deseado y se modifica el VBR para que apunte al inicio de la tabla en RAM. El VBR se modifica con la instruccin movec. -Mtodo 2: uso de las excepciones del tipo RAM jumpers. Este tipo de excepciones conducen a una direccin de memoria RAM. La idea es ubicar en esa direccin de la RAM una instruccin de salto a la rutina de excepcin deseada. En cada una de esas direcciones se pueden almacenar 6 bytes, que permiten construir una instruccin de salto a la direccin de comienzo de la rutina deseado.

TEMA 7: ENTRADA/SALIDA SERIE


7.1. Transmisin paralelo serie -PARALELO: Cada palabra o dato se transmite de una vez. bit).

Hay un conjunto de lneas paralelas entre origen y destino (cada una corresponde a 1 Muy usada en distancias cortas (por ejemplo dentro de un ordenador).

-SERIE: Hay una sola lnea por la que se transmiten sucesivamente los bits que componen cada dato. Se usa cuando las distancias son largas (menos conexiones -> ms barato).

Ms lentas que la paralela. Se suele usar para transmitir caracteres alfanumricos a perifricos o entre ordenadores. Tambin adecuado para cuando se quiera transmitir a grandes distancias, pudiendo utilizarse canales de comunicaciones existentes: lneas telefnicas.

10

Velocidad de transmisin: parmetro de la comunicacin serie. Se mide en baudios y es el n de bits transmitidos por segundo.

7.2. Transmisin serie sncrona y asncrona -ASNCRONA:

No se establece una temporizacin rgida. Los datos pueden ser transmitidos en cualquier momento. El TX debe indicar al RX mediante alguna seal cuando se va a enviar un dato vlido por la lnea en forma de serie de bits. Adems de los propios datos, se necesitan seales auxiliares de protocolo.

Los caracteres se transmiten por separado: TX carcter a carcter. El tiempo de separacin entre caracteres puede ser cualquiera (con una separacin mnima). Sin embargo, dentro de cada carcter la temporizacin s es rgida: a cada bit le corresponde un instante y duracin (Tbit) precisos. Por tanto, es TX asncrona a nivel de caracteres, pero sncrona a nivel de bits. De acuerdo con la norma de TX serie asncrona ms extendida (RS-404). Se definen dos niveles lgico: Nivel lgico 0 SPACE, Nivel lgico 1 MARK. Cuando la lnea no transmite se dice que est en estado de reposo: MARK. Cada carcter va precedido por el nivel lgico 0 durante un Tbit. Se denomina bit de start o bit de arranque. N de bits por carcter definido: 5, 7, 8. Se transmite primero el bit menos significativo. Todo carcter termina con un bit de stop (bit de parada), de duracin 1, 1.5 2 Tbit (si detrs no viene otro carcter la lnea vuelve al estado de reposo). Despus del bit ms significativo, puede incluirse un bit de paridad, que es un mecanismo elemental de deteccin de errores: -Paridad Par: El bit de paridad se pone a 0 1 de forma que el n de 1s totales sea par. -Paridad Impar: El bit de paridad se pone a 0 1 de forma que el n de 1s totales sea impar. La referencia de tiempos que emplea el receptor para recibir los bits del dato es el flanco de bajada del bit de arranque. Para que el formato de la transmisin quede definido, TX y RX deben ponerse de acuerdo en: -Velocidad de transmisin, define el Tbit. Existen velocidades normalizadas: 4800, 9600, 19200 baudios. -N de bits de datos. -Uso de paridad y de qu tipo: Sin Paridad, Con Paridad: Par, Impar, Fija a 0, Fija a 1. -N de bits de stop: 1, 1.5 2. -Niveles de tensin asociados a los niveles lgicos. -SNCRONA:

Sometida a temporizacin rgida. TX y RX deben estar perfectamente sincronizados.


Los caracteres no se envan por separado, sino formando bloques de gran longitud. Es ms eficiente, ya que no hacen falta bits de start y stop. Al no haber separacin entre caracteres, la nica forma de recibir correctamente es llevar la cuenta del n de bits que compone cada carcter. En la tx asncrona, la sincronizacin se hace al inicio de cada carcter (flanco descendente del bit de start). En la sncrona hay que hacerlo al inicio del bloque: cualquier pequea diferencia en la frecuencia de los relojes es crtica. Deben usar una misma seal de reloj en lugar de tener cada uno la suya. Para conseguir eso hay 2 opciones: 1. Usar una lnea especfica para transmitir la seal de reloj. 2. Modular la seal de reloj con la seal de informacin y enviarlas por una nica lnea. Delante del bloque de datos se incluyen unos caracteres especiales de sincronizacin (conocidos tanto por Tx como por Rx) que permiten que el Rx tenga tiempo para adecuarse a la frecuencia con que vienen los datos. As se puede extraer la frecuencia de reloj antes de que

11

empiecen a llegar los datos (til para el caso 2 de sincronizacin). Entre cada 2 tramas o bloques de datos (cuando no hay caracteres que transmitir), en lugar de dejar la lnea en reposo, se contina transmitiendo los caracteres de sincronizacin, para mantener al Rx sincronizado. -INTEGRADOS / DISPOSITIVOS PARA COMUNICACIN SERIE COMUNES:

UART: Universal Asynchronous Receiver Transmitter. USART: Universal Synchronous/Asynchronous Receiver Transmitter. DUART: Dual Universal Asynchronous Receiver Transmitter.
-LA COMUNICACIN, ADEMS DE SNCRONA O ASNCRONA, PUEDE SER:

Simplex: un solo sentido. Uno recibe, el otro transmite. Half-duplex (semi-duplex): Tx y Rx en ambos sentidos pero no simultneamente. Full-duplex (duplex): Tx y Rx al mismo tiempo.

TEMA 8: DUART 68681


8.1. Caractersticas generales. -Chip de comunicaciones serie con dos transmisores / receptores asncronos en un nico encapsulado (canales A y B). Los canales A y B son programables independientemente. -Compatible con el bus asncrono de la familia 68000. -Timer/contador programable de 16 bits. -Formato de datos programable: 5, 6, 7, 8 bits por dato. Paridad par, impar, forzada a 0 1. 1, 1.5, 2 bits de stop (tambin duraciones intermedias). -Velocidad para cada Tx/Rx seleccionable entre: 18 valores fijos entre 50 baudios y 38.4K baudios. Velocidad definida mediante el timer/contador. Reloj externo en modo 1x 16x. -4 registros internos para la recepcin de datos (organizados como FIFO). -Comprobacin de errores en recepcin: Error de paridad, Error de trama (no recibido el bit de stop), Error de desbordamiento (cuando se llena la cola de recepcin), Error en el bit de start, Deteccin de la condicin break en la lnea. -Puerto de entrada multifuncin de 6 bits. Puerto de salida multifuncin de 8 bits. -Sistema de interrupciones: Posee una salida de interrupcin NICA activable por 8 condiciones enmascarables. Proporciona su vector de interrupcin durante el ciclo de reconocimiento de interrupciones de la CPU. 8.2. Descripcin de los terminales. -D7-D0 (I/O): Bus de datos bidireccional de 3 estados para transferir datos, rdenes y estado entre la CPU y la DUART.

12

-CS# (I): Seal chip select para habilitar la transferencia de informacin entre la CPU y la DUART a travs de las lneas D7-D0. Si est desactivado, las lneas D7-D0 permanecen en estado de alta impedancia. -RS4-RS1 (I): Entradas de seleccin de registros. Se conectan al bus de direcciones (A4-A1) para seleccionar sobre qu registro interno de la DUART se va a operar. -R/W# (I): Cuando se inicia un acceso a la DUART con la activacin de CS#, sta entrada indica si se trata de una lectura o de una escritura. -RESET# (I): Borra los registros internos de la DUART. Inicializa IVR (registro del vector de interrupciones) a $0F (valor correspondiente en el 68000 a la excepcin de vector no inicializado). Detiene el timer/contador interno. Establece las salidas TxDA y TxDB a nivel alto (MARK estado de reposo. -DTACK# (O): Asentimiento de transferencia de datos. Salida triestado que se activa en lectura, escritura y en el ciclo de reconocimiento de interrupcin para indicar que la transferencia del dato entre la y la se ha completado. -IRQ# (O): Solicitud de interrupcin. Salida conectada mediante circuitera a un nivel de prioridad que sirve para indicarle a la CPU que se solicita interrupcin. -IACK# (I): Asentimiento de interrupcin. Indica que est en curso un ciclo de reconocimiento de interrupcin por parte de la CPU. En respuesta, si la DUART tena alguna interrupcin pendiente, coloca su vector de interrupcin en el bus de datos y activa DTACK#. -X1/CLK (I): Cristal 1 o entrada externa de reloj. Se usa un cristal de cuarzo que genera una seal de reloj de 3.6864 MHz. Sirve como base de tiempo para: Generador de velocidades, Timer/Contador, Otros componentes internos. -X2 (I): Cristal 2. El fabricante indica cmo hacer el montaje entre los terminales X2 y X1. -RxDA/RxDB (I): Entrada de datos serie del Rx del canal A/B. Se recibe primero el bit menos significativo del dato. El estado de reposo (MARK) es un nivel alto. -TxDA/TxDB (O): Salida de datos serie del Tx del canal A/B. Se transmite primero el bit menos significativo del dato. sta salida se coloca en estado de reposo (MARK) cuando el transmisor est inhabilitado o en modo de lazo local. -OP7-OP0 (O): Salidas digitales de propsito general. Tambin pueden utilizarse con unas funcionalidades preconfiguradas. -IP5-IP0 (I): Entradas digitales de propsito general. Tambin pueden utilizarse con unas funcionalidades preconfiguradas.

13

8.3. Modos de operacin 3.1. Operacin como transmisor Se puede transmitir siempre que est habilitada la Tx del canal mediante el registro CRA. La CPU antes de darle un dato a la DUART para su transmisin, debe comprobar si el bit de transmisor preparado (TxRDY) est activo (en el registro SRA): -Puede programarse mediante el registro IMR que la activacin del bit TxRDY provoque una interrupcin (la DUART active IRQ#). -Tambin puede esperarse la activacin de TxRDY mediante espera activa. Para transmitir un dato, la CPU debe escribirlo en THRA (registro de almacenamiento de espera para transmisin). Al ocuparse el THRA se desactiva automticamente el THRA, bit TxRDY. El dato pasa automticamente de THRA a TSRA (registro de desplazamiento para transmisin) si ste ltimo est libre (se complet la transmisin del anterior dato). En ese momento, THRA vuelve a quedar libre, por lo que se activa de nuevo TxRDY (aunque el carcter no se haya transmitido aun, la CPU puede escribir uno nuevo en THRA). El dato se transmite bit a bit por la lnea TxDA mediante desplazamientos a la derecha del registro TSRA: Se transmiten: bit de start, n programado de bits/carcter (5, 6, 7, 8 comenzando por el menos significativo), bit de paridad y bit de stop (todo segn el formato programado). Si despus de transmitir el bit de stop, no hay otro dato en THRA, la lnea TxDA se deja en estado de reposo y el bit TxEMT (bit de transmisor vacio) del SRA se activa. En cuanto la CPU escriba de nuevo en THRA, continuar la transmisin, y se desactivar TxEMT (adems de TxRDY). -Notas: Si se est enviando un dato y se deshabilita el Tx, ese dato se enva completo. Se puede forzar al Tx a poner un nivel bajo en la lnea mediante el comando break del CRA. Mediante el CRA se puede dar un comando software de reset, que tiene el mismo efecto que el reset hardware: Se detiene la transmisin inmediatamente, salida en estado de reposo (MARK), se deshabilita el Tx (posteriormente hay que habilitarlo mediante otro comando del CRA).

3.2. Operacin como receptor

14

Para recibir es necesario que est habilitado el Rx del canal correspondiente mediante CRA. El Rx espera que llegue por RxDA una transicin de estado de reposo a nivel bajo: posible bit de start. Una vez detectado el flanco de bajada, el Rx espera a la mitad del ciclo del supuesto bit de start y muestrea de nuevo la lnea RxDA para comprobar si sigue a nivel bajo: -En caso afirmativo, el bit de start se da por bueno. -De lo contrario, el bit de start se considera no vlido y el Rx queda de nuevo a la espera de un nuevo flanco de bajada. Si el bit de start es vlido, se muestrea la lnea aproximadamente en la mitad de cada ciclo de bit para obtener los bits de datos, paridad y stop segn el formato configurado. Los bits de datos se guardan en RSRA (registro de desplazamiento en recepcin) mediante desplazamientos a la izquierda. Tras recibir el bit de stop, se pasa el carcter a RHRA (registro de almacenamiento en recepcin), activando el bit RxRDY (receptor preparado) en SRA: Puede programarse la DUART para que sta condicin active la lnea IRQ# de solicitud de interrupciones. Si el carcter recibido tiene menos de 8 bits, los bits ms significativos del RHRA estn a 0. RHRA consiste realmente en una pila de 3 registros gestionados como una cola FIFO. -El bit RxRDY del SRA se activa si hay uno ms datos en la cola de recepcin. -El bit FFULL del SRA se activa cuando los 3 registros de la FIFO estn ocupados (se puede programar la DUART para que sta condicin active la solicitud de interrupciones). -Desde la CPU solamente se ve un RHRA (el primero de la FIFO) y siempre se lee de l (en ese momento el contenido de los otros se desplaza para dejar hueco a los nuevos datos). Las condiciones de error de paridad, error de trama, error de desbordamiento en Rx y la condicin de break se indican en SRA antes de activar el bit RxRDY. Condicin de break: RxDA a nivel bajo durante el tiempo de un carcter incluidos los bits de stop (RHRA queda a $00). Los bits del SRA de error de paridad, error de trama y condicin de break se pueden generar de dos modos: -Modo carcter: los 3 bits se refieren al primer carcter de la FIFO. -Modo bloque: el estado reflejado en el SRA es el resultado del OR de los correspondientes bits de estado de los caracteres que han pasado por la primera posicin de la FIFO desde que se dio la ltima orden de inicializar estado de error mediante el CRA. Para comprobar los bits de error del primer carcter de la FIFO hay que leer SRA antes que RHRA. Si la FIFO est llena cuando llega un nuevo carcter, ste se almacena en RSRA hasta que haya un hueco en la FIFO (la capacidad total es por tanto de 4 caracteres). Si en esa condicin, empieza a llegar un nuevo carcter, el que se encontraba en el RSRA queda reemplazado por el nuevo y se activa el bit correspondiente al error de desbordamiento en recepcin (distinto al FFULL). -Notas: Si se deshabilita el receptor, no se podrn recibir ms caracteres, pero se pueden leer los de la FIFO. El comando software de reset para recepcin: Deshabilita el receptor (posteriormente hay que habilitarlo mediante el CRA). Se borra el contenido de la FIFO, los registros de estado, etc. 8.4. Programacin de los registros 1. MR1A (MR1B) Registro de modo 1 (Mode register 1): Registro de control. Una vez realizado un acceso de lectura o escritura sobre este registro se selecciona en la misma direccin de memoria el registro MR2. 2. MR2A (MR2B) Registro de modo 2 (Mode register 2): Se accede a este registro despus de escribir o leer el registro MR1. Permite describir ms caractersticas de la comunicacin.

15

3. CSRA (CSRB) Registro de seleccin de reloj (Clock select register): Permite seleccionar las velocidades de transmisin y recepcin. 4. CRA (CRB) Registro de rdenes (Command register): Permite el envo de rdenes de funcionamiento a la DUART. 5. SRA (SRB) Registro de estado (Status register): Registro de estado. Indica los diferentes estados que pueden presentarse durante una comunicacin.

6. CTUR y CTLR Registros del temporizador/contador (Counter/timer upper/lower register) -Registros de solo escritura. -Mnimo valor que puede almacenar: 2 -Dos configuraciones posibles: MODO TEMPORIZADOR(TIMER) :

El T/C en este modo genera internamente una onda cuadrada de periodo Ts=2 (valor T/C) Treloj_base. El valor del T/C se decrementa cada flanco hasta llegar a 0 (semiciclo) y entonces cambia el nivel de la onda cuadrada interna. El bit de T/C preparado (ISR [3]) se activa automticamente en cada ciclo completo de la onda cuadrada generada (cada 2 cuentas a 0). Se desactiva mediante el comando fin de T/C. Si se cambia el contenido de CTUR/CTLR en medio de un semiciclo, el semiciclo actual no se ve afectado, y el nuevo valor se utiliza a partir del semiciclo siguiente. Comando inicio T/C (lectura de DUART+$1C) En este modo, el T/C no se detiene. Este comando termina el ciclo de cuenta actual e inicia uno nuevo con los valores que en ese momento tengan CTUR/CTLR. Comando fin T/C (lectura de DUART+$1E). Limpia el bit de T/C preparado (ISR [3]=0). No detiene el funcionamiento del T/C. Al encender y despus de cada reset, el T/C est en modo timer y solamente puede ser reiniciado (no se puede parar). La onda cuadrada del T/C se puede sacar al exterior de la DUART por el terminal OP3. MODO CONTADOR:

Se comienza la cuenta solamente cuando se da el comando inicio T/C. La cuenta se decrementa con cada flanco del reloj base. Cuando la cuenta llega a 0, se activa el bit de T/C listo (ISR [3]). A continuacin sigue decrementando (pasa de $0000 a $FFFF), hasta que lo detenemos con el comando fin T/C. Dicho comando provoca la desactivacin del ISR [3]. Si se modifica el valor del CTUR/CTLR durante un ciclo de cuenta, el nuevo valor no se usar hasta dar el siguiente comando de inicio T/C. 7. ACR Registro de control auxiliar (Auxiliary control register): Se utiliza para establecer el reloj (bit 6, 5 y 4), las velocidades de transmisin (bit 7), si queremos que la DUART nos avise produciendo una interrupcin cuando se genera un cambio en IP3, IP2, IP1, IP0 (Bits 3, 2, 1, 0). 8. ISR Registro de estado de las interrupciones (Interrupt status register): Solo lectura, se utiliza para ver si se ha activado alguna interrupcin, estado de las condiciones que son posibles causas de interrupcin. 9. IMR Registro de mscara de interrupciones (Interrupt mask register): Escritura, se utiliza para decir a la DUART cules son las interrupciones de las que nos queremos enterar.

16

10. IPCR Registro de cambio del puerto de entrada (Input port change register): Se utiliza para conocer en que puerto se ha producido el cambio. 11. IVR Registro del vector de interrupciones (Interrupt vector register): Es de lectura/escritura y contiene el nmero de excepcin asociado a la DUART. Se inicializa a 15 con el reset. El contenido de este registro es el que la DUART pone en el bus de datos durante el ciclo de reconocimiento de interrupcin. 12. OPCR Registro de configuracin del puerto de salida (Output port configuration register)

TEMA 9: COMPONENTES DEL MODELO ESTRUCTURAL. RUTA DE DATOS


9.1. Componentes de los modelos estructurales. -PUERTAS LGICAS.

-CIRCUITOS COMBINACIONALES: Estn formados por un conjunto de puertas lgicas. Se supondr que todos los circuitos combinacionales tardan menos de ciclo de CPU (<50ns en Smplez). Ejemplos: Decodificador, Multiplexor. -BIESTABLES: Son circuitos secuenciales, cuyo comportamiento no solo depende de las entradas sino tambin del estado previo. Cada biestable tiene capacidad para almacenar 1 bit de informacin. Tienen una entrada CLK que se suele conectar a una seal de reloj. Tipos de biestables segn la condicin que genera el cambio de estado: Controlados por nivel(Alto/Bajo), Controlados por flanco(Subida/Bajada) Tipos de biestables:

17

-REGISTROS: Elementos de almacenamiento formados por biestables (tantos como bits de anchura tenga el registro) que comparten la seal de control. Los valores se cargan en paralelo. La salida refleja el contenido del registro. Su contenido cambia (tomando el valor de la entrada) cuando estando habilitados se da la condicin activa de la seal de control. Suelen existir entradas de puesta a cero. Tipos: Registros de desplazamiento (circuitera adicional). Registros contadores entradas adicionales como inc, dec, etc.). -MEMORIAS LOCALES: A partir de 4 registros de trabajo (datos, direcciones o propsito general) se suelen organizar en forma de memoria local. Requieren entradas para seleccionar los registros sobre los que se quiere actuar. -BUSES: Son elementos de interconexin tales que: Solamente un componente puede depositar su contenido en el bus en un instante. Varios componentes pueden leer simultneamente. Una Unidad de Control debe organizar correctamente las escrituras. 9.2. Memoria principal -Memoria de acceso aleatorio y de lectura/escritura. -Parmetros: Longitud de palabra Capacidad Temporales: Tiempo de acceso para escritura: Tiempo que transcurre desde que se activa esc hasta que el dato queda escrito en memoria. Tiempo de acceso para lectura: Tiempo que transcurre desde que se activa lec hasta que el dato est disponible de forma estable en el bus de datos. Ciclo de memoria: Tiempo para iniciar un nuevo acceso desde que se inici el anterior. -Los accesos pueden ser asncronos o sncronos. -Smplez: Tm<50ns, TAL = TAE<100ns, TCL = TCE<200ns. -Tecnologas:

DRAM (RAM dinmicas): La unidad de almacenamiento (bit) se implementa mediante un condensador (hay que regenerar peridicamente el valor de tensin almacenado ciclos de refresco). SRAM (RAM estticas): Se utilizan transistores polarizados y no requieren ciclos de refresco. Los tiempos de acceso son menores.

18

ROM: Poca capacidad y contenido fijado en fabricacin. PROM: Memorias que salen en blanco de fbrica y que se pueden escribir solamente una vez mediante un programador de PROMs. EPROM: Borrables por exposicin a ultravioletas. EEPROM: Borrables elctricamente.

9.3. Perifricos -Direccionamiento: Espacio de direcciones compartido por memoria principal y perifricos. Ejemplos: Smplez y Motorola. Espacio de direcciones separado para memoria principal y perifricos. -Tipos de acceso: Asncrono (Motorola). Sncrono. Ejemplo: Smplez: para los perifricos se supondr que TCL<200ns, igual que para la memoria principal a pesar de que los perifricos son ms lentos en ese tiempo habr terminado el acceso de cara a la CPU. 9.4. Ruta de datos y elementos de control -Ruta de datos: Estructura formada por buses internos (direcciones, datos, control), registros y circuitos combinacionales interconectados que permitirn transferir, memorizar y procesar distintos tipos de informacin (datos, instrucciones, direcciones). -Secuenciador: Elemento activo de la unidad de control que genera la secuencia de rdenes para que los elementos de la ruta de datos realicen las operaciones de transferir, memorizar y procesar. La secuencia de rdenes es un conjunto de seales binarias denominadas micrordenes. -Su funcionamiento est sincronizado por una seal de reloj: las micrordenes solamente cambian en el flanco activo de la seal de reloj. 9.5. Rutas de datos en Simplez

19

MICROORDENES 0. eac: entrada en el acumulador desde la salida UAL. 1. eri: entrada en el registro de instruccin desde el bus D. 2. incp: incremento del contador de programa 3. ecp: entrada en el contador de programa desde el bus Ai 4. ccp: puesta a cero del contador de programa. 5. era: entrada en el registro de direccin desde el bus Ai. 6. pac: puesta a celo de la salida de la UAL. 7. sum: suma en la UAL de las entradas 1 y 2, dejando el resultado en la salida. 8. tra2: transferencia de la entrada 2 de la UAL a la salida. 9. dec1: decremento de la entrada 1 de la UAL, dejando el resultado en la salida. 10. lec: lectura en la MP o en puerto de entrada. 11. esc: escritura en la MP o en el puerto de salida. 12. sac: salida del acumulador al bus D. 13. sri: salida de los nueve bits de menor peso del registro de instruccin al bus Ai. 14. scp: salida del contador del programa al bus Ai. 15. cbf: inhibicin del funcionamiento. 16. sco: salida del cdigo de operacin (UC microprogramada) 17. bbz: para la instruccin BZ (UC microprogramada) 18. ebi: entrada en el biestable BI (UC cableada).

TEMA 10: ELEMENTOS DE LOS MODELOS PROCESALES


10.1. Introduccin. El modelo procesal describe la actividad interna de un sistema. Se describe como una sucesin de estados y transiciones entre ellos que se llevan a cabo durante la captura y ejecucin de instrucciones. Hay que analizar: Estados de ejecucin de la CPU.

20

Transiciones entre estos estados. Acciones a realizar en cada estado.

10.2. Modelo procesal de Smplez: 2.1. Estados y transiciones. -Elementos modelo estructural: Ruta de datos, Secuenciador, Memoria principal, Perifricos. -Tiempo de respuesta limitante: MP y perifricos determina el tiempo de ciclo de la CPU. -Cada estado de la CPU va a durar 100 ns y habr una seal de reloj con ese periodo que gobernar los cambios de estado. -Cada ciclo de CPU tendr asociado 2 4 estados: I0: se lee de memoria la instruccin a ejecutar. I1: estado en el que: Si la instruccin no tiene operando (CLR, DEC, BR, BZ, HALT): Se ejecuta la instruccin y se prepara la direccin de la siguiente instruccin. Si la instruccin tiene operando (LD, ST, ADD): Se prepara la direccin del operando. O0: se lee (LD, ADD) escribe (ST) el operando y se opera si procede. O1: se prepara la direccin de la siguiente instruccin.

Ciclo de instruccin

Ciclo operando

2.2. Acciones a realizar en cada estado CP 0; RA 0; while (1) { I0 RI MP [RA]; CP CP+1; switch (CO) { case CLR: AC 0; RA CP; case DEC: AC AC-1; RA CP; case BR: CP CD; RA CP; case BZ: if (Z==1) CP CD; RA CP; else RA CP; case HALT: CP 0; RA CP; seguir en I1; I1 case LD: RA CD; AC MP [RA]; O0 RA CP; O1 I1 case ADD: RA CD; AC AC + MP [RA]; O0 RA CP; O1 I1 case ST: RA CD; MP [RA] AC; O0 RA CP; O1 2.3. Cronogramas de instrucciones

21

22

Você também pode gostar