Download TEMA 6: PROCESADORES Electrónica General y Aplicada
Document related concepts
no text concepts found
Transcript
TEMA 6: PROCESADORES Electrónica General y Aplicada -------------------------------------------------------------UNIDADES DE MICROCOMPUTO Los sistemas utilizados en adquisición de datos,transmisión de información y procesamiento, responden a la estructura funcional de un computador tradicional, pero con diferencias en las características de sus componentes, en función de que se trata de una operación en tiempo real, tanto en medición, control y procesamiento. -FIG 6.1Las unidades funcionales fundamentalmente son: . PROCESADOR . MEMORIA . PUERTAS E/S Estas unidades pueden encontrarse en forma discreta o bien integradas en un solo chip, incluso pueden integrarse unidades específicas relacionadas con la medición y control en tiempo real. Según el tipo de aplicación, este sistema de microcómputo puede reemplazarse por un PC, con el agregado de unidades específicas. MEMORIAS: Dispositivo para almacenamiento de información binaria. 1}}} TEMA 6: PROCESADORES Electrónica General y Aplicada -------------------------------------------------------------En semiconductores, se tienen dos tipos básicos desde el punto de vista del procesamiento: RAM (Random acces memory) y ROM (Read Only memory), osea, memorias de lectura/escritura y de lectura solamente. Elemento de memoria (RAM) -FIG 6.2. . . . . . Para seleccionar la celda de escritura/lectura debe ser x=1 Para habilitar lectura debe ser R=1 o W=0 para escritura. El dato ingresa por la línea DATO o se recibe en ella. No requiere reloj Con 8 elementos tenemos una palabra de 8 bits. Una memoria con 16 líneas de selección, que se pueden reducir a 4 líneas externas, mediante un circuito combinacional, que con 24 combinaciones a la entrada, genere 16 salidas (X0,X1,X2,....X15) 2}}} TEMA 6: PROCESADORES Electrónica General y Aplicada -------------------------------------------------------------D7..............D8 AO A1 X0 A2 A3 X1 X14 X15 DECODIFICADOR DE PALABRAS (FILAS) 4 x 16 Para memorias de gran capacidad de palabras, se realiza una SELECCION POR COINCIDENCIA +----------------------------------------+ ¦A0 A1 A2 A3¦ X0 X1 X2 X3 .......X14 X15 ¦ +-----------+----------------------------¦ ¦ 0 0 0 0¦ 1 0 0 0 0 0 0 0 ¦ ¦ 0 1 0 0¦ 0 1 0 0 0 0 0 0 ¦ ¦ - - - - - ¦- - - - - - - - - - - - - - ¦ ¦ 1 1 1 1¦ 0 0 0 0 0 0 0 1 ¦ +----------------------------------------+ Cada bit (1 recuadro) se selecciona mediante intersección de 2 líneas localiza en la matriz. 3}}} X-Y , la TEMA 6: PROCESADORES Electrónica General y Aplicada -------------------------------------------------------------- -FIG 6.3.La capacidad de almacenamiento se incrementa con el Nro. de celdas y el aumento de capacidad de direcciones. -FIG 6.4- 4}}} TEMA 6: PROCESADORES Electrónica General y Aplicada -------------------------------------------------------------- . RAM BIPOLAR TTL . CON CS=0 EL CHIP NO SE SELECCIONA Y LA SALIDA DE DATO ESTA EN ALTA IMPEDANCIA -FIG 6.4.1Se utiliza una sola línea. DATO para E/S, se separán por buffer” tri-state”. La celda básica de memoria puede implementarse en base a transistores bipolares,como biestable(TTL), o bien con unipolares (MOS,CMOS). En ambos casos,la información almacenada se conserva mientras el circuito biestable tenga tensión de alimentación. -FIG 6.5.La bipolar es mas rápida, pero con mayor consumo .La unipolar es mas económica y permite mayor escala de integración, poco consumo.(Tiempo acceso 20 nseg.) Se reduce mas aun el consumo, con una muy alta escala integración, con celdas dinámicas. 5}}} de TEMA 6: PROCESADORES Electrónica General y Aplicada -------------------------------------------------------------Se basa en aprovechar la capacidad parásita asociada a la compuerta, que en forma de carga puede mantener 1 bit durante un breve intervalo (celda de memoria de 1 transistor) -FIG 6.6.Los datos se almacenan como carga del capacitor C (1:carga 0:descarga) .Se requiere una operación de refresco, para restaurar los niveles (2-10ms) que se degradan con el tiempo. ELEMENTO DE MEMORIA ROM Es una memoria fija, no volátil,direccionable. Se almacenan instrucciones y datos de un programa de control industrial, generar caracteres, microprogramación. Se "graba" al fabricarla. 6}}} TEMA 6: PROCESADORES Electrónica General y Aplicada -------------------------------------------------------------- -FIG 6.7- . En la dirección 1 (llave 1 a masa) se tiene (lógica positiva) Do=0 D1=1 D2=0 D3=1 D4=0 Será "Cero" o "Uno" según hay o no diodo en el cruce . Se tiene amplificación con el reemplazo de diodos por transistores -FIG 6.7.1- 7}}} TEMA 6: PROCESADORES Electrónica General y Aplicada -------------------------------------------------------------Con la incorporación de un fusible, puede ser grabada(programa) por el usuario (PROM) -FIG 6.8. Haciendo circular un pulso de corriente, entre 100 mA a 1 A, se funde el fusible con lo que queda abierta la línea correspondiente (quedará "uno" fijo) . Con transistores es similar. En otros casos directamente aplica tensión inversa para destruir al juntura. Hay memorias con "grabado" eléctrico y "borrado" por ukltravioleta (EPROM) o "grabado" y "borrado" eléctrico (EEPROM o E2PROM). -FIG 6.9. Aplicando una tensión inversa a la juntura D-CANAL, algunos electrones se aceleran y pueden alcanzar la G. Al desaparecer el pulso quedan allí, induciendo un canal P conductor. . Se restituye con UV de 2500 A° en 30 minutos. 8}}} TEMA 6: PROCESADORES Electrónica General y Aplicada -------------------------------------------------------------CICLOS DEL BUS La operacion de la unidad de memoria es controlada por la Unidad Central de Procesamiento(CPU) y todo sincronizado por el reloj (CLK) Reloj CPU 1MHz / T=1/10 6 c/seg=10-6 seg= 1 useg. +-----------------+ ¦ 1 ciclo= 1useg ¦ +-----------------+ Tiempo de acceso de memoria< 2µseg CLK T1 BUS Direcciones. T2 T3 MEMORY ADDRESS R/W Selector BUS DATA Tiempo Dato Válido al Final de T2 Acceso -FIG 6.9.1Ciclo de lectura Tiempo=µSeg. 9}}} T4 TEMA 6: PROCESADORES Electrónica General y Aplicada -------------------------------------------------------------MAPA DE MEMORIA. FFFFF 16 MBYTE 100000 FFFFF EXTENDED MEMORY - 15 M 1 MBYTE ROM F0000 EFFFF OPEN ( PC / XT ) E0000 DFFFF LIM D0000 C F C 00 USER CD000 CCFFF AREA C D 000 FIXED DISK (XT) C8000 C7FFF ROM EXPASION C4000 C3FFF OPEN EGA C0000 SCREEN BUFFER C G A AFFFF Y OPEN ROM A0000 9FFFF 80000 RAM EXPANSION AREA - 128 K 10}}} TEMA 6: PROCESADORES Electrónica General y Aplicada -------------------------------------------------------------7FFFF RAM EXPANSION AREA - 512 K DOS BIOS 00400 003FF INTERRUPT VECTOR 00000 -FIG 6.10MICROPROCESADOR (CPU) Un microprocesador es una unidad procesadora central (CPU) encerrada en un circuito integrado(CI) tienen un arquitectura interna que incluye: Unidad Aritmética-Lógica(ALU), registros operativos y generales, decodificadores, multiplexores , buses internos (direcciones y datos), memorias ROM y RAM (pocos KB) etc. D0, D1,... Buffer datos Reg temporal Reg Estado Reg Instrucción MDR Multiplexor B C D E H H Decodifica ALU Unidad control y sincronismo Reg Acumula. Contador Prog Contro l Puntero Pila interno PC SP Indice IX Buffer direcc MAR A SEÑALES EXTERNAS CONTROL -FIG 6.11- SEÑALES Ao,A1,... EXTERNAS/INTERRUPCIONES 11}}} TEMA 6: PROCESADORES Electrónica General y Aplicada -------------------------------------------------------------.Está constituido por 3 grandes bloques: .Unidad Aritmético-Lógica .Registros generales y oper. .Unidad de control .Unidad Aritmética-Lógica(ALU): Circuito combinacional que realiza operaciones aritméticas y lógicas (sumas,restas, and,or,etc). Los operandos están en reg. temporal y acumulador (A). El resultado se almacena en A. El resultado de la operación se refleja en el reg. de estado (SR) por medio de biestables (flag) que señalan : S Z V AC P C SR Arrastre Binario. Paridad. Arrastre BCD. . SR También se denomina CCR. (Reg. Códigos de Condi-ción.) (V=1, resultado nulo.) Cero(z=1,res.nulo) Signo (s=1,res. neg.) -FIG 6.12- . SR también se denomina CCR (Reg. Códigos de Condición) MICROPROCESADOR (cpu) UNIDAD DE CONTROL (CU): bloque lógica cableada que sincroniza y ejerce control sobre la transferencia de datos y las operaciones que se realicen con ellos. Las instrucciones son recibidas 12}}} TEMA 6: PROCESADORES Electrónica General y Aplicada -------------------------------------------------------------desde una memoria externa (RAM,ROM,EPORM) en el reg, de instrucciones (IR) y decodificadas para que la CU responda con señales de sincronismo y control sobre el resto de los componentes del micro. Ejemplos: CODIGO OPERACION DIRECCION .Sumar .Memoria .Transferencia .Registros .And, OR .Bifurcacones .Entrada/Salida .LDA 006A (3A6A00) cargar el contenido de la direccion 006A al Acumulador. .STA 0010 (321000) Escribir el resultado de la suma en 0010. REGISTROS GENERALES Y OPERATIVOS: El contador de programa (PC): memoriza la próxima instruccion a ejecutar. La CU incrementa al PC cuando termina la búsqueda de una instruccion (Pc<-- Pc+1). Al iniciar se carga el Pc con la direccion de la 1er instruccion del prog. El puntero de pila(SP) a Stack Pointer: permite organizar las bifurcaciones o llamado a subrrutinas y el correspondiente returno, con el auxilio de una memoria de pila (lifo). La bifurcacion tambien puede ser por INTERRUPCION (Externa o interna). Las externas llegan al micro por lineas especiales. 13}}} TEMA 6: PROCESADORES Electrónica General y Aplicada -------------------------------------------------------------- Inst. n-2 PC Inst. n-1 INTERRUPCIÓN Inst. -n RUTINA SERVICIO Inst. n+1 Inst. n+2 Inst. n+3 m-3 IX m-2 PC m-1 SR m R SP Last-in-First Out - INTR/IRQ - NMI/TRAP - RESET -FIG 6.13- DEBUG.COM (M5.DOS) . Simula un procesador en el estado detenido (HALT) (Procesador virtual). El procesador real (286, 386, 486,...) está corriendo. . Permite generar breves programas en código máquina, ejecutarlos de corrida o paso a paso, examinar los contenidos de los registros y la memoria. . DEBUG presenta un ensamblador/desensamblador elemental. C: \DOS > DEBUG <ENTER > 14}}} TEMA 6: PROCESADORES Electrónica General y Aplicada -------------------------------------------------------------ALGUNOS COMANDOS. ? a d e g i o q r t Presenta lista de comandos del DEBUG. Enasambla códigos numéricos del modo 8086. Presenta contenidos de la memoria a partir de una posición. Introduce datos en la memoria a partir de una posición. Ejecuta un archivo ejecutable que está en memoria (*) Presenta el valor de un byte a un puerto de salida. Envía el valor de un byte a un puerto de salida Finaliza sección del DEBUG. (salir) Presenta o altera el contenido del registro. Ejecuta una instrucción, presenta el contenido de todos los registros, indicadores y la próxima instrucción. LL Desemsambla bytes y presenta las instrucciones de origen correspondientes.(*) (*) El segmento predeterminado es Cs. (DS para los demás) DEBUG Contenidos de registro y memoria. Aplicación 1. -R AX=0000 BX=0000 DX=0000 SP=FFEE DS=2EB9 ES=2EB9 CS02EB9 IP=0100 NV UP 2EB9:0100 BB 7856 MOV BP=0000 EI SI=0000 PL NZ DI=0000 NA BX ,5678 MOV BX, 5678 -D 2EB9:0100 BB 78 56 B8 34 12 01D8 2EB9:0110 .. .. .. .. .. .. .... 2EB9:0120 .. .. .. .. .. .. .... .... .. .. .. 15}}} .. .. .. PO NC TEMA 6: PROCESADORES Electrónica General y Aplicada -------------------------------------------------------------Ejemplo: xxxx:100 MOV xxxx:103 MOV xxxx:106 ADD AX BX, 5678 AX, 1234 AX, BX BX (BB 78 (BB 34 (01 D8) 56) 12) CX DX MOV AX,1234 ADD AX, BX MOV BX, 5678 Direcciones de E\S de puertas serie (com1, com2,..\y paralelo (LPT1, LPT2,....) Aplicación 2. -D 40:01F 0040:0000 F8 03 F8 02 00 00 00 00-BC 03 78 03 00 00 00 00 Puertas serie com1:03F8 com:02F8 Puertas paralelo LPT1: 03BC LPT2: 0378 Ejemplo: Lectura y escritura en puertas (PORT) de EIS BASIC: OUT Port, docto INP (Port) C: Port (Port):= dato Port (Port) 16}}} TEMA 6: PROCESADORES Electrónica General y Aplicada -------------------------------------------------------------MICROPROCESADOR MC68HC11- Industrial- -FIG.6.15- 17}}} TEMA 6: PROCESADORES Electrónica General y Aplicada -------------------------------------------------------------- DIL-48 (Dual In Line) -FIG 6.15.1- REGISTROS DE CODIGOS DE CONDICION. 7 ACUMULADOR A 07 ACUMULADOR B 15 DOBLE ACUMULADOR D 0 A:B 0 D 15 REGISTRO INDICE X 0 IX 15 REGISTRO INDICE Y 0 IY 15 PUNTERO DE PILA 15 0 SP CONTADOR DE PROGRAMA -FIG 6.15.2- 18}}} 0 PC TEMA 6: PROCESADORES Electrónica General y Aplicada -------------------------------------------------------------REGISTROS INTERNOS CPU. S X H I N Z V C CCR (SR) CARRY DESBORDE CERO NEGATIVO MASCARA DE INTERRUPCIÓN I. HALF-CARRY (DEL BIT 3) MASCARA DE INTERRUPCION X. DESHABILITACION MODO STOP -FIG 6.15.3PUERTAS DE ENTRADA/SALIDA Permiten la conexión con periféricos de medición, transmisión y control, pueden ser paralelo o serie. Son programables y bidireccionales . 19}}} TEMA 6: PROCESADORES Electrónica General y Aplicada -------------------------------------------------------------- -FIG 6.16- . . . . Para 8 o 16 bit, según el periférico CA/CB líneas de interrupción DR: Registro de datos bidireccional (8 bit) CR: Registro de Control,de programación de la puerta (8bit) -entradas -salidas -tipo de flancos Interrup. +---------+ ¦ ¦ +---------------------------------------+ CR ¦IRQA¦IRQB¦ b5 ¦ b4 ¦ b3 ¦ b2 ¦ b1 ¦ b0 ¦ +---------------------------------------+ 20}}} TEMA 6: PROCESADORES Electrónica General y Aplicada -------------------------------------------------------------1 Port Periférico 0 . El periférico avisa que tiene disponible un dato mediante un pulso 1-->0 en CA1. . La CPU lee el dato y a través de CA2 avisa que lo leyó mediante un pulso 0-->1. CA1 +×-----1 CA2 OPERACIÓN MANDSHAKE Toda operación , programación y lectura y/o escritura. se realiza bajo control del programa residente en memoria (ROM PROM EPROM) del sistema de microcómputo. La puerta paralelo de un PC puede utilizarse, para esta finalidad, pero está limitada, por cuanto está preparada exclusivamente para atender el periférico impresora, no obstante puede adaptarse. PUERTA PARALELO DE PC (TIPO CENTRONIC) .Además de puerta paralelo para la impresora (parallel printer port) es un recurso importante para el intercambio de información con el medio externo a la Pc. 21}}} TEMA 6: PROCESADORES Electrónica General y Aplicada -------------------------------------------------------------- Data -FIG 6.17- 22}}} TEMA 6: PROCESADORES Electrónica General y Aplicada -------------------------------------------------------------Esta dividido en tres registros: (8) DATOS: (D0,......D7) (5) ESTADO: (ERROR, SELECT, P.END, ACK, BUSY) (4) CONTROL: (STROBE, S.FEED, INIT, SELECT IN) Out Imput. y/o .Los niveles de señal manejados son TTl: 0-0.8V (bajo) 2.5-5V (alto) .El puerto de datos es del tipo totem pole. .El puerto de controles del tipo open collector( solo drena corriente) Vcc DATOS WR D CK BUS LATCH Q PULL UP -FIG 6.18Vcc PULL UP WR BUS D CK LATCH Q I/O CONTROL BUS BUFFER RD -FIG 6.18.1- 23}}} O TEMA 6: PROCESADORES Electrónica General y Aplicada -------------------------------------------------------------RD I BUS BUFFER LS 240 ESTADO -FIG 6.18.2+5V +5V 4K7 4K7 NIVEL NIVEL ALTA > 10Κ BAJA < 900Ω TTL TTL SENSOR DE CONTACTO. -FIG 6.18.3- SENSOR DE CONDUCTANCIA VAR. -FIG 6.18.4+5V SENSOR 4K7 NIVEL R1 NIVEL R1 TTL TTL R2 INTERFAZ A TTL -FIG 6.18.5 24}}} TEMA 6: PROCESADORES Electrónica General y Aplicada -------------------------------------------------------------Puerta Serie Para comunicación con instrumentos o equipos a distancia -FIG 6.19RDR: Registro recepción de datos TDR: Registro transmisión de datos SR : Registro de estado: Registra error paridad Saturación, pérdida de portadora. CR: Ragistro de control: Para programar paridad Velocidad, nro. de bit x caract. 1 bit START 7 bit DATA start 7DATA BIT PARITY time ONE CHARACTER WORD ` EVEN 2 bit STOP (PAR) ODD 1 bit (IMPAR) PARIT STOP BAUD RATE= 1/Bit Time= 1/9.09 ms = 110 Baud Tiempo palabra= 11 bit x 9.09x10-3 s ≈.1 seg Word rate= 1/.1 seg= 10 Word/seg velocidad= 10 Word/seg x 8 bit/caract. = 80 bit/seg (incluye paridad) 25}}} TEMA 6: PROCESADORES Electrónica General y Aplicada -------------------------------------------------------------- BAUD RATE BIT TIME(ms) WORD TIME(s) WORD RATE VELOCIDAD 300 3.33 .0366 27.32 218.6 1200 .833 .0092 108.7 870 PUERTA SERIE DE PC (RS-232) NORMA RS-232C: Esta normalizada para la interconexión de equipos que funcionen como DTE(Data Terminal Equipment) y DCE(Data Communications Equipment), tiene 25 líneas especificadas(DB-25) ENLACE DTE1 DCE1 DCE2 ANALÓGICO MODEM RS-232 C RS-232 C 26}}} DTE2 TEMA 6: PROCESADORES Electrónica General y Aplicada -------------------------------------------------------------- -FIG 6.20- -FIG 6.21- 27}}} TEMA 6: PROCESADORES Electrónica General y Aplicada -------------------------------------------------------------- INTERRUPCIONES: Desde un punto de vista mas general, las interrupciones se pueden producir por 3 razones diferentes: 1- Interrupciones externas 2- Interrupciones internas 3- Interrupciones por software -FIG 6.221. INTERRUPCIONES EXTERNAS (ASINCRÓNICAS) - INTR (MASKARABLE INTERRUPTS) - NMI (NON-MASCARABLE INTERRUPTS) EXTERNAS: provienen de dispositivos de E/S externos al procesador. Normalmente acceden a travez de un controlador. se producen cuando un dispositivo requiere recibir/enviar datos o bien cuando completa estas acciones. Se incluye una falla de energía. 28}}} TEMA 6: PROCESADORES Electrónica General y Aplicada -------------------------------------------------------------- INTERNAS: surgen del uso ilegal o erróneo de una instruccion o dato: Desborde de registros, división por cero, código de operación no válido, desborde de la "pila". Estas interrupciones son generadas por el propio procesador. SOFTWARE: Es disparada en forma sincrónica por el programa de aplicacion, por ejemplo: con la instruccion INT XX, donde "XX" es un nro. hexadecimal, que multiplicado por 4 entrega la direccion de entrada a la tabla de vectores. El programador puede acceder a rutinas de servicio del dos o del ROM-BIOS, pero tambien puede crear su propio servicio de interrupciones Una rutina de servicio termina en IRET(Return Interrupts) INTERRUPCIONES: Interrupciones vectorizadas: La CPU mantiene en memoria una tabla en la cual se encuentran las direcciones de las rutinas de servicio para cada tipo de periférico. Aceptada la interrupcion, el procesador libera el BUS de Datos, para que el controlador enviara un número que indicará el lugar de la tabla en que se encuentra la direccion de la rutina de servicio. -FIG 6.23- 29}}} TEMA 6: PROCESADORES Electrónica General y Aplicada -------------------------------------------------------------- .Ahora la CPU debe avisar al periférico que la interrupcion fue aceptada y puede colocar el número identificatorio en el Bus. Esta línea de aviso se denomina IACK (Interrup ACKnowledge) -FIG 6.24.Una vez aceptada la interrupcion: 1-Pone en la pila(stack) el contenido de los registros(contador de programa + reg. de estado de CPU) 2-Inhabilita nuevas interrupciones 3-Bifurca a la direccion de la rut. de servicio cargándola en cont. de programa La INT 2 comprende más de 80 funciones o servios del BIOS, que se pasan por el rep. AH Ej: 09, escribe en pantalla. 130 MOV AH,09 133 MOV DX,102 136 int 21 . 102 “HOLA” od oa”$” od= CR (Retorno) oa= LF (N. Línea) 30}}} int 20 TEMA 6: PROCESADORES Electrónica General y Aplicada -------------------------------------------------------------- INTERRUPCIONES (256 vectores de interrupción, cada vector: 4 Byte, apunta a rutinas de servicios. El primer KB de memoria es una tabla de vectores. -FIG 6.25- SERVICIOS ROM-BIOS 5h 10h 11h 12h 13h 14h 16h 17h 26h CONTENIDO PANTALLA---> IMPRESORA VIDEO LISTA DE PERIFERICOS TAMAÑO DE MEMORIA DISCO PUERTA SERIE TECLADO IMPRESORA HORA(RELOJ) 31}}} | | | | | | | | | EJEMPLO: obtener el nro. de version del dos MOV AH,30H INT 21H El resultado aparece en AL/AH TEMA 6: PROCESADORES Electrónica General y Aplicada -------------------------------------------------------------SERVICIOS DOS 9h 21h 26h 20h 2Fh 30h CARGA BUFFER TECLADO LLAMADA A FUNCIONES DEL DOS ESCRITURA EN DISCO DURO TERMINACION PROGRAMA(NORMAL) COMUNICACION CON SPOOLER DE IMPRESION NUMERO DE VERSION DEL DOS -FIG 6.26- ================== FIN TEMA 6 32}}} ========================