Está en la página 1de 18

|UNIDAD DE CONTROL (UDC)

Se encarga de la ejecución de las instrucciones.


Genera:
● Señales eléctricas para conectar o desconectar estructuras internas
● Señales eléctricas (señales de lectura, escritura, etc)

UDC MICROPROGRAMADAS
Al principio eran cableadas
Después, microprogramadas
● Cables reemplazados por circuitos de 1 y 0 para conectar o desconectar
● 1 y 0 almacenados en la UDC
● Cada instrucción es un conjunto de micro-instrucciones llamado micro-programa.
● Cada micro-instrucción ocupa un ciclo de CLK
Hoy se separan comandos de operandos (ejecutar instrucciones en paralelo)

CICLO DE INSTRUCCIÓN
IFIDOFEX
● IF: instruction Fetch / Búsqueda del código de operación (alojado en reg de instr.)
● ID: Instruction Decode / Decodificación del código de operación
● OF: Operand Fetch / Búsqueda de operandos
● EX: Execution / Ejecución

EL CONTADOR DE PROGRAMA
Registro interno del CPU
Apunta a la posición de MP de la próxima instrucción a ejecutar
Operado por la UDC

Comportamientos
● Normal: incrementa en 1 el valor para leer las posiciones
● Salto: cambio de posición en la MP (no es la próxima).
● Indirección: cambio de dirección, accede al contenido y vuelve a normal
SET DE INSTRUCCIONES (del procesador)
● Transferencia de datos
● Transferencia de programa
● Manipulación de bits
● Manipulación de cadenas
● Aritméticas
● Control de procesador

LONGITUD DE PALABRA DE UN PROCESADOR


Unidad de medida a ser almacenada, procesada o transmitida por el procesador
Longitud múltiplo de 2 o de 8 bits
Para nuestro procesador (8086) es de 16 bits. 8088 8 bits
Múltiplos de palabra:
● Palabra doble
● Palabra cuádruple

CAPACIDAD DE DIRECCIONAMIENTO
Cuántas direcciones (en binario) es capaz de generar para:
● Acceder a la MP
● Acceder a la MV
● Acceder a los puertos de e/s
Capacidad de direccionamiento 2 a la n bits
La cantidad de bits de cada dirección dada por la cantidad de pines que tenga el
microprocesador en el bus de direcciones
Ambos procesadores son de 20 bits
Acceso a los periféricos usan los primeros 16bits

Modos de direccionamiento
Acceso a las posiciones de memoria y puertos de e/s a través de direcciones binarias
En ambos procesadores los registros son todos de 16bits

Tipos de modos de direccionamiento


● Implícito: No hay un operando. El código de operación lo contiene.
● Inmediato: Operando está en la instrucción.
● Directo: El campo de direcciones contiene la dirección efectiva del operando
● Indirecto: El campo de direcciones contiene la dirección que contiene la dirección
efectiva del operando
● Indirecto con Registro: El campo de direcciones contiene el registro que contiene
la dirección efectiva del operando.
● Con Desplazamiento (Relativo a la Base o Basado): El campo de direcciones
contiene el registro cuyo dato sumado a una constante determina la dirección
efectiva del operando
● Con Desplazamiento (Basado e Indexado): El campo de direcciones contiene el
registro cuyo dato sumado al contenido de otro registro (índice) más una constante
determina la dirección efectiva del operando

Paralelismo
Técnica para reducción de tiempos y costos de recursos → Mejorar la performance
● Paralelismo temporal: Solapar tiempos en un mismo dispositivo
● Paralelismo espacial: Agregar más dispositivos para trabajar al mismo tiempo

