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

Arquitectura de Computadoras

Embed Size (px)

Citation preview

Page 1: Arquitectura de Computadoras

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

Page 2: Arquitectura de Computadoras

Estructura y funcionamiento● Un computador es un sistema complejo● De naturaleza jerárquica● Posee subsistemas interrelacionados● Necesitamos entender

– Estructura– Funcionamiento

Page 3: Arquitectura de Computadoras

Funcionamiento● Procesamiento de datos● Almacenamiento de datos● Transferencia de datos● Control

Page 4: Arquitectura de Computadoras

Procesamiento de datos● El computador debe ser capaz de procesar

datos● Los datos pueden adoptar diferentes formas

Page 5: Arquitectura de Computadoras

Almacenamiento de datos● Es una función esencial● Existen dos tipos de almacenaimentos:

– A corto plazo – Memoria temporal– A largo plazo – Memoria en ficheros

Page 6: Arquitectura de Computadoras

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

Page 7: Arquitectura de Computadoras

Control● Hecha por la unidad de control● Gestiona y controla

– Procesamiento– Almacenamiento– Transferencia

Page 8: Arquitectura de Computadoras

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

Page 9: Arquitectura de Computadoras
Page 10: Arquitectura de Computadoras
Page 11: Arquitectura de Computadoras
Page 12: Arquitectura de Computadoras

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

Page 13: Arquitectura de Computadoras
Page 14: Arquitectura de Computadoras

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

Page 15: Arquitectura de Computadoras

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

Page 16: Arquitectura de Computadoras

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

Page 17: Arquitectura de Computadoras

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

Page 18: Arquitectura de Computadoras

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

Page 19: Arquitectura de Computadoras

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

Page 20: Arquitectura de Computadoras

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

Page 21: Arquitectura de Computadoras

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

Page 22: Arquitectura de Computadoras
Page 23: Arquitectura de Computadoras

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

Page 24: Arquitectura de Computadoras

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

Page 25: Arquitectura de Computadoras
Page 26: Arquitectura de Computadoras

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

Page 27: Arquitectura de Computadoras

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

Page 28: Arquitectura de Computadoras
Page 29: Arquitectura de Computadoras

Ciclos de captación y ejecución

Page 30: Arquitectura de Computadoras

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

Page 31: Arquitectura de Computadoras

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)

Page 32: Arquitectura de Computadoras

Ciclos de captación y ejecución

Page 33: Arquitectura de Computadoras

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

Page 34: Arquitectura de Computadoras

Sin interrupciones

Page 35: Arquitectura de Computadoras

Con interrupciones● Con interrupciones, la CPU puede ejecutar

otras instrucciones mientras se lleva a cabo una operación de E/S

Page 36: Arquitectura de Computadoras

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

Page 37: Arquitectura de Computadoras

Interrupciones y el ciclo de instrucción

Page 38: Arquitectura de Computadoras

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

Page 39: Arquitectura de Computadoras

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

Page 40: Arquitectura de Computadoras

Prioridades en las interrupciones

● Interrupciones de mayor prioridad interrumpen la gestión de prioridades de menor prioridad

● Permite atender situaciones de mayor criticidad

Page 41: Arquitectura de Computadoras

Prioridades en las interrupciones

Page 42: Arquitectura de Computadoras

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

Page 43: Arquitectura de Computadoras

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

Page 44: Arquitectura de Computadoras

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

Page 45: Arquitectura de Computadoras

Memoria

Page 46: Arquitectura de Computadoras

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

Page 47: Arquitectura de Computadoras

Módulo de E/S

Page 48: Arquitectura de Computadoras

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

Page 49: Arquitectura de Computadoras

Procesador

Page 50: Arquitectura de Computadoras

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

Page 51: Arquitectura de Computadoras

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

Page 52: Arquitectura de Computadoras

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

Page 53: Arquitectura de Computadoras

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

Page 54: Arquitectura de Computadoras

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

