Procesadores (Entradas Y Salidas)
Enviado por elhelks • 12 de Noviembre de 2012 • 1.991 Palabras (8 Páginas) • 797 Visitas
PROCESADOR (E/S)
En las entradas y salidas que se ejecutan desde el procesador entran tres conceptos que se deben conocer.
El DMA
Los Canales
Y las instrucciones
DMA
Con un incremento moderado de la lógica asociada con el periférico se puede lograr transferir un bloque de información a o desde la memoria principal sin la intervención directa de la UCP. Esto requiere que los periféricos o los controladores de E/S sean capaces de generar direcciones de memoria y transferir datos a o desde el bus del sistema. La UCP es todavía la responsable de iniciar la transferencia de cada bloque. A partir de este punto el controlador de E/S realiza toda la operación sin que la UCP tenga que ejecutar ningún otro programa. La UCP y el controlador de E/S interaccionan sólo cuando la UCP debe dar el control del bus del sistema al controlador de E/S, como respuesta a una petición de este último. Este tipo de capacidad es lo que se conoce como Acceso Directo a Memoria (DMA).
La mayoría de los computadores de hoy día tienen la posibilidad de interrupción y de DMA. Un controlador de DMA posee un control parcial de la operación de E/S. La UCP puede liberarse totalmente si se introduce en el computador un Procesador de E/S (PE/S) o canal. Análogamente al DMA, el PE/S tiene acceso a la memoria principal y puede interrumpir a la UCP, sin embargo puede emplear un repertorio de instrucciones diferentes del de la UCP (ya que está orientado a operaciones de E/S).
Regresar Arriba
CANALES
El canal de E/S es una extensión del concepto de DMA. Un canal de E/S tiene la capacidad de ejecutar instrucciones de E/S, lo que da un control total sobre las operaciones de E/S.
Las instrucciones de E/S se almacenan en la memoria principal y serán ejecutadas por un procesador de propósito específico en el mismo canal de E/S.
Hay dos tipos comunes de canales de E/S, como se ilustra en la figura:
canales
Regresar Arriba
INSTRUCCIONES
Las instrucciones que se ejecutan en los procesadores, varia mucho de uno a otro, incluso en los modelos variantes de cada uno de ellos, algunas instrucciones cambian, para mejorar (a veces para empeorar) el rendimiento, o se añaden nuevas instrucciones.
Las instrucciones también se pueden clasificar por el tipo de operación que realiza, como por ejemplo. El control de cadenas de caracteres, el control de la memoria cache, Instrucciones aritméticas, instrucciones de transferencia de datos, instrucciones de comparación.
En forma general las instrucciones del procesador, le permiten realizar tareas, esto ejecutándose a un tiempo una o varias de estas instrucciones, en algunos procesadores las instrucciones se dividan de acuerdo al área del procesador en la cual tuvieran acción.
A continuación se presentan instrucciones de varios procesadores, algunos son ya viejas y no se usan en la actualidad, como se vera en algunos, que pertenecen a una misma familia, las instrucciones varían o se han añadido otras.
Instrucciones del 4004
Hay instrucciones de uno o dos bytes. Los primeros tardan 8 períodos de reloj (un ciclo de instrucción). Los segundos tardan 16 períodos de reloj (dos ciclos de instrucción).
Algunas Instrucciones del procesador 4004 Mnemónico Descripción OPR OPA
WRM Escribir el acumulador en RAM 1110 0000
WMP Escribir el acumulador en port de salida de RAM 1110 0001
WRR Escribir el acumulador en port de salida de ROM 1110 0010
WPM Escribir el acumulador en el medio byte especificado de RAM (se usa en los microprocesadores 4008 y 4009 solamente) 1110 0011
WR0 Escribir el acumulador en el carácter de estado de RAM 0, 1, 2, 3 1110 0100
WR1 1110 0101
WR2 1110 0110
WR3 1110 0111
SBM Restar el contenido de la posición previamente especificada de RAM del acumulador con préstamo 1110 1000
RDM Cargar en el acumulador el contenido de la posición de RAM 1110 1001
RDR Cargar en el acumulador el contenido del port de entrada de ROM 1110 1010
ADM Sumar el contenido de la posición previamente especificada de RAM al acumulador con acarreo 1110 1011
RD0 Almacenar en el acumulador el carácter de estado de RAM 0, 1, 2, 3 1110 1100
RD1 1110 1101
RD2 1110 1110
RD3 1110 1111
La siguiente tabla muestra el grupo de instrucciones del acumulador.
Mnemónico Descripción OPR OPA
CLB Limpiar el acumulador y el acarreo 1111 0000
CLC Limpiar el indicador de acarreo 1111 0001
IAC Incrementar el acumulador 1111 0010
CLC Complementar el acarreo 1111 0011
CMA Complementar el acumulador 1111 0100
RAL Rotar acumulador y acarreo hacia la izquierda 1111 0101
RAR Rotar acumulador y acarreo hacia la derecha 1111 0110
TCC Sumar acarreo al acumulador y limpiar el acarreo 1111 0111
DAC Decrementar el acumulador 1111 1000
TCS Restar acarreo del acumulador y limpiar el acarreo 1111 1001
STC Poner el acarreo a uno 1111 1010
DAA Ajuste decimal del acumulador 1111 1011
KBP Convierte un código 1 de 4 a binario en el acumulador 1111 1100
DCL Designar línea de comando 1111 1101
INSTRUCCIONES DEL 80186 DE INTEL
PUSHA: Almacena los registros de uso general en la pila, en el siguiente orden: AX, CX, DX, BX, SP, BP, SI, DI.
POPA: Extrae los registros de uso general de la pila, retirándolos en el sentido inverso a PUSHA (pero descarta la imagen de SP).
PUSH inmed: Ingresa un valor inmediato a la pila.
INSB: Operación: ES:[DI] <- Port DX (Un byte), DI<-DI+1 (si DF=0) o DI<-DI-1 (si DF=1).
INSW: Operación: ES:[DI] <- Port DX (Dos bytes), DI<-DI+2 (si DF=0) o DI<-DI-2 (si DF=1).
OUTSB: Operación: Port DX <- DS:[SI] (Un byte), SI<-SI+1 (si DF=0) o SI<-SI-1 (si DF=1).
OUTSW: Operación: Port DX <- DS:[SI] (Dos bytes), SI<-SI+2 (si DF=0) o SI<:-SI-2 (si DF=1).
Shift dest,inmed. Se puede especificar directamente (sin cargar primero el valor en el registro CL) la cantidad de bits del desplazamiento. Shift es una de las siguientes instrucciones: ROL, ROR, RCL, RCR, SHL, SAL, SHR, SAR.
BOUND reg16,mem32. Verifica que el valor contenido en el registro se encuentre
...