Taxonomía de Flynn
Clasificación de arquitecturas según la cantidad de unidades funcionales que se usan en
paralelo y la forma en que se interconectan
● SISD -> Paradigmas de Von Neuman y Harvard -> Nuestros procesadores
● SIMD -> Procesadores vectoriales
● MISD -> Sistema aeronavegación
● MIMD -> Multiprocesadores
SISD = única instrucción ejecuta un único conjunto de datos almacenado en una única
memoria
SIMD = única instrucción controlará la ejecución simultánea de un conjunto de datos
diferente en cada unidad de ejecución
MISD = ejecutan un conjunto diferente de instrucciones en distintas con un mismo
conjunto de datos
MIMD = Se ejecutan un conjunto diferente de instrucciones en con distintos conjuntos de
datos
Multiprocesadores Simétricos (SMP)
Todos los procesadores (2 o más):
● Son independientes entre sí
● Son de similares características
● Comparten el mismo espacio de memoria y de Entrada/Salida
● Poseen similares tiempos de acceso a la misma MP
● Pueden ejecutar los mismos algoritmos o funciones
● Son controlados por un único Sistema Operativo integrado
Multicores
Es transparente para el usuario
Brinda un incremento sensible en la performance

Clusters
VS SMP
Conjunto de computadores que trabajan como si fueran una sola mega-computadora
Cada computadora puede funcionar por sí sola como un ordenador con todas las
funciones
Nodo → Cada computador del clúster
Se enlazan o comunican a través de una red: De Área Local (LAN – Local Area Network)
y De Área Ampliada (WAN – Wide Area Network).
Poseen discos compartidas por todos los computadores con configuración redundante de
discos (RAID – Redundant Array of Inexpensive Disks)

Acceso Heterogéneo a Memoria (NUMA)


Similar al SMP
Cada procesador tiene un espacio propio de memoria que no comparte con otros
procesadores
Se utiliza el caché L3 para compartir entre todos procesadores y los niveles L2 y L1 son
propios
Esto evita que los datos compartidos circulen por los buses ya que están en el L3
Coherencia de caché entre todos los niveles

Pipelines
Segmentación en etapas de una tarea compleja. Cada una realiza una única tarea, pero
de manera muy eficiente
La Unidad de Control ejecuta el ciclo de instrucción en etapas.
Unidad de control no segmentada
● Se procesa una instrucción hasta que termine; mientras no se iniciará con la
siguiente
Unidad de control segmentada:
● Ocupo todas las etapas con porciones de diferentes instrucciones
● Puedo implementar un Pipeline de instrucciones

Pipeline de instrucciones (o tubería de instrucciones)


Son cuatro partes distintas de 4 instrucciones diferentes
Tiene un nivel de paralelización igual a “4”.

Problemas de los pipelines


De datos:
Si dos instrucciones están fuera de orden, los resultados son erróneos
Solución -> Forwarding. No se paraleliza pero se respeta el orden.
De control:
Un salto condicionado puede dar un resultado inesperado
Solución -> Predicción de saltos. Determina si ocurrirá o no un salto.
De estructura:
Dos instrucciones requieren una misma unidad (Ej, ALU)
Solución -> Agregar más unidades para tener tareas en paralelo

ARQUITECTURAS CISC Y RISC


CISC = Complex Instruction Set Computing
Set de instrucciones complejo donde cada una es un conjunto de micro-tareas
Todas las micro-tareas están en la Memoria de Control en la UDC
Poseen múltiples modos de direccionamiento
Las instrucciones tienen distintos tamaños, tardan distinto
Los registros son de propósito específico
IBM System/360, PDP-11, VAX, Motorola 68000, e Intel familia x86

RISC = Reduced Instruction Set Computing


Basados en el modelo de Harvard
Set de instrucciones sencillo y con pocas instrucciones
● LOAD y STORE para acceso a memoria y registros
● CALCULATE para ejecutar operaciones
Cada instrucción realiza una micro-tarea (como la de los CISC)
No hay micro-programas en memoria
Mayor velocidad de ejecución y performance
Los registros son todos de propósito general
Todas las instrucciones son de igual longitud (un solo ciclo de reloj)

Arquitecturas multi-núcleo
Un solo chip o procesador que tiene 2 o más núcleos
Entre los diferentes núcleos no se repiten todas las unidades estructurales:
Un solo caché interna L3
Un solo bus externo de direcciones, de datos y de control.
Paralelización en cada núcleo (Pipelineing) y entre todos los núcleos (procesamiento
paralelo o SMP)

Arquitecturas multi-procesador
Conocida como procesamiento distribuido como hemos visto en la taxonomía de Flynn
denominada MIMD
Cada procesador es un computador en sí mismo, completo, pero en su conjunto
enlazados a través de una red de datos
Clusters