Page 55: Arquitectura de Computadoras

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

Page 56: Arquitectura de Computadoras

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

Page 57: Arquitectura de Computadoras

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

Page 58: Arquitectura de Computadoras

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

Page 59: Arquitectura de Computadoras

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

Page 60: Arquitectura de Computadoras

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

Page 61: Arquitectura de Computadoras
Page 62: Arquitectura de Computadoras

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

Page 63: Arquitectura de Computadoras

● 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

Page 64: Arquitectura de Computadoras

● 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

Page 65: Arquitectura de Computadoras
Page 66: Arquitectura de Computadoras

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

Page 67: Arquitectura de Computadoras

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

Page 68: Arquitectura de Computadoras
Page 69: Arquitectura de Computadoras

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

Page 70: Arquitectura de Computadoras

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

Page 71: Arquitectura de Computadoras
Page 72: Arquitectura de Computadoras

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

Page 73: Arquitectura de Computadoras

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.

Page 74: Arquitectura de Computadoras

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

Page 75: Arquitectura de Computadoras

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

Page 76: Arquitectura de Computadoras

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

Page 77: Arquitectura de Computadoras

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

Page 78: Arquitectura de Computadoras

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

Page 79: Arquitectura de Computadoras

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

Page 80: Arquitectura de Computadoras
Page 81: Arquitectura de Computadoras

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

Page 82: Arquitectura de Computadoras

Temporización asíncrona

Page 83: Arquitectura de Computadoras

Temporización asíncrona1.Master ADDRESS:=dir2.Master MREQ=0, RD=03.Master MSYN=04.Slave reconoce MSYN=0. Slave sabe que

Master le pide que lea la dirección dir ya que lee MREQ, RD y DATA

Page 84: Arquitectura de Computadoras

Temporización asíncrona1.Slave DATA=dato pedido2.Slave SSYN=03.Master reconoce SSYN=0. Ahora Master

sabe que Slave ya atendió el pedido y colocó el dato en DATA

4.Master lee DATA5.Master retira ADDRESS, MREQ, RD y

MSYN

Page 85: Arquitectura de Computadoras

Temporización asíncrona1.Slave reconoce MSYN=1. Ahora Slave sabe

que Master ya leyó el dato2.Slave retira DATA y SSYN

Page 86: Arquitectura de Computadoras

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

Page 87: Arquitectura de Computadoras

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

Page 88: Arquitectura de Computadoras

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

Page 89: Arquitectura de Computadoras

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

Page 90: Arquitectura de Computadoras

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

Page 91: Arquitectura de Computadoras
Page 92: Arquitectura de Computadoras

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

Page 93: Arquitectura de Computadoras
Page 94: Arquitectura de Computadoras

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

Page 95: Arquitectura de Computadoras

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

Page 96: Arquitectura de Computadoras

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

Page 97: Arquitectura de Computadoras

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)

Page 98: Arquitectura de Computadoras

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

Page 99: Arquitectura de Computadoras

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

Page 100: Arquitectura de Computadoras

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

Page 101: Arquitectura de Computadoras

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

Page 102: Arquitectura de Computadoras

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

Page 103: Arquitectura de Computadoras

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

Page 104: Arquitectura de Computadoras

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

Page 105: Arquitectura de Computadoras

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

Page 106: Arquitectura de Computadoras

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

Page 107: Arquitectura de Computadoras

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

Page 108: Arquitectura de Computadoras

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

Page 109: Arquitectura de Computadoras

Clasificación de memorias. Prestaciones

● Velocidad de transferencia:– Es la velocidad a la que pueden transferir

datos a, o desde, una unidad de memoria

Page 110: Arquitectura de Computadoras

Clasificación de memorias. Dispositivos físicos

● Las mas comunes en la actualidad son memorias:

– Semiconductoras– De superficie magnética– Ópticas– Magneto-ópticas

Page 111: Arquitectura de Computadoras

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)

