Sei sulla pagina 1di 232

Introducción

● Arquitectura
– Atributos de un sistema visibles para un
programador
– Conjunto de instrucciones, bits de
representación de datos, mecanismos de E/S,
direccionamiento de memoria
● Organización
– Interconexión entre unidades funcionales
– Señales de control, interfaces computador /
periféricos, tipo de memoria
Estructura y funcionamiento
● Un computador es un sistema complejo
● De naturaleza jerárquica
● Posee subsistemas interrelacionados
● Necesitamos entender
– Estructura
– Funcionamiento
Funcionamiento
● Procesamiento de datos
● Almacenamiento de datos
● Transferencia de datos
● Control
Procesamiento de datos
● El computador debe ser capaz de procesar
datos
● Los datos pueden adoptar diferentes formas
Almacenamiento de datos
● Es una función esencial
● Existen dos tipos de almacenaimentos:
– A corto plazo – Memoria temporal
– A largo plazo – Memoria en ficheros
Tansferencia de datos
● El computador debe ser capaz de transferir
datos entre él y el mundo exterior
● Con dispositivos conectados directamente al
computador
– Entrada – Salida
● Con dispositivos remotos
– Comunicación de datos
Control
● Hecha por la unidad de control
● Gestiona y controla
– Procesamiento
– Almacenamiento
– Transferencia
Estructura
● Existen 4 componentes estructurales
– Unidad central de proceso
● Procesamiento de datos
– Memoria central
● Almacena datos
– E/S
● Transfiere datos
– Sistemas de interconexión
● Comunica la CPU, la memoria y la E/S
Arquitectura de von Neumann
● Los datos y las instrucciones se almacenan en
una sola memoria de lectura-escritura
● El contenido de la memoria se direccionan
indicando su posición, sin importar el tipo de
contenido
● La ejecución se produce siguiendo una
secuencia de instrucción tras instrucción
Componentes del computador
● Conjunto pequeño de componentes lógicos
● Se pueden combinar de formas diferentes
permitiendo almacenar datos binarios
● Para cálculos concretos, se usa un hardware
de componentes lógicos diseñado
específicamente para dicho cálculo
● El hardware acepta datos y produce resultados
● Hardwired program
Componentes del computador
● Hardware con funciones lógicas y aritméticas
de uso general
● El hardware realiza funciones distintas según
las señales de control aplicadas
● El hardware acepta datos y señales de control,
y produce resultados
● No se necesita reconfigurar el hardware para
cada nuevo programa
● Simplemente se proporciona un nuevo conjunto
de señales de control
Componentes del computador
● Como se suministran las señales de control
– Un programa es una secuencia de pasos
– En cada paso se realiza una operación
aritmética o lógica con ciertos datos
– Para cada paso se necesita un nuevo conjunto
de señales de control
– Se asocia un código específico a cada conjunto
de señales de control
– Se añade al hardware un componente para
generar señales de control a partir del código
Componentes del computador
● En lugar de reconfigurar el hardware para cada
programa
● Se proporciona una nueva secuencia de
códigos
● Cada código es una instrucción
● Una parte del hardware interpreta cada
instrucción y genera las señales de control
● La secuencia de instrucciones es conocida
como software
Componentes del computador
● Existen dos componentes esenciales
– Intérprete de instrucciones
– Módulo general de funciones aritméticas y
lógicas
● Ambos constituyen la CPU
● Además encontramos los componentes de E/S
– Responsables de introducir instrucciones y
proporcionar resultados
Componentes del computador
● Otro componente importante es la memoria
● De ella se extraen los datos y las instrucciones
● La arquitectura de Von Neumann establece que
la memoria puede ser usada para instrucciones
y datos
Componentes del computador
● La CPU se encarga del control
● Intercambia datos con la memoria
● Usa registros internos
– Registro de dirección de memoria (MAR)
● Dirección en memoria de la próxima escritura o
lectura
– Registro para datos de memoria (MBR)
● Contiene el dato a escribir en memoria o donde
se escribe el dato cuando se lee de la memoria
Componentes del computador
● Registros internos (continúa)
– Registro de direcciones de E/S (E/SAR)
● Especifica un dispositivo de E/S
– Registro para datos de E/S (E/S BR)
● Se usa para intercambiar datos entre un módulo
de E/S y la CPU
– Contador de programa (PC)
● Dirección de memoria de la siguiente instrucción
– Registro de instrucción (IR)
● Siguiente instrucción a ejecutar
Funcionamiento del
computador
● La función de un computador es la ejecución de
un programa
● Un programa está constituido por un conjunto
de instrucciones en memoria
● El procesador ejecuta instrucciones
especificadas en el programa
● Consta de dos etapas
– Captar la instrucción
– Ejecutar la instrucción
Ciclos de captación y ejecución
● Al inicio de cada ciclo de instrucción, la CPU
capta una instrucción de memoria
● Se utiliza un registro llamado Contador de
programa (PC)
● El registro PC permite saber donde está la
instrucción que debe captarse
● A no se que se indique otra cosa, la CPU
siempre incrementa el PC
● Se captará la siguiente instrucción de la
secuencia
Ciclos de captación y ejecución
● La instrucción captada se almacena en otro
registro de la CPU llamado Registro de
instrucción (IR)
● La instrucción se escribe usando un código
binario que indica la acción a realizar a la CPU
● La acción generalmente puede ser de cuatro
tipos:
– Procesador – Memoria
– Procesador – E/S
– Procesamiento de datos
– Control
Ciclos de captación y ejecución
● Ejemplo de máquina hipotética
– Procesador con único registro de datos (AC)
– Los datos e instrucciones son de 16 bits
– La memoria está organizada en palabras
– Pueden haber 24 = 16 operaciones distintas
– Se puede direccionar 216 = 4096 palabras
Ciclos de captación y ejecución
Ciclos de captación y ejecución
● El ejemplo necesita tres ciclos de instrucción
● Cada uno con un ciclo de captación y uno de
ejecución
● Con instrucciones mas complejas se
necesitarían menos ciclos
● Los procesadores actuales incluyen
instrucciones que contienen mas de una
dirección
● Entonces el ciclo de ejecución de una
instrucción incluye más de una referencia a
memoria
Ciclos de captación y ejecución
● Los distintos estados en el ciclo de instrucción
básico son:
– Cálculo de la dirección de la instrucción (iac)
– Captación de la instrucción (if)
– Decodificación de la operación (iod)
– Cálculo de la dirección del operando (oac)
– Captación del operando (of)
– Operación con los datos (do)
– Almacenamiento del operando (os)
Ciclos de captación y ejecución
Interrupciones
● Todos los computadores disponens de un
mecanismo para interrumpir a la CPU
● Algunas clases de interrupciones mas comunes
son:
– Programa
– Temporización
– E/S
– Hardware
Sin interrupciones
Con interrupciones
● Con interrupciones, la CPU puede ejecutar
otras instrucciones mientras se lleva a cabo
una operación de E/S
Interrupciones y el ciclo de
instrucción
● Se añade el ciclo de interrupción al ciclo de
instrucción
● En una interrupción, el procesador comprueba
si se ha generado alguna interrupción mediante
la presencia de una señalo de interrupción
Interrupciones y el ciclo de
instrucción
Interrupciones múltiples
● Hasta ahora vimos casos de una sola
interrupción
● Casos reales involucran interrupciones
provenientes de varios dispositivos
● Existen dos alternativas:
– Desactivar las interrupciones
– Usar prioridades para las interrupciones
Desactivar interrupciones
● El procesador ignora las peticiones de
interrupciones
● Las interrupciones generadas se mantienen
pendientes
● Serán examinadas por el procesador cuando
se activen las interrupciones nuevamente
● No se tiene en cuenta las solicitudes prioritarias
● Ej., placa de red
Prioridades en las
interrupciones
● Interrupciones de mayor prioridad interrumpen
la gestión de prioridades de menor prioridad
● Permite atender situaciones de mayor criticidad
Prioridades en las
interrupciones
Funcionamiento de las E/S
● Un módulo de E/S (por ejemplo, un controlador
de disco) puede intercambiar datos
directamente con el procesador
● El procesador puede leer o escribir datos en
memoria como también en un módulo de E/S
● A veces el procesador cede a un módulo de
E/S la autoridad de leer o escribir en memoria
● Esta transferencia E/S – memoria se produce
sin intervención del procesador
● Esta operación se conoce como DMA (Acceso
Directo a Memoria
Estructuras de interconexión
● Existen módulos de tres tipos elementales que
se comunican entre sí
– Procesador
– Memoria
– E/S
● El conjunto de líneas que conectan los módulos
se denomina estructura de interconexión
Memoria
● Constituido por N palabras del mismo tamaño
● Cada palabra tiene una única dirección
numérica
● Una palabra puede leerse o escribirse
● El tipo de operación se indica mediente las
señales Read (leer) y Write (escribir)
● La posición de memoria para la operación se
especifica por una dirección
Memoria
Módulo de E/S
● Funcionalmente muy similar a la memoria
● Existen dos tipos: leer y escribir
● Un módulo puede controlar mas de un
dispositivo externo
● Cada interfaz hacia un dispositivo se denomina
puerto
● Cada puerto tiene una dirección
● Existen líneas externas de datos para entrada y
salida de datos por un dispositivo externo
● Un módulo de E/S puede interrumpir al CPU
Módulo de E/S
Procesador
● El procesador lee instrucciones y datos
● Escribe datos una vez procesados
● Usa señales para controlar el funcionamiento
del sistema
● Puede recibir señales de interrupción
Procesador
Tipos de transferencias
● Memoria a procesador
● Procesador a memoria
● E/S a procesador
● Procesador a E/S
● Memoria a E/S
● E/S a memoria
– DMA
Estructuras de interconexión
● Se han probado diversas estructuras de
interconexión
● Las más comunes son las estructuras de bus y
de buses múltiples
Interconexión con buses
● Un bus es un camino de comunicación entre
dos o más dispositivos
● Es un medio de transmisión compartido por
varios dispositivos
● Cualquier señal transmitida por uno es
escuchada por los demás
● Si dos dispositivos transmiten al mismo tiempo,
sus señas se solapan y distorsionan
● Solo un dispositivo puede transmitir con éxito
en un momento dado
Interconexión con buses
● Usualmente un bus está constituido por varios
caminos de comunicación o líneas
● Cada línea es capaz de transmitir señales
binarias
● En un intervalo se puede transmitir una
secuencia de dígitos binarios por una única
línea
● Se pueden usar varias líneas del bus para
transmitir dígitos binarios simultáneamente
Interconexión con buses
● Los computadores poseen distintos tipos de
buses
● Proporcionan comunicación entre sus
componentes
● El bus que conecta los componentes
principales del computador (procesador,
memoria y E/S) se llama bus del sistema
Estructura del bus
● Está constituído usualmente por entre 50 y 100
líneas
● A cada línea se le asigna una función
● Existen diversos diseños de buses
● Básicamente se clasifican en tres grupos
funcionales
– Líneas de datos
– Líneas de direcciones
– Líneas de control
Líneas de datos
● Proporcionan un camino para transmitir datos
entre los módulos del sistema
● El conjunto de estas líneas se denomina bus
de datos
● Generalmente consta de 8, 16 o 32 líneas
distintas
● Este número es el ancho del bus
● Cada línea solo puede transportar un solo bit
cada vez
Líneas de datos
● El número de líneas determina cuantos bits
pueden transferirse al mismo tiempo
● El ancho del bus es clave en las prestaciones
generales del sistema
Líneas de dirección
● Se usan para designar la fuente o el destino del
dato situado en el bus de datos
● Si el procesador desea leer una palabra (8, 16
o 32 bits) de datos de la memoria, indica su
dirección colocándola en el bus de dirección
● El ancho del bus de direcciones determina la
cantidad de memoria posible en el sistema
● Un bus de 32 bits permite 4 GB de memoria
Líneas de dirección
● También se usan para direccionar los puertos
de E/S
● Los bits de orden alto se usan para seleccionar
una posición de memoria o un puerto de E/S
dentro de un módulo
● Ejemplo para un bus de 8 bits:
● 01111111 e inferiores referencian posiciones
dentro de un módulo de memoria. 128 palabras
● 10000000 referencian dispositivos conectados a
un módulo de E/S
Líneas de control
● Las líneas de datos y de direcciones son
compartidas por todos los componentes
● El bus de control es el responsable de controlar
el uso de las líneas de datos y de dirección
● Las señales de control transmiten órdenes e
información de temporización entre los módulos
● Las señales de temporización indican la validez
de los datos y las direcciones
● Las señales de órdenes especifican las
operaciones a realizar
Líneas de control
● Algunas líneas de control típicas son:
– Escritura en memoria
– Lectura de memoria
– Escritura de E/S
– Lectura de E/S
– Reconocimiento de transferencia
– Petición de bus
– Cesión de bus
– Petición de interrupción
– Reconocimiento de interrupción
● Si un módulo desea enviar un datos a otro:
– Obtiene el uso del bus
– Transfiere el dato a través del bus
● Si un módulo desea pedir un dato a otro:
– Obtiene el uso del bus
– Transfiere la petición al otro módulo mediante la
línea de control y dirección apropiadas
– Luego espera a que el otro módulo envíe el
dato
● El bus del sistema es un conjunto de
conductores eléctricos paralelos
● El bus se extiende a través de todos los
componentes del sistema
● Cada componente se conecta a algunas o a
todas las líneas del bus
Jerarquía de buses
● Si se conecta un gran número de
dispositivos al bus, las prestaciones
disminuyen
– Aumenta el retardo
– El bus se convierte en el cuello de botella
● Se usan varios organizados jerárquicamente
Jerarquía de buses
● Una estructura típica se muestra en la
siguiente figura
● Hay un bus local que conecta el procesasor
a una memoria caché
● El controlador de memoria caché conecta la
caché al bus local y al bus del sistema
● El uso de caché evita los accesos frecuentes
del procesador a la memoria principal
Jerarquía de buses
● Es posible conectar controladores de E/S
directamente al bus del sistema
● Para ello se usan uno o más buses de
expansión
● Una interfaz con el bus de expansión regula
las transferencias entre el bus de sistema y
los controladores conectados al bus de
expansión
● Esto permite conectar el sistema una amplia
variedad de dispositivos de E/S y aislar el
tráfico entre la memoria y el procesador
Jerarquía de buses
● Esta arquitectura de buses tradicional es
eficiente
● Su debilidad queda expuesta a medida que
los dispositivos de E/S ofrecen prestaciones
cada vez mejores
● La industria propone un bus de alta
velocidad integrado con el resto del sistema
● Requiere un adaptador (bridge) entre el bus
del procesador y el bus de alta velocidad
Jerarquía de buses
● Un bus local que conecta el procesador a un
controlador de caché, que a su vez está
conectado al bus del sistema que soporta a
la memoria principal
● El controlador de caché está integrado al
bridge que permite la conexión al bus de alta
velocidad
● Los dispositivos de menor capacidad se
conectan al bus de expansión
Elementos de diseño de un bus
● Tipos de buses
– Dedicados – multiplexados
● Método de arbitraje
– Centralizado – distribuido
● Temporización
– Síncrono – asíncrono
● Anchura del bus
– Dirección – datos
● Tipos de transferencia de datos
– Lectura – escritura - etc.
Tipos de buses
● Dedicados:
– Permanentemente dedicado a una sola
función
– Requiere múltiples buses
– Rendimiento elevado
– Incremento en el tamaño y costo del sistema
Tipos de buses
● Multiplexados:
– Designados para varias funciones
– Datos y direcciones se transmiten por el
mismo conjunto de líneas
– Rendimiento pobre y complejidad en la
circuitería
– Económico
Método de arbitraje
● Centralizado:
– Un único dispositivo asigna tiempos de bus
– Denominado controlador del bus
– El controlador puede estar separado o en el
mismo procesador
Método de arbitraje
● Distribuido:
– No existe controlador central
– Cada módulo contiene lógica para controlar
el acceso
– Los módulos actúan conjuntamente para
compartir el bus
Temporización
● Dos participantes no pueden acceder al
mismo tiempo
● Los participantes tiene 2 roles posibles
– Master: iniciador de la transferencia
– Slave: receptor de la transferencia
● El tema es como se ponen de acuerdo
ambos para realizar una transferencia
Temporización síncrona
● Determinada por un reloj
● El bus incluye una línea de reloj que todos
los módulos pueden leer
● En la línea se transmite una secuencia
● Se alternan intervalos regulares de igual
duración a uno y a cero
● Un único intervalo a uno seguido de otro a
cero se conoce como ciclo de reloj
● Define un Time slot
Temporización síncrona
● En T1:Master: coloca dirección en el bus de
direcciones y levanta la señal de Address
Enable
● En T2:Master: baja la señal de Address
Enable y levanta la señal de Read
● En T3:Slave: coloca dato en el bus de datos
y Master: baja la señal de Read
● Al finalizar T3: ambos retiran todas las
señales
Temporización asíncrona
Temporización asíncrona
1.Master ADDRESS:=dir
2.Master MREQ=0, RD=0
3.Master MSYN=0
4.Slave reconoce MSYN=0. Slave sabe que
Master le pide que lea la dirección dir ya que
lee MREQ, RD y DATA
Temporización asíncrona
1.Slave DATA=dato pedido
2.Slave SSYN=0
3.Master reconoce SSYN=0. Ahora Master
sabe que Slave ya atendió el pedido y colocó
el dato en DATA
4.Master lee DATA
5.Master retira ADDRESS, MREQ, RD y
MSYN
Temporización asíncrona
1.Slave reconoce MSYN=1. Ahora Slave sabe
que Master ya leyó el dato
2.Slave retira DATA y SSYN
Anchura del bus
● El ancho del bus de datos afecta las
prestaciones del sistema
● Cuanto mas ancho es el bus de datos, mayor
es el número de bits que se transmiten a la
vez
● El ancho del bus de direcciones afecta a la
capacidad del sistema
● Cuanto mas ancho es el bus de direcciones,
mayor es el rango de posiciones refenciables
Tipos de transferencia de datos
● Todos los buses permiten lectura y escritura
● En buses multiplexados, el bus se usa
primero para indicar la dirección y luego para
transferir el dato
● En líneas dedicadas, la dirección se sitúa en
el bus de direcciones y se mantiene ahí,
mientras que el dato se ubica en el bus de
datos
PCI
● Interconexión de Componentes Periféricos
● Es un bus muy popular
● Ancho de banda elevado
● Independiente del procesador
● Usado como bus de entre planta
● Presenta buenas prestaciones para
dispositivos E/S de alta velocidad
PCI
● Permite el uso de hasta 64 líneas de datos
● Puede funcionar a 66 Mhz
● Transferencias:
– 33 Mhz 528 Mbytes
– 66 Mhz 4 Gbps
● Muy económico
● Diseñado por Intel para sus sistemas
basados en Pentium
PCI
● Permite sistemas de uno o varios
procesadores
● Proporciona funciones de uso general
● Usa temporización síncrona y arbitraje
centralizado
● En la figura siguiente se muestra el uso de
PCI en un sistema uniprocesador
PCI
● Un dispositivo que integra el controlador
DRAM y el adaptador al bus PCI proporciona
el acoplamiento al procesador
● El adaptador funciona como buffer puesto
que la velocidad del bus PCI puede diferir de
la capacidad de E/S del procesador
● En la siguiente figura se observa una
configuración multiprocesador
Estructura del bus
● Puede configurarse como un bus de 32 o 64
bits
● Posee 49 líneas de señal obligatorias
divididas en estos grupos funcionales:
– Terminales de sistema
– Terminales de direcciones y datos
– Terminales de control de la interfaz
– Terminales de arbitraje
– Terminales para señales de error
Estructura del bus
● Posee 51 señales opcionales agrupadas:
– Terminales de interrupción
– Terminales de soporte de caché
– Terminales de ampliación a bus de 64 bits
– Terminales de test
Sistemas de memoria
● Hay una amplia variedad de tipos,
tecnología, estructura, prestaciones y coste
● Ninguna tecnología es óptima
● Un computador está equipado con una
jerarquía de memorias
● Internas
– Directamente accesibles por el procesador
● Externas
– Accesibles por el procesador mediante
módulos de E/S
Clasificación de memorias
● Ubicación (CPU, Interna (principal), Externa
(secundaria))
● Capacidad (Tamaño y número de palabras)
● Unidad de transferencia (palabra, bloque)
● Acceso (secuencial, directo, aleatorio,
asociativo)
● Prestaciones (tiempo de acceso, tiempo de
ciclo, velocidad de transferencia)
Clasificación de memorias
(continuación)
● Dispositivo físico (semiconductor,
magnético, óptico, magneto-óptico)
● Características físicas (volátil, no volátil,
borrable, no borrable)
● Organización
Clasificación de memorias.
Ubicación
● Interna
– Directamente accesible por el procesador
– Normalmente identificada con la memoria
principal
– Existen otras formas de memoria interna
● Registros del procesador
● Memoria de la unidad de control
● Externa
– Accesibles a través de controladores de E/S
Clasificación de memorias.
Capacidad
● En memorias internas se expresan en
términos de bytes o de palabras
● Longitudes de palabras comunes con 8, 16 y
32 bits
● En memorias externas se suele expresar en
bytes
Clasificación de memorias.
Unidad de transferencia
● Para memorias internas es igual al número
de líneas de E/S de datos del módulo de
memoria
● A menudo es igual a la longitud de la
palabra, pero puede no serlo
● Palabra
– Unidad natural de organización de la
memoria
– Suele coincidir con el número de bits
utilizados para representar números y con
la longitud de las instrucciones
Clasificación de memorias.
Unidad de transferencia
● Unidades direccionables
– En muchos sistemas la unidad direccionable
es la palabray otros permiten direccionar a
nivel de bytes
● Unidad de transferencia:
– Para la memoria principal, es el número de
bits que se leen o escriben en memoria a
la vez
– Puede no coincidir con una palabra o unidad
direccionable
– En memorias externas se utilizan bloques
Clasificación de memorias.
Método de acceso
● Secuencial:
– Organizada en unidades de datos llamadas
registros
– El acceso se realiza con una secuencia
lineal específica
– Se hace uso de información almacenada de
direccionamiento que permite separar
registros
– Los tiempos de acceso son lentos
Clasificación de memorias.
Método de acceso
● Directo:
– Tiene un mecanismo de lectura/escritura
– Los bloques individuales o registros tienen
una dirección única basada en su dirección
física
– Se accede mediante el acceso directo a una
vecindad, seguido de una búsqueda
secuencial, contando o esperando hasta
alcanzar la posición deseada
– El tiempo de acceso es variable
Clasificación de memorias.
Método de acceso
● Aleatorio:
– Cada posición direccionable de memoria
tiene un único mecanismo de acceso
cableado físicamente
– El tiempo para acceder es constante e
independiente de los accesos previos
– La memoria principal y algunas cachés son
de acceso aleatorio
Clasificación de memorias.
Método de acceso
● Asociativa:
– Es una memoria del tipo de acceso aleatorio
– El acceso está basado en una porción de su
contenido, en lugar de su dirección
– Tiempos de acceso constante e
independiente de accesos anteriores
– Las memorias cachés usan acceso
asociativo
Clasificación de memorias.
Prestaciones
● Tiempo de acceso:
– En memorias de acceso aleatorio, es el
tiempo que tarda una operación de lectura
o escritura
– Otros tipos de memoria, es el tiempo que
tarda en situar el mecanismo de
lectura/escritura en la posicición deseada
Clasificación de memorias.
Prestaciones
● Tiempo de ciclo de memoria:
– Se aplica principalmente a memorias de
acceso aleatorio
– Consiste en el tiempo de acceso y algún
tiempo más que se requiere antes de que
pueda iniciarse un segundo acceso a
memoria
Clasificación de memorias.
Prestaciones
● Velocidad de transferencia:
– Es la velocidad a la que pueden transferir
datos a, o desde, una unidad de memoria
Clasificación de memorias.
Dispositivos físicos
● Las mas comunes en la actualidad son
memorias:
– Semiconductoras
– De superficie magnética
– Ópticas
– Magneto-ópticas
Clasificación de memorias.
Características físicas
● En memorias volátiles la información se
pierde cuando se desconecta la alimentación
● En memorias no volátiles, la información,
una vez grabada, permanece sin
deteriorarse hasta que se la modifique
● Las memorias de superficie magnéticas son
no volátiles
● Las semiconductoras pueden ser de ambos
tipos (RAM, ROM)
Jerarquía de memoria
● El diseño de la memoria se pueden resumir
en tres cuestiones:
– Capacidad
– Rapidez
– Costo
Jerarquía de memoria
● Normalmente se busca cumplir las siguientes
relaciones:
– A menor tiempo de acceso, mayor costo por
bit
– A mayor capacidad, menor costo por bit
– A mayor capacidad, mayor tiempo de acceso
Jerarquía de memoria
● Debido a que es tecnológicamente imposible
lograr todos estos objetivos juntos, se
emplea una jerarquía de memoria
Jerarquía de memoria
● Cuando se desciende en la jerarquía ocurre:
– Disminuye el coste por bit
– Aumenta la capacidad
– Aumenta el tiempo de acceso
– Disminuye la frecuencia de accesos a la
memoria por parte del procesador
Jerarquía de memoria
● Memorias mas pequeñas, costosas y más
rápidas se complementan con otras más
grandes, más económicas y más lentas
Tipos de memoria de acceso
aleatorio
● RAM – Random Access Memory
– Volátil y debe estar alimentada
– Dinámica
● Hechas con celdas que almacenan datos
como cargas en condensadores. La
presencia o ausencia de carga se interpreta
como un 1 o un 0
● Económicas y más densas. Requieren
circuitería de refresco
– Estáticas
● Los valores se almacenan utilizando puertas
que forman biestables (flip-flops). Más
rápidas que las dinámicas.
Tipos de memoria de acceso
aleatorio
● ROM – Read Only Memory
– No volátil
– Solo para lecturas. No se pueden escribir
– No se puede borrar el contenido
– Se escriben utilizando matrices o máscaras
– Si hay error en la escritura, se deben
desechar los módulos
Tipos de memoria de acceso
aleatorio
● PROM – Programable Read Only Memory
– No volátil
– Se escriben eléctricamente
– Se pueden grabar solo una vez
– Solo para lecturas
– Una vez grabada no se puede borrar
Tipos de memoria de acceso
aleatorio
● Otra variente de memoria de sólo lectura es
la memoria de sobre todo lectura
● Es útil cuando las operaciones de lectura son
bastante mas frecuentes que las de escritura
y el almacenamiento no volátil
● Hay tres formas de este tipo de memoria:
– EPROM
– EEPROM
– FLASH
Tipos de memoria de acceso
aleatorio
● EPROM
– Memoria de sólo lectura programable y
borrable ópticamente
– Se lee y escribe eléctricamente
– Antes de la operación de escritura, todas las
celdas deben primero borrarse a la vez por
luz ultravioleta
– Pueden borrarse repetidas veces
– Mas costosas que una PROM
Tipos de memoria de acceso
aleatorio
● EEPROM
– Memoria de sólo lectura programable y
borrable eléctricamente
– Se puede escribir en cualquier momento sin
borrar su contenido anterior
– Se actualizan el byte o bytes direccionados
– Es actualizable in situ, utilizando las líneas
de control, datos y direcciones de un bus
– Mas costosas que las EPROM y menos
densas
Tipos de memoria de acceso
aleatorio
● FLASH
– Llamadas así por la velocidad con la que
puede reprogramarse
– En costo y funcionalidad, se encuentran
entre las EPROM y las EEPROM
– Borradas eléctricamente en unos cuantos
segundos totalmente o bloques
Organización
● El elemento básico de una memoria
semiconductora es la celda de memoria
● Presentan dos estados estables (o
semiestables) para representar el 1 o el 0
● Puede escribirse en ellas (al menos una vez)
para fijar su contenido
● Pueden leerse para detectar su estado
Organización
Organización
● Las celdas contienen tres terminales para
transportar señales eléctricas
● Terminal de selección, selecciona la celda
para la operación de escritura o lectura
● Terminal de control, indica el tipo de
operación
● Para la escritura, el tercer terminal
proporciona la señal que fija el estado
● En una lectura, el tercer terminal se utiliza
como salida del estado de la celda
Memoria caché
● El objetivo es lograr que la velocidad de
memoria sea lo más rápida posible
Memoria caché
● Hay una memoria principal relativamente
grande y mas lenta
● Junto con una memoria caché más pequeña
y rápida
● La memoria caché contiene una copia de
partes de la memoria principal
● Cuando el procesador intenta leer una
palabra de memoria se determina si la
palabra está en la cache
Memoria caché
● Si es así, se entrega dicha palabra al
procesador
● Si no, un bloque de memoria principal,
consistente en cierto número de palabras se
transfiere a la caché y después al
procesador
● Cuando un bloque de datos es captado en
caché, es probable que se hagan referencias
futuras a otras palabras del mismo bloque
Estructura de memoria caché
n

La memoria principal consta de hasta 2
palabras direccionables. Cada palabra
contiene una única dirección de n bits
● Esta memoria la consideramos dividida en
un número de bloques de longitud fija de K
palabras por bloque. M = 2n/K bloques
● La caché consta de C líneas de K palabras
cada una
● El número de líneas es menor que el número
de bloques (C<M)
Estructura de memoria caché
● En todo momento, un subconjunto de los
bloques de memoria reside en líneas de la
caché
● Ya que hay mas bloques que líneas, una
línea no puede dedicarse exclusivamente a
un solo bloque
● Cada línea incluye una etiqueta con el
bloque almacenado
Lectura en memoria caché
● Procesador genera dirección de palabra a
leer
● Si la palabra está en caché, es entregada al
procesador
● Si no, el bloque que contiene dicha palabra
se carga en caché y la palabra es llevada
después al procesador
● Estas dos últimas operaciones se realizan en
paralelo (figura)
Organización típica de caché
● La caché conecta con el procesador
mediante líneas de datos, control y
direcciones
● Las líneas de datos y direcciones conectan
también con buffers de datos y direcciones
que las comunican con el bus del sistema
para acceso a memoria principal
● Cuando ocurre un acierto, los buffers de
datos y direcciones se inhabilitan
Organización típica de caché
● Con un acierto la comunicación tiene lugar
solo entre procesador y caché, sin tráfico en
el bus del sistema
● Con un fallo, la dirección se carga en el bus
del sistema y el dato es llevado, a través del
buffer de datos, tanto a la caché como el
procesador
Discos magnéticos
● Plato circular de metal o plástico
● Cubierto por material magnetizable
● Los datos se graban y se leen a través de
una bobina llamada cabeza
● Durante una operación de lectura o escritura,
la cabeza permanece fija mientras el plato
gira bajo ella
Discos magnéticos
● La escritura se basa en el campo magnético
producido por un flujo eléctrico que atraviesa
la bobina
● Se envían pulsos a la cabeza y se graban
patrones magnéticos en la superficie bajo
ella
● La lectura se basa en la corriente eléctrica
que atraviesa la bobina, producida por un
campo magnético que se mueve respecto a
la bobina
Organización y formato
● Los datos se organizan en anillos
concéntricos llamados pistas
● Cada pista es del mismo ancho que la
cabeza
● Usualmente hay de 500 a 2000 pistas
● Las pistas adyacentes se separan por
bandas vacías para minimizar errores por
interferencias
Organización y formato
● Por simplicidad se almacenan la misma
cantidad de bits por pista
● Esto hace que aumente la densidad en las
pistas mas internas
● Los datos se transfieren en bloques
● Los datos se almacenan en regiones de
tamaño de un bloque llamadas sectores
● Normalmente hay entre 10 y 100 sectores
por pista
Organización y formato
● Los sectores pueden ser de longitud variable
o fija
● Los sectores adyacentes se separan por
espacios vacíos llamados intersectores
● Para identificar las posiciones de los
sectores se graba datos de control en el
disco
● El dato de control es usado solo por el
controlador del disco
Organización y Formato
● En la siguiente figura se observa el formato
de las pistas de un disco Winchester
● Cada pista contiene 30 sectores de longitud
fija de 600 bytes cada uno
● Cada sector contiene 512 bytes de datos
mas información de control para el
controlador del disco
● El campo ID es un identificador único usado
para localizar un sector
Organización y Formato
● El byte SINCRO es un patrón de bits
especial que delimita el comienzo del campo
● El número de pista identifica una pista en
una superficie
● El número de cabeza identifica una cabeza,
para el caso de unidades con varias cabezas
● El ID y los campos de datos contienen, cada
uno, un código de detección de errores
Características físicas
● Desplazamiento de cabezas
– Cabeza fija (una por pista)
– Cabeza móvil (una por superficie)
● Transportabilidad de disco
– Fijo
– Extraíble
● Superficies
– Única
– Doble
Características físicas
● Platos
– Único
– Múltiples
● Mecanismo de la cabeza
– Contacto (disquete)
– Separación fija
– Separación aerodinámica (Winchester)
Características físicas
● Cabeza fija: una cabeza de lectura/escritura
por pista
● Cabeza móvil: una sola cabeza de
lectura/escritura
Características físicas
● No extraíble: permanentemente montado en
la unidad de disco
● Extraíble: puede ser quitado y sustituido por
otro disco
Características físicas
● Doble superficie: magnetizado en ambas
caras
● Una sola superfice: magnetizado en una sola
cara (discos económicos)
Características físicas
● Varios platos:
apilados
verticalmente.
Disponen de varios
brazos
Características físicas
● Varios platos: el
conjunto de las
mismas pistas en
cada uno de los
platos conforman un
cilindro
Características físicas
● Contacto: la cabeza efectúa un contacto
físico en el medio durante la lectura o
escritura
● Separación fija: la cabeza se posiciona a una
distancia fija sobre el plato
● Separación aerodinámica: importante la
densidad de datos y el espesor de la capa de
aire
Características físicas
● La cabeza debe generar o detectar un
campo magnético de intensidad para poder
leer o escribir correctamente
● Cuanto mas estrecha es la cabeza, mas
cerca debe estar de la superficie
● Cuanto mas cerca está la cabeza, mayor es
el riesgo de error por impurezas
● Los Winchester montan las unidades
herméticamente para evitar las impurezas
Prestaciones de un disco
● El tiempo que tarda la cabeza en
posicionarse en la pista se conoce como
tiempo de búsqueda
● El tiempo que espera el controlador para que
el sector deseado rote hasta alinearse con la
cabeza se llama retardo rotacional
● La suma del tiempo de búsqueda y el retardo
rotacional se llama tiempo de acceso
Arreglos de disco
● RAID Reduntant Array of Independent Disks
● Conjunto redundante de discos
independientes
● El esquema RAID consta de 6 niveles (0-5)
● Estos niveles no implican jerarquía
● Designan métodos diferentes que poseen
tres características comunes
Arreglos de disco
1.Es un conjunto de unidades físicas de disco
vistas por el sistema operativo como una única
unidad lógica
2.Los datos se distribuyen a través de las
unidades físicas del conjunto de discos
3.La capacidad de discos redundantes se usa
para almacenar información de paridad que
garantice la recuperación de datos en caso de
fallo de disco
Arreglos de disco
● Hace referencia a un sistema de
almacenamiento que usa múltiples discos
entre los que distribuye o replica los datos
● Dependiendo de su configuración (a la que
suele llamarse «nivel»), los beneficios de un
RAID respecto a un único disco son uno o
varios de los siguientes:
– Mayor integridad, mayor tolerancia a fallos,
mayor throughput (rendimiento) y mayor
capacidad
RAID 0 (Data Striping)
● Distribuye los datos equitativamente entre
dos o más discos sin información de paridad
que proporcione redundancia
● Es importante señalar que el RAID 0 no era
uno de los niveles RAID originales y que no
es redundante
● Se usa normalmente para incrementar el
rendimiento. También puede utilizarse para
crear grandes discos virtuales a partir de un
gran número de pequeños discos físicos
RAID 0 (Data Striping)
● RAID 0 dividirá las
operaciones de lectura
y escritura en bloques
de igual tamaño y los
distribuirá
equitativamente entre
los dos discos
● La fiabilidad total es
(aproximadamente)
inversamente
proporcional al número
de discos del conjunto
RAID 1 (Data Mirroring)
● Crea una copia exacta (o espejo) de un
conjunto de datos en dos o más discos
● Esto resulta útil cuando el rendimiento en
lectura es más importante que la capacidad
● Un conjunto RAID 1 sólo puede ser tan
grande como el más pequeño de sus discos
● Un RAID 1 clásico consiste en dos discos en
espejo, lo que incrementa exponencialmente
la fiabilidad respecto a un solo disco
RAID 1 (Data Mirroring)
● La probabilidad de
fallo del conjunto es
igual al producto de
las probabilidades
de fallo de cada uno
de los discos, pues
para que el conjunto
falle es necesario
que lo hagan todos
sus discos
RAID 1 (Data Mirroring)
● Dado que todos los datos están en dos o
más discos, con hardware habitualmente
independiente, el rendimiento de lectura se
incrementa aproximadamente como múltiplo
lineal del número del copias
● Un RAID 1 puede estar leyendo
simultáneamente dos datos diferentes en
dos discos diferentes, por lo que su
rendimiento se duplica
RAID 2
● Un RAID 2 divide los datos a nivel de bits en
lugar de a nivel de bloques y usa un código
de Hamming para la corrección de errores
● Los discos son sincronizados por la
controladora para funcionar al unísono
● Éste es el único nivel RAID original que
actualmente no se usa
● Permite tasas de trasferencias
extremadamente altas.
RAID 2
● Teóricamente un RAID 2 necesitaría 39
discos en un sistema informático moderno:
● 32 se usarían para almacenar los bits
individuales que forman cada palabra
● 7 se usarían para la corrección de errores
RAID 3
● Un RAID 3 usa división a nivel de bytes con
un disco de paridad dedicado. Se usa rara
vez en la práctica
● Normalmente no puede atender varias
peticiones simultáneas, debido a que por
definición cualquier bloque de datos se
dividirá por todos los miembros del conjunto,
residiendo la misma dirección dentro de cada
uno de ellos. Así, cualquier operación de
lectura o escritura exige activar todos los
discos del conjunto
RAID 3
RAID 4
● Un RAID 4 usa división a nivel de bloques
con un disco de paridad dedicado
● Necesita un mínimo de 3 discos físicos
● El RAID 4 es parecido al RAID 3 excepto
porque divide a nivel de bloques en lugar de
a nivel de bytes
● Esto permite que cada miembro del conjunto
funcione independientemente cuando se
solicita un único bloque
RAID 4
● Si la controladora de disco lo permite, un
conjunto RAID 4 puede servir varias
peticiones de lectura simultáneamente
RAID 5
● Un RAID 5 usa división de datos a nivel de
bloques distribuyendo la información de
paridad entre todos los discos miembros del
conjunto
● El RAID 5 ha logrado popularidad gracias a
su bajo coste de redundancia
● Generalmente el RAID 5 se implementa con
soporte hardware para el cálculo de la
paridad
RAID 5
● El RAID 5 requiere
al menos tres
unidades de disco
para ser
implementado
● El fallo de un
segundo disco
provoca la pérdida
completa de los
datos
Memoria óptica
● Las memorias en disco óptico almacenan
información usando agujeros minúsculos
grabados con un láser en la superficie de un
disco circular
● La información se lee iluminando la
superficie con un diodo láser y observando la
reflexión
● Los discos ópticos son no volátil y de acceso
secuencial
Almacenamiento y
Recuperación de información
● En un CD la información se almacena en
formato digital
● Utiliza un sistema binario para guardar los
datos
● Estos datos se graban en una única espiral
que comienza desde el interior del disco
,próximo al centro, y finaliza en la parte
externa
Almacenamiento y
Recuperación de información
● Los datos binarios se almacenan en forma
de llanuras y salientes (cada una de ellas es
casi del tamaño de una bacteria), de tal
forma que al incidir el haz del láser, el ángulo
de reflexión es distinto en función de si se
trata de una saliente o de una llanura
CD-ROM
● Siglas del inglés Compact Disc - Read Only
Memory
● Disco Compacto - Memoria de Sólo Lectura
● Utilizado para almacenar información no
volátil
● El mismo medio utilizado por los CD de
audio
DVD
● El DVD o Disco de Video Digital es un
soporte de almacenamiento óptico que fue
pensado para grabar películas con alta
calidad de audio y video, y luego fué usado
para guardar datos de todo tipo
● Se asemeja a los discos compactos en
cuanto a sus dimensiones físicas (diámetro
de 12 cm, u 8 cm en los mini-CD), pero están
codificados en un formato distinto y a una
densidad mucho mayor
DVD-R
● Un DVD-R o DVD-Recordable (DVD-
Grabable) es un disco óptico en el que se
puede grabar o escribir datos con mucha
mayor capacidad de almacenamiento que un
CD-R, normalmente 4.7 GB
● También se ha desarrollado una versión de
doble capa con 8,5 GB, que apareció en el
mercado en 2005
● Un DVD-R solo puede grabarse una vez,
mientras que un DVD-RW es regrabable
DVD-RW
● Un disco compacto reescribible (conocido
popularmente como CD-RW, "Compact Disc-
Re Writable") es un soporte digital óptico
utilizado para almacenar cualquier tipo de
información
● Este tipo de disco sirve tanto para grabar
como para después borrar esa información
DVD-RW
● En el disco CD-RW la capa que contiene la
información está formada por una aleación
cristalina de plata, indio, antimonio y telurio
que presenta una interesante cualidad:
● Si se calienta hasta cierta temperatura,
cuando se enfría deviene cristalino, pero si al
calentarse se alcanza una temperatura aún
más elevada, cuando se enfría queda con
estructura amorfa
DVD-RW
● La superficie cristalina permite que la luz se
refleje bien en la zona reflectante mientras
que las zonas con estructura amorfa
absorben la luz
DVD-RW
● Por ello el CD-RW utiliza tres tipos de luz:
– Láser de escritura: Se usa para escribir.
Calienta pequeñas zonas de la superficie
para que el material se torne amorfo
– Láser de borrado: Se usa para borrar. Tiene
una intensidad menor que el de escritura
con lo que se consigue el estado cristalino
– Láser de lectura: Se usa para leer. Tiene
menor intensidad que el de borrado. Se
refleja en zonas cristalinas y se dispersa
en las amorfas
Blu-Ray
● Blu-ray es un formato de disco óptico de
nueva generación de 12 cm de diámetro
(igual que el CD y el DVD) para vídeo de alta
definición y almacenamiento de datos de alta
densidad
Blu-Ray
● El uso del láser azul para escritura y lectura
permite almacenar más cantidad de
información por área que los discos DVD,
debido a que el láser azul tiene una menor
longitud de onda que los láseres usados
para almacenar en discos DVD
● Su capacidad de almacenamiento llega a 50
gigabytes a doble capa, y a 25 GB a una
capa
Blu-Ray
● El Blu-ray de 400 GB a 16 capas ya fue
patentado y se espera que salga al mercado
en el 2010, así como se tiene pensado
patentar un Blu-Ray de 1 terabyte para 2011
ó 2012
Blu-Ray – Funcionamiento
● El disco Blu-ray hace uso de un rayo láser de
color azul con una longitud de onda de 405
nanómetros, a diferencia del láser rojo
utilizado en lectores de DVD, éste con una
longitud de onda de 650 nanómetros
● Ésto, junto con otros avances tecnológicos,
permite almacenar sustancialmente más
información que el DVD en un disco de las
mismas dimensiones y aspecto externo
Blu-Ray – Funcionamiento
● Blu-ray obtiene su nombre del color azul del
rayo láser
● La letra "e" de la palabra original "blue" fue
eliminada debido a que, en algunos países,
no se puede registrar para un nombre
comercial una palabra común
Dispositivos externos
● Las operaciones de E/S se realizan a través
de una amplia variedad de dispositivos
● Un dispositivo se conecta al computador
mediante un enlace a un módulo de E/S
● El enlace se utiliza para intercambiar señales
de control, estado y datos entre el módulo de
E/S y el dispositivo externo
● Un dispositivo externo conectado a un
modulo de E/S se denomina dispositivo
periférico o simplemente periférico
Dispositivos externos
● Los dispositivos externos se puede clasificar:
– Interacción con humanos
● Terminales, impresoras, etc.
– Interacción con máquinas
● Discos magnéticos, cintas, sensores, etc.
– Comunicación
● Modem, terminal, etc.
Dispositivos externos
● La conexión con el módulo de E/S se realiza
a través de señales de control, estado y
datos
● La lógica de control del dispositivo controla
su operación en respuesta a las indicaciones
del módulo de E/S
● El transductor convierte señales eléctricas
asociadas al dato a otro tipo de energía en el
caso de la entrada o salida
● El transductor puede tener un buffer para
almacenamiento temporal del dato
Dispositivos externos
Módulos de E/S
● El tercer elemento clave (junto a la memoria
y el procesador) de un computador son los
módulos de E/S
● Cada módulo se conecta al bus del sistema y
controla uno o más dispositivos periféricos
● Un módulo no es solo un conector mecánico
que permite enchufar el dispositivo, sino que
también está dotado de cierta inteligencia
● Contiene lógica que permite la comunicación
entre el periférico y el bus
Módulos de E/S
● Un módulo tiene dos funciones
fundamentales:
– Realizar la interfaz entre el procesador y la
memoria a través del bus del sistema
– Realizar la interfaz entre uno o más
dispositivos periféricos mediante enlaces
de datos
Módulos de E/S
Módulos de E/S
● Funciones de un módulo de E/S se
encuentran dentro de las siguientes
categorías:
– Control y temporización
– Comunicación con el procesador
– Comunicación con los dispositivos
– Almacenamiento temporal de datos
– Detección de errores
Módulos de E/S
● En cualquier momento, el procesador puede
comunicarse con uno o más dispositivos
externos
● Los recursos internos (memoria, bus) deben
compartirse entre distintas actividades
● Por ello existe una necesidad de control y
temporización para coordinar el tráfico entre
los recursos internos y los periféricos
Módulos de E/S
● Transferencia periférico → procesador:
– Procesador interroga al módulo de E/S para
comprobar el estado del dispositivo
conectado al mismo
– El módulo devuelve el estado
– Si el dispositivo está operativo, el procesador
solicita la transferencia del dato mediante
una órden al módulo
– El módulo obtiene el dato desde el
dispositivo
– Los datos se transfieren desde el módulo de
E/S al procesador
Módulos de E/S
● La comunicación con el procesador implica:
– Decodificación de órdenes: provenientes
del procesador
– Intercambio de datos: intercambio a través
del bus
– Información de estado: para conocer el
estado del módulo de E/S
– Reconocimiento de dirección: un módulo
reconoce una única dirección por cada
periférico que controla
Módulos de E/S
● Comunicación con el dispositivo
– Implica una necesidad de intercambiar
órdenes, información de esado y datos con
el dispositivo externo o periférico
Módulos de E/S
● Almacenamiento temporal
– La velocidad desde/hacia memoria es
bastante alta
– Los datos provenientes de memoria se
envían al módulo de E/S en ráfagas
rápidas
– Los datos se almacenan temporalmente en
el módulo de E/S
– Después se envían al periférico a la
velocidad de éste
Módulos de E/S
● Detección de errores:
– El módulo es responsable de informar sobre
errore ocurridos en los dispositivos al
procesador
– Errores mecánicos: atascos de papel, pistas
de disco en mal estado, etc.
– Errores de transmisión desde el dispositivo
al módulo de E/S
Estructura de un módulo de E/S
● El módulo se conecta al resto del
computador a través de un conjunto de
líneas del bus del sistema
● Los datos que se transfieren a y desde el
módulo se almacenan temporalmente en
registros de datos
● Puede haber registros de estado que
informan lo propio
Estructura de un módulo de E/S
● La lógica del módulo interactua con el procesador a
través de líneas de control
● El procesador utiliza éstas líneas para dar órdenes
al módulo de E/S
● El módulo también reconoce y genera las
direcciones de los dispositivos que controla
● Cada módulo tiene una dirección única, o si
controla más de un dispositivo externo, un conjunto
único de direcciones
● El módulo de E/S posee la lógica específica para la
interfaz con cada uno de los dispositivos que
controla
Estructura de un módulo de E/S
● Un módulo de E/S permite que el procesador
vea a una amplica gama de dispositivos de
una forma simplificada
● El módulo debe ocultar los detalles de
temporización, formatos y electromecánicos
de los dispositivos externos
Estructura de un módulo de E/S
● Un módulo de E/S que se encarga de la
mayoría de los detalles, presentando al
procesador una interfaz de alto nivel, se
llama canal de E/S
● Un módulo que sea básico y requiera un
control detallado, se denomina controlador
de E/S
● Los controladores se usan en
microcomputadoras y los canales en
computadoras centrales grandes
Estructura de un módulo de E/S
E/S programada
● El procesador está ejecutando un programa
y encuentra una instrucción relacionada con
una E/S
● Ejecuta dicha instrucción mandando una
orden al módulo de E/S apropiado
● Con la E/S programada, el módulo realiza la
acción solicitada
● Luego activa los bits apropiados en el
registro de estado de E/S
E/S programada
● El módulo de E/S no realiza ninguna otra
acción para avisar al procesador
● No interrumpe al procesador
● El procesador es el responsable de
comprobar periódicamente el estado del
módulo de E/S
● Hasta que encuentra que la operación ha
terminado
E/S programada
● Con la E/S programada los datos se
intercambian entre el procesador y el módulo
de E/S
● El procesador ejecuta un programa que
controla directamente la operación de E/S
● Incluyendo la comprobación del estado del
dispositivo, el envío de una orden de lectura
o escritura y la transferencia del dato
E/S programada
● Cuando el procesador envía una orden al
módulo de E/S, debe esperar hasta que la
operación concluya
● Si el procesador es mas rápido que el
módulo de E/S, se desperdicia el tiempo
E/S programada
● En la siguiente figura se observa un ejemplo
del uso de E/S programada para leer un
bloque de datos desde un dispositivo y
almacenarlo en memoria
● Los datos se leen palabra por palabra (16
bits por ejemplo)
● Por cada palabra leída, el procesador debe
permanecer en un ciclo de comprobación de
estado hasta que determine que la palabra
está disponible en el registro de datos del
módulo de E/S
E/S programada
E/S programada
● En el diagrama de flujo se observa la
principal desventaja de ésta técnica:
– Es un proceso que consume tiempo
– Mantiene al procesador innecesariamente
ocupado
E/S mediante interrupciones
● El problema de la E/S programada es:
– El procesador tiene que esperar un tiempo
considerable a que el módulo de E/S esté
preparado para recibir o transmitir
– El procesador, mientras espera, debe
comprobar repetidamente el estado del
módulo de E/S
– Degrada el nivel del prestaciones del todo el
sistema
E/S mediante interrupciones
● Una alternativa consiste en que el
procesador, tras enviar una orden de E/S a
un módulo, continúe realizando algún trabajo
útil
● Después, el módulo de E/S interrumpirá al
procesador para solicitar su servicio cuando
esté preparado para intercambiar datos con
él
● El procesador ejecuta entonces la
transferencia de datos como antes, y
continúa con el procesamiento previo
Accesso directo a memoria
● Inconvenientes de la E/S programada y con
interrupciones:
– Ambas requieren intervención del
procesador para transferencias de datos
entre la memoria y el módulo de E/S
– La velocidad de transferencia de E/S está
limitada por la velocidad a la cual el
procesador puede comprobar y dar servicio
a un dispositivo
– El procesador debe dedicarse a la gestión de
las transferencias de E/S
Accesso directo a memoria
● Las técnicas anteriores tienen un impacto
negativo en la actividad del procesador como
en la velocidad de transferencia de E/S
● Cuando hay que transferir grandes
volúmenes de datos, se requiere una técnica
más eficiente llamada DMA
DMA - Funcionamiento
● DMA requiere de un módulo adicional en el
bus del sistema
● El módulo de DMA imita al procesador
● Es capaz de recibir el control del sistema
cedido por el procesador
● Necesita dicho control para transferir datos a
y desde memoria a través del bus del
sistema
DMA - Funcionamiento
● Para hacerlo el módulo debe utilizar el bus
solo cuando el procesador no lo necesita
● También puede forzar al procesador a que
suspenda su funcionamiento
● Esta última técnica es la más común y se
denomina robo de ciclo puesto que el
módulo DMA roba un ciclo del bus
DMA - Funcionamiento
● Cuando el procesador desea leer o escribir un bloque de
datos, envía una orden al módulo de DMA incluyendo la
siguiente información
– Lectura o escritura, por la línea de control entre el
procesador y el módulo DMA
– La dirección del dispositivo de E/S salida en
cuestión, por la línea de datos
– Posición inicial de memoria a partir de donde se
lee o escribe por la línea de datos y almacenada
por el módulo DMA en su registro de direcciones
– Número de palabras a leer o escribir por la línea
de datos y almacenado en el registro de cuenta
de datos
DMA - Funcionamiento
DMA - Funcionamiento
● Después el procesador continúa con otro trabajo
● Ha delegado la operación de E/S al módulo de DMA,
que se encargará de ella
● El módulo de DMA transfiere el bloque completo de
datos, palabra a palabra, directamente desde, o hacia,
la memoria, sin que tenga que pasar a través del
procesador
● Cuando la transferencia se ha terminado, el módulo de
DMA envía una señal de interrupción al procesador
● El procesador sólo interviene al comienzo y al final de
la transferencia
DMA - Funcionamiento
● En la siguiente figura se muestra en qué
momento del ciclo de instrucción puede
detenerse el procesador
● En cada caso, el procesador se detiene justo
antes de necesitar el bus
● Después, el módulo de DMA transfiere una
palabra y devuelve el control al procesador
● Obsérvese que no se trata de una
interrupción; el procesador no guarda el
contexto ni hace nada más
DMA - Funcionamiento
DMA - Funcionamiento
● El efecto resultante es que el procesador es
más lento ejecutando los programas
● No obstante, para una transferencia de E/S
de varias palabras el DMA es mucho mas
eficiente que la E/S mediante interrupciones
o la programada
DMA - Funcionamiento
● El mecanismo de DMA puede configurarse de diversas
formas
● La siguiente figura muestra todos los módulos
compartiendo el mismo bus del sistema
● El módulo de DMA, actuando como un procesador
suplementario, utiliza E/S programada para
intercambiar datos entre la memoria y un módulo de
E/S
● Esta configuración, si bien es la más económica, es
claramente ineficiente
● Igual que con la E/S programada controlada por el
procesador, la transferencia de cada palabra consume
ciclos de bus
DMA - Funcionamiento
DMA - Funcionamiento
● El número de ciclos necesarios puede
reducirse sustancialmente si se integran las
funciones de DMA y de E/S
● Esto significa que existe un camino entre el
módulo de DMA y uno o más módulos de
E/S que no incluy al bus del sistema
● La lógica de DMA puede ser parte de un
módulo de E/S o puede ser un módulo
separado que controla a uno o más módulos
de E/S
DMA - Funcionamiento
DMA - Funcionamiento
● El concepto anterior se puede llevar mas
lejos conectando los módulos de E/S a un
módulo de DMA mediante un bus de E/S
● Esto reduce a uno el número de interfaces
de E/S en el módulo de DMA
DMA - Funcionamiento
DMA - Funcionamiento
● En los dos últimos casos, el bus del sistema,
que el módulo de DMA comparte con el
procesador y la memoria, es usado por el
módulo de DMA sólo para intercambiar datos
con la memoria
● El intercambio entre los módulos de DMA y
E/S se produce fuera del bus del sistema

Potrebbero piacerti anche