Arquitecturas reconfigurables
Solución informática entre el hardware puro y el software
Los dispositivos poseen varios bloques funcionales llamados bloques lógicos que se
podrán conectar mediante interconexiones programables
FPGA (Field-Programable Gate Array)
Las interconexiones se ralizan mediante un lenguaje de descripción de hardware como
puede ser el VHDL (VHSIC Hardare Description Languaje) en donde VHSIC es Very High-
Speed Integrated Circuit
Diseñado por la IEEE
Xilinx es fabricante de FPGAs
Poseen módulos simples (operaciones AND, XOR, NOT) hasta funciones
combinacionales
Poseen flip-flops aislados y completos bloques de memoria
Permiten configuraciones de funciones que no existen en un chip comercial
Poseen UCPs, Memoria RAM, Memoria Caché, ADM (Acceso Directo a Memoria por
parte de los periféricos), Gestión de interrupciones y Temporizadores, Motor de
procesamiento SIMD, Puerto Ethernet 802.3, USB, Puertos de E/S de propósito general,
etc.
Usadas inicialmente en telecomunicaciones y redes de datos y luego en la industria
automotriz y de aplicaciones industriales
La arquitectura HPRC (High-Performance Reconfigurable Computing) combina unidades
FPGA con CPUs multi-núcleo (para la implementación de algoritmos muy complejos)

Arquitecturas basadas en servicios


Existen tres conceptos o enfoques que se apoyan en el procesamiento distribuido y la
utilización de redes de datos para acceder a los servicios requeridos por los clientes:
● Arquitectura de Microservicios (MSA – Micro-Services Architecture)
● Arquitecturas Orientadas a Servicios (SOA – Service-Oriented Arhitecture)
● Arquitecturas Basadas en Servicios (SBA – Service-Based Arhitecture)

Arquitectura de Microservicios (MSA)


Una aplicación se puede dividir en varios servicios débilmente acoplados→ Microservicios
Fácilmente mantenibles, reemplazables, escalables
Pueden ser desarrollados en distintos lenguajes
Serán accesibles a través de una capa llamada Interfaz debProgramación de Aplicaciones
(API – Application Program Interface)

Arquitecturas Orientadas a Servicios (SOA)


Encapsula funciones de negocio completas que a su vez pueden ser un conjunto de otras
funciones de negocios que se orquestaron en un solo servicio
Puede verse la presencia de un bus de servicios
Los servicios de las aplicaciones requerirán servicios empresariales y éstos a uno o varios
servicios de negocio

Arquitecturas Basadas en Servicios (SBA)


Solución de compromiso entre ambos enfoques
Concentración de muchos microservicios relacionados en uno solo
Mejora la performance
Disminuye la complejidad de gestionar grandes constelaciones de microservicios
Los servicios pueden tener su sistema de almacenamiento en cada uno de ellos o pueden
ser compartidos a nivel de bases de datos

BUSES
SEÑALES
Variación de una magnitud física a lo largo del tiempo
Pueden ser:
● Tensión eléctrica en Volts [V]
● Corriente eléctrica en Amperes [A]
● Potencia eléctrica en Watts [W]
Señales
● Continuas
● Alternas
● Periódicas: El juego o conjunto de valores se repite en intervalos de tiempo
constante, llamados Períodos; es decir, en un período tenemos todos los valores
que toma la señal y estos se repetirán un período detrás de otro
● Digitales: Pueden tomar un conjunto de valores discretos o limitados
● Analógicas: Pueden tomar infinitos valores

EL CLOCK
El procesador realiza todas sus operaciones en sincronismo con una señal llamada de
reloj o clock
Esta señal es digital rectangular
● Frecuencia f: cantidad de ciclos completos por segundo. Medida en Hertz [Hz]
● Velocidad del procesador: Frecuencia de su clock medida en Gigahertz [GHz] =
1000 millones de Hertz