Page 112: Arquitectura de Computadoras

Jerarquía de memoria● El diseño de la memoria se pueden resumir

en tres cuestiones:– Capacidad– Rapidez– Costo

Page 113: Arquitectura de Computadoras

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

Page 114: Arquitectura de Computadoras

Jerarquía de memoria● Debido a que es tecnológicamente imposible

lograr todos estos objetivos juntos, se emplea una jerarquía de memoria

Page 115: Arquitectura de Computadoras
Page 116: Arquitectura de Computadoras

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

Page 117: Arquitectura de Computadoras

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

Page 118: Arquitectura de Computadoras

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.

Page 119: Arquitectura de Computadoras

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

Page 120: Arquitectura de Computadoras

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

Page 121: Arquitectura de Computadoras

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

Page 122: Arquitectura de Computadoras

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

Page 123: Arquitectura de Computadoras

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

Page 124: Arquitectura de Computadoras

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

Page 125: Arquitectura de Computadoras

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

Page 126: Arquitectura de Computadoras

Organización

Page 127: Arquitectura de Computadoras

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

Page 128: Arquitectura de Computadoras

Memoria caché● El objetivo es lograr que la velocidad de

memoria sea lo más rápida posible

Page 129: Arquitectura de Computadoras

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

Page 130: Arquitectura de Computadoras

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

Page 131: Arquitectura de Computadoras

Estructura de memoria caché● La memoria principal consta de hasta 2n

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)

Page 132: Arquitectura de Computadoras

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

Page 133: Arquitectura de Computadoras
Page 134: Arquitectura de Computadoras

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)

Page 135: Arquitectura de Computadoras
Page 136: Arquitectura de Computadoras

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

Page 137: Arquitectura de Computadoras

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

Page 138: Arquitectura de Computadoras

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

Page 139: Arquitectura de Computadoras

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

Page 140: Arquitectura de Computadoras

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

Page 141: Arquitectura de Computadoras

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

Page 142: Arquitectura de Computadoras

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

Page 143: Arquitectura de Computadoras
Page 144: Arquitectura de Computadoras

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

Page 145: Arquitectura de Computadoras

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

Page 146: Arquitectura de Computadoras
Page 147: Arquitectura de Computadoras

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

Page 148: Arquitectura de Computadoras

Características físicas● Platos

– Único– Múltiples

● Mecanismo de la cabeza– Contacto (disquete)– Separación fija– Separación aerodinámica (Winchester)

Page 149: Arquitectura de Computadoras

Características físicas● Cabeza fija: una cabeza de lectura/escritura

por pista● Cabeza móvil: una sola cabeza de

lectura/escritura

Page 150: Arquitectura de Computadoras

Características físicas● No extraíble: permanentemente montado en

la unidad de disco● Extraíble: puede ser quitado y sustituido por

otro disco

Page 151: Arquitectura de Computadoras

Características físicas● Doble superficie: magnetizado en ambas

caras● Una sola superfice: magnetizado en una sola

cara (discos económicos)

Page 152: Arquitectura de Computadoras

Características físicas● Varios platos:

apilados verticalmente. Disponen de varios brazos

Page 153: Arquitectura de Computadoras

Características físicas● Varios platos: el

conjunto de las mismas pistas en cada uno de los platos conforman un cilindro

Page 154: Arquitectura de Computadoras

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

Page 155: Arquitectura de Computadoras

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

Page 156: Arquitectura de Computadoras

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

Page 157: Arquitectura de Computadoras

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

Page 158: Arquitectura de Computadoras

Arreglos de disco1.Es un conjunto de unidades físicas de disco vistas por el sistema operativo como una única unidad lógica2.Los datos se distribuyen a través de las unidades físicas del conjunto de discos3.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

Page 159: Arquitectura de Computadoras

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

Page 160: Arquitectura de Computadoras

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

Page 161: Arquitectura de Computadoras

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