BUSES
Medio de transporte de señales digitales formado por cables de cobre o pistas de cobre
en una plaqueta (llamada circuito impreso)
Conectan dos o más dispositivos (ej. impresora al pc)
Interconexión de bus
● Se conectan dos o más dispositivos
● Todos los dispositivos reciben la misma información del bus
● Uno a la vez puede transmitir información con éxito
● Está compuesto por múltiples líneas de comunicación
● Está regido por normas o reglas de conexión

CICLO DE UN BUS
Llamaremos ciclo de bus a la operación básica del bus en que se realiza una
transferencia elemental completa de información entre dos dispositivos conectados al bus
● Bus de ciclo completo: La transferencia de información se hace sin interrupciones
● Bus de ciclo partido: El tiempo del bus se divide en pequeños períodos (time slots)
en donde se manda parte de los datos en cada uno de ellos

PARALELISMO, SINCRONIZACIÓN
Paralelismo y Ancho
● Bus paralelo = Se trasmiten más de un dato al mismo tiempo
● Ancho = cantidad de líneas o bits que se transmitan en paralelo (4, 8, 16, etc.)
Sincronización
● Bus sincrónico: Hay una única señal de reloj que regula la transmisión de
información
● Bus asincrónico: Los dispositivos no se guían por una señal de reloj

VELOCIDAD
Bits por segundo (Bps)
● Tiempo que tarda un bit en transmitirse
● Directamente ligada a la velocidad del reloj del bus
Baudio
● Tiempo que tarda en transmitirse una unidad de información
Velocidad del medio = 9600 bps (línea de cobre)
Tiempo en que se trasmite 1 bit = 1/9600 = 104,1 μs
Si la unidad de información es 1 byte → 8 bits = 104,1 x 8 = 833,3 μs

BUSES MULTIPLEXADOS
Por un mismo conjunto de cables se transmiten datos distintos compartiendo el mismo
medio
En un momento el bus transporta el conjunto de datos “A” y en otro conjunto “B” de
distinta especie
8086/8088 = el bus de datos y direcciones comparten los mismos pines o cables
● AD0 a AD15 son Address/Datos
● ALE (Address Latch Enable) se identifica cuándo están las Direcciones o los Datos

CAPACIDAD, APLICACIÓN, FUNCIÓN, SOPORTE


Capacidad de conexión
● Máximo número de dispositivos que pueden conectarse al bus sin dañar al
controlador del bus
Aplicación
● Según su uso: DMA, SATA, AGP, USB, etc.
Función
● Para qué sirven. Bus de Control (Control Bus), Bus de Direcciones (Address Bus)
y Bus de Datos (Data Bus).
Soporte
● Materiales físicos utilizados para soportar y realizar las conexiones físicas: tipo de
circuito impreso, cables utilizados, material para el aislamiento, etc.

VELOCIDAD
Temporización
● Cronograma temporal de un ciclo completo del bus para todas sus operaciones
(lectura, escritura, etc.)
Niveles de especificación
● Nivel mecánico: tipo y cantidad de cables, tipo de conectores, etc.
● Nivel eléctrico: circuito eléctrico equivalente, niveles de tensiones utilizadas, etc.
● Nivel lógico: define la equivalencia lógica de los valores eléctricos como ser 0 Volt
= “0” lógico y +5 Volts = “1” lógico (lógica positiva)

JERARQUÍA DE BUSES
En un computador los periféricos se deben conectar con los buses o “Sistema de
Interconexión” (bus de Datos, de Control y de Direcciones)
Diferentes dispositivos utilizan distintos esquemas de conexión de bus y todos tienen que
poder interconectarse entre sí gracias a un sistema jerárquico de ordenamiento de
conexión

BUSES DEL COMPUTADOR

Bus de Datos (Data bus)


● Mueve los datos entre la UCP, Memoria Principal y Entrada/Salida
● Posee un ancho de 8 ó 16 bits según sea 8088 ó 8086
● respectivamente (Longitud de palabra)

Bus de Direcciones (Address Bus)
● Designa el origen y el destino de los datos presentes en el bus de datos
● Su ancho determina la máxima capacidad de direccionamiento
● Ambos procesadores poseen 20 bits para el bus de direcciones es decir 220
direcciones = 1.048.576 = 1 Mega direcciones
● La MP de esos procesadores tenían una longitud de palabra de 1 byte, su máxima
capacidad de memoria es de 1 Megabyte.
● Procesadores de 32 bits direccionarán 4.294.967.296 posiciones distinta = 4
Gigabytes
Bus de Control (Control Bus)
Utilizado para coordinar y controlar el acceso a los módulos y la transferencia de
información entre ellos
Temporización y el control de validez de las operaciones
Señales más importantes
● !RD (!Read) → = lectura de un dispositivo
● !WR (!Write) → = escritura en un dispositivo
● IO/!M (Input Output/Memory) → = acceso a Entrada/Salida o a Memoria
● INTR (Interrupt Request)  = solicitud de interrupción
● !INTA (Interrupt Acknowledge) → = aceptación de interrupción
● CLK (Clock) → = reloj del sistema
● RESET (Reset)  = reiniciar todos los módulos del sistema
● HOLD (Hold)  = solicitud de buses para transferencias DMA
● HLDA (Hold Acknowledge) → = concesión de buses para transferencias DMA

Bus ISA (Industry Standard Architecture)


Creada por IBM en 1981 para el procesador IBM AT
20 bits de direccionamiento multiplexados
Tensiones de +5V y +– 12V
4 canales de DMA (RAM, Diskette, Disco Rígido y otras)
Soportaba hasta 6 dispositivos de 8 bits
Operaba a 4, 6 u 8 MHz y en “clones” hasta 22 Mhz
Fue el predecesor del bus ATA (Advanced Technology Attachment)
Actualmente se utiliza en equipos industriales.

Bus EISA (Extended ISA)


Creada por varias empresas
Se usó hasta mediados de 1990
Es de 32 bits con la CPU y Memoria y soporta más de un procesador conectado
Soporta tener otros buses ISA como esclavos
Era compatible con placas ISA
Transmisión sincrónica de alta velocidad (33 Mb/seg)

Bus PCI (Peripheral Component Interconnect)


Creado por Intel en 1990 para familia x86
Espacios de direccionamiento
32 bits para Memoria Principal (4 GBytes) – opcional de 64 bits
64 bits para Periféricos (8 GBytes)
256 bytes para configuración de 32 dispositivos
x 1 byte: 5 bits para id + 3 bits para funciones
PCI-X (PCI Express): Extiende a 4096 bytes para configuración x 2 bytes
Cache de datos con ráfagas
Tasa de transferencia máxima de 133 MB/ y 266 MB/s
Diferentes implementaciones de slots y ranuras

Bus SATA (Serial Advanced Technology Attachment)


Conecta Discos Rígidos, Ópticos o de Estado Sólido
Interfaz de bajo costo y excelente performance a través de 4 hilos
Su diseño soporta el intercambio de discos en caliente (hot swapping), sin cortarles la
energía
Soportaba agregar componentes sin desconectar la energía (hot plugging)
Revisiones
● SATA 1.0, 2.0, 3.0, 3.1, 3.2, 3.3
Cada dispositivo se conecta directamente a un controlador SATA no hay “maestros y
esclavos”

Bus USB (Universal Serial Bus)


Creado por IBM, Intel, Northern Telecom, Compaq, Microsoft, DEC y NEC en 1996
Conecta todo tipo de dispositivos electrónicos
No hace falta detener el computador para conectar o desconectar un dispositivo (plug-
and-play)
Dispositivos no usados pasan a “bajo consumo”
Trafico full-duplex, es decir, puede transmitir y recibir simultáneamente
Tipos:
● 1.0, 1.1. 2.0, 3.0, 3.1 y 3.2

ACCESO DIRECTO A MEMORIA (ADM O DMA)


Permite a los periféricos realizar transferencias sobre la memoria sin la intervención de la
CPU
En el momento en que el DMA realiza las transferencias, la CPU se desconecta de los buses y cede
el control → pines pasan a “3er estado”
Procedimiento
● El periférico deberá “pedir los buses” a la CPU (pin HOLD)
● La CPU concede la operación (pin HLDA) una vez terminado el ciclo de bus en
curso
● Recordemos que el ciclo de bus es la operación por la cual se realiza una
transferencia completa de datos entre dispositivos.
● La CPU deja de ser el Master de los buses
Objetivo
● Transferir bloques considerables de datos en modo de ráfaga
● Entre la Memoria Principal y los dispositivos
● De Memoria-a-Memoria
Para poder implementar la técnica de DMA la configuración de los bus debe ser dedicada
(no bus único) que se verá más adelante