Page 162: Arquitectura de Computadoras

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

Page 163: Arquitectura de Computadoras

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

Page 164: Arquitectura de Computadoras

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

Page 165: Arquitectura de Computadoras

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.

Page 166: Arquitectura de Computadoras

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

Page 167: Arquitectura de Computadoras

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

Page 168: Arquitectura de Computadoras

RAID 3

Page 169: Arquitectura de Computadoras

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

Page 170: Arquitectura de Computadoras

RAID 4● Si la controladora de disco lo permite, un

conjunto RAID 4 puede servir varias peticiones de lectura simultáneamente

Page 171: Arquitectura de Computadoras

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

Page 172: Arquitectura de Computadoras

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

Page 173: Arquitectura de Computadoras

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

Page 174: Arquitectura de Computadoras

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

Page 175: Arquitectura de Computadoras

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

Page 176: Arquitectura de Computadoras

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

Page 177: Arquitectura de Computadoras

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

Page 178: Arquitectura de Computadoras

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

Page 179: Arquitectura de Computadoras

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

Page 180: Arquitectura de Computadoras

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

Page 181: Arquitectura de Computadoras

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

Page 182: Arquitectura de Computadoras

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

Page 183: Arquitectura de Computadoras

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

Page 184: Arquitectura de Computadoras

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

Page 185: Arquitectura de Computadoras

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

Page 186: Arquitectura de Computadoras

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

Page 187: Arquitectura de Computadoras

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

Page 188: Arquitectura de Computadoras

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

Page 189: Arquitectura de Computadoras

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.

Page 190: Arquitectura de Computadoras

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

Page 191: Arquitectura de Computadoras

Dispositivos externos

Page 192: Arquitectura de Computadoras

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

Page 193: Arquitectura de Computadoras

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

Page 194: Arquitectura de Computadoras

Módulos de E/S

Page 195: Arquitectura de Computadoras

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

Page 196: Arquitectura de Computadoras

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

Page 197: Arquitectura de Computadoras

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

Page 198: Arquitectura de Computadoras

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

Page 199: Arquitectura de Computadoras

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

Page 200: Arquitectura de Computadoras

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

Page 201: Arquitectura de Computadoras

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

Page 202: Arquitectura de Computadoras

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

Page 203: Arquitectura de Computadoras

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

Page 204: Arquitectura de Computadoras

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

Page 205: Arquitectura de Computadoras

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

Page 206: Arquitectura de Computadoras

Estructura de un módulo de E/S

Page 207: Arquitectura de Computadoras

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

Page 208: Arquitectura de Computadoras

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

Page 209: Arquitectura de Computadoras

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

Page 210: Arquitectura de Computadoras

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

Page 211: Arquitectura de Computadoras

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

Page 212: Arquitectura de Computadoras

E/S programada

Page 213: Arquitectura de Computadoras

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

Page 214: Arquitectura de Computadoras

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

Page 215: Arquitectura de Computadoras

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

Page 216: Arquitectura de Computadoras

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

Page 217: Arquitectura de Computadoras

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

Page 218: Arquitectura de Computadoras

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

Page 219: Arquitectura de Computadoras

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

Page 220: Arquitectura de Computadoras

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

Page 221: Arquitectura de Computadoras

DMA - Funcionamiento

Page 222: Arquitectura de Computadoras

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

Page 223: Arquitectura de Computadoras

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

Page 224: Arquitectura de Computadoras

DMA - Funcionamiento

Page 225: Arquitectura de Computadoras

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

Page 226: Arquitectura de Computadoras

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

Page 227: Arquitectura de Computadoras

DMA - Funcionamiento

Page 228: Arquitectura de Computadoras

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

Page 229: Arquitectura de Computadoras

DMA - Funcionamiento

Page 230: Arquitectura de Computadoras

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

Page 231: Arquitectura de Computadoras

DMA - Funcionamiento

Page 232: Arquitectura de Computadoras

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