DMAC INTEL 8237A (DMA CONTROLLER)


La gestión de los buses para las transferencias por DMA será realizada por un controlador
específico (DMAC – DMA Controller)
El DMAC Intel 8237A posee:
● 4 canales DMA programables (DMA0 a DMA3)
● En 3 modos diferentes
● Cada modo en 3 tipos de transferencias
● Permite prioridades fijas y rotativas
● Es expandible a “n” canales DMA conectando los diversos DMAC’s en cascada.

DMAC INTEL 8237A (DMA CONTROLLER)


Provee el direccionamiento para las transferencias
Modos de transferencias:
● Simple: se realiza una única transferencia mientras se detecta que la CPU no usa
los buses
● En bloques: se realiza la transferencia de un bloque de datos gestionada a través
de un contador interno en el DMAC
● A demanda: Mientras el periférico siga entregando datos, el DMAC seguirá
transmitiéndolos a Memoria Principal.
Priorización de canales
● Fija: El canal 0 es el más prioritario y el 3 el menos prioritario
● Rotativa: El canal atendido pasa a tener la menor prioridad

INTERFAZ DE ENTRADA/SALIDA
Es el intercambio de información entre la CPU y los dispositivos externos también
llamados Periféricos

Un módulo de E/S se encargará de ser la interfaz entre los buses del sistema
(Direcciones, Datos, Control) y los dispositivos periféricos como ser teclado, ratón, placa
de vídeo, placa de red, impresoras, monitores, discos rígidos, etc.

FUNCION

Control y temporización
◼ Coordinando el tráfico de datos entre los recursos internos y los dispositivos
periféricos

Comunicación con la CPU


◼ Reconocer direcciones
◼ Decodificar órdenes
◼ Intercambiar datos
◼ Proveer señalización de estados

Comunicación con los dispositivos


◼ Ídem anterior excepto el reconocimiento de direcciones

Almacenamiento temporal de datos


◼ Adaptando de velocidades de transferencia de información por medio de
amortiguadores o buffers (memoria)
Detección de errores
◼ Informar al procesador los errores ocurridos en el periférico
◼ Uso de códigos Paridad, Hamming, entre otros.

ESTRUCTURA

PUERTOS

Existen una serie de registros que se direccionan desde la UCP para leerlos o escribirlos
según se requiera. A cada uno de estos registros se los denomina Puertos de E/S
◼ Permiten el intercambio de información entre los buses (conectados a la CPU y a la
Memoria Principal) y el módulo de E/S (que a su vez están conectados a los dispositivos
periféricos)

Los componentes de E/S pueden tener 3 clases de puertos: 


● Puerto de CONTROL: La UCP escribe valores que controlan el comportamiento de
componente/dispositivo
● Puerto de ESTADOS: La UCP lee valores que representan la situación en que se
encuentra el dispositivo
● Puerto de DATOS: La UCP lee y escribe valores que hacen al intercambio de
información con el periférico. 

MODALIDADES - E/S PROGRAMADA

Existirá un programa ejecutándose en la UCP que realizará las transferencias entre


periféricos y Memoria Principal 

Una vez elegido un dispositivo, la UCP hará las lecturas/escrituras en los puertos de la
interfaz 

Una vez terminada la operación de E/S, la UCP continuará con su programa principal 

Nótese que la UCP no puede estar haciendo otra cosa mientras espera que el periférico
esté listo y no haya errores posteriores durante la escritura  

Esta mecánica se denomina E/S por encuestas o Polling 


● Este método implementa un sistema de prioridades de atención de dispositivos por
medio de software 
● El periférico deberá esperar que la UCP se fije si necesita atención
● El periférico no podrá interrumpir a la UCP para requerirle atención

Supongamos que una impresora se queda sin hojas, hasta que la UCP no lea el puerto de
estados de la impresora, no mostrará un mensaje en pantalla avisando esta situación 

Para soportar esta modalidad se utiliza un chip del chipset (conjunto de circuitos
integrados diseñados en base en la arquitectura de un procesador que sirven de puente
de comunicación con el resto de componentes de la placa madre como la Memoria
Principal, las placas, las interfaces como la USB, ratón, teclado, etc.) denominado Intel
i8255 (Programmable Peripheral Interface - PPI)

MODALIDADES – E/S POR INTERRUPCIONES

La UCP posee la capacidad de ser interrumpida por un periférico para solicitar su


atención 
Siguiendo el ejemplo de una impresora sin papel, el periférico solicitará una interrupción a
la UCP para que ésta le preste atención, sin esperar a ser interrogado por un software
que ella ejecuta 
En este caso, al atender la interrupción, la UCP leerá el puerto de estados y tomará
conocimiento de la falta de papel colocando el mensaje en pantalla correspondiente

Este método hace uso más eficiente del tiempo de UCP ya que si ningún periférico
requiere atención, la UCP nunca los interrogará (correrá el software que lo haga) 

La atención priorizada de interrupciones será soportada por otro chip del chipset
denominado Intel 82C59A (Programable Interrupt Controller – PIC) 

MODALIDADES – E/S POR ADM 

Tal como vimos en el módulo anterior, la UCP podrá conceder los buses al controlador de
DMA (DMAC) y éste gestionará las transferencias Memoria-E/S o Memoria-Memoria sin
intervención de la CPU haciendo el sistema muchísimo más eficiente

ARBITRAJE DE LOS BUSES

Es determinar quién será el “Bus Master” que controle los buses

Este arbitraje permite la implementación de interrupciones vectorizadas


● Una vez que un dispositivo gana el control por sobre los restantes que pujaron por
él, le hará una solicitud de atención a la UCP
● La UCP reconocerá el pedido y en ese momento el dispositivo colocará en el bus
de datos un vector de reconocimiento o identidad del requirente (en nuestro caso 8
bits = 256 dispositivos distintos). Así se identifica al requirente.

Existirán 2 esquemas de arbitraje de los buses


● Centralizado: a través de una E/S Programada
● Descentralizado: a través de Interrupciones

Existen dos tipos de direccionamientos de entrada salida


● Bus Único (Mapeada a memoria)
● Bus Dedicado (Mapeo Aislado)

E/S MAPEADA A MEMORIA

No se realiza ninguna distinción entre las direcciones de Memoria Principal y la de los


puertos de los dispositivos de E/S

Ambos rangos de direcciones están unidos como si se trataran todas de posiciones de


memoria

Las direcciones de E/S y Memoria Principal comparten el mismo espacio de


direccionamiento, algunas serán para MP y otras para E/S
Las instrucciones de E/S no se distinguen formalmente de las transferencias de
información de la MP

También se conoce esta modalidad como de Bus Único


VENTAJA 
● Simplifica la estructura y el repertorio de instrucciones. No se diferencian las
instrucciones de E/S con la de movimiento de datos a Memoria Principal. 

DESVENTAJA
● No permiten transferencias simultáneas UCP-MP y UCP-E/S. No permite la
implementación de Acceso Directo a Memoria (ADM) por parte de los periféricos.

E/S POR MAPEO AISLADO

El procesador tiene un espacio de direcciones separado para la Memoria Principal y otro


para los dispositivos de E/S

En el 8086 son 20 bits para MP y 16 bits para E/S

El procesador tiene instrucciones dedicadas para operaciones de E/S, distintas a las de


acceso a MP

Permite utilizar la técnica de acceso directo a memoria ADM. A esta modalidad se la


conoce como de Bus Dedicado.

Para poder gestionar 2 espacios de direcciones separados, la UCP tiene un pin más
llamado IO/!M. Si esta señal de salida está en “0” indica que la UCP desea acceder a la
MP y que la dirección que está en sus pines A0 a A19 (20 bits) refiere a una
posición en memoria RAM

En cambio si desea direccionar un módulo de E/S, la señal IO/!M será colocada en “1”
indicando que en los pines A0 a A15 (16 bits) se presenta una dirección de un puerto de
E/S.

También podría gustarte