You are on page 1of 142

Universidad de Oviedo

ESTRUCTURA DE LOS COMPUTADORES


Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 1

Captulo 1. INTRODUCCIN.

Captulo 1.1. OBJETIVOS DE LA ASIGNATURA.

Las diferencias fundamentales entre la CPU terica vista en la asignatura Fundamentos
de Computadores (1 curso de I.T.Informtica de Gestin y Sistemas) y el computador real
son, a grandes rasgos, dos:
Rendimiento
Soporte a sistemas operativos multitarea

Definicin: Rendimiento:
Hablamos del rendimiento de la CPU refirndonos a la velocidad de la misma, nunca a
qu puede hacer esta CPU.

Definicin: Soporte a sistemas operativos multitarea:
Nos referimos a aquella implementacin hardware necesaria para permitir la ejecucin
de sistemas operativos multitarea sobre la CPU.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 2

Captulo 1.2. INTRODUCCIN A LOS SISTEMAS OPERATIVOS MULTITAREA.

Un usuario no trabaja con una mquina desnuda; sino con un sistema operativo
corriendo sobre dicha mquina.

Definicin: Mquina virtual:
El hardware ms el sistema operativo definen una mquina virtual, sobre la que
trabajamos.

Definicin: Application Programming Interface:
sta mquina virtual proporciona una serie de servicios para aplicaciones (API).

stas aplicaciones nunca acceden directamente al hardware, sino a la API que define la
mquina virtual.

Definicin: Sistema operativo multitarea:
Prcticamente todos los sistemas operativos actuales son multitarea, es decir, permiten
ejecutar varias aplicaciones de manera concurrente.

Por otra parte, el sistema operativo no deja de ser un programa encargado de la gestin
de recursos (tanto hardware como software) para proporcionar los servicios a las aplicaciones,
ocultando el hardware. De este modo, cuando una aplicacin necesita acceder al hardware
llamar a un servicio ofrecido por la API del sistema operativo.

Hemos dicho que la ejecucin de las tareas se ejecuta concurrentemente. Sin embargo,
la percepcin de dicha ejecucin es que todas las tareas se ejecutan simultneamente.


Ilustracin 1. El sistema operativo acta como un gestor de recursos.

Entre la ejecucion de dos tareas el sistema operativo debe tomar el control de la
mquina, determinando que tarea pasar a ejecutarse a continuacin, es decir, el sistema
operativo sobrecarga la CPU.

En el momento en que una tarea deja de ejecutarse y entra el sistema operativo en la
CPU se produce una transferencia de control.
Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 3

Las transferencias de control entre una tarea y el sistema operativo se producen:
durante la llamada a un servicio del sistema operativo
cuando ocurre una interrrupcin
cuando ocurre una excepcin

Captulo 1.2.1. LLAMADA A LOS SERVICIOS DEL SISTEMA OPERATIVO.

El sistema operativo define una API a la cual llaman las aplicaciones para obtener
servicios por parte del operativo. Por ejemplo, cuando una tarea abre un archivo se invoca un
servicio de la API del sistema operativo.

Hay dos tipos de instrucciones relacionadas con las llamadas a servicios del sistema
operativo (funciones de la API):
syscall
sysret

La instruccin syscall es la instruccin de llamada a un servicio y sysret, la instruccin
de retorno.

La instruccin sysret es la ltima instruccin del servicio y tras su ejecucin se retornar
a la instruccin siguiente a aquella que realiz la llamada al servicio, es decir, se retornar a la
instruccin siguiente a syscall.

La transferencia de control la realiza la tarea que invoc la llamada al servicio.


Ilustracin 2. Llamada a un servicio del sistema operativo.
Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 4

Captulo 1.2.2. INTERRUPCIONES.

Las interrupciones permiten avisar a la CPU cuando un evento est disponible. Por
ejemplo, cuando pulsamos una tecla en el teclado.

La CPU no sabe a priori cuando va a recibir una peticin de interrupcin.

Cuando se produce una interrrupcin se termina de ejecutar la instruccin en curso y a
continuacin se transfiere el control a un manejador o rutina de tratamiento de interrupcin, que
forma parte del sistema operativo.

Cuando se termina de ejecutar la rutina (instruccin sysret) se transfiere el control a la
instruccin siguiente a la que estaba en curso en el momento de la interrupcin.

En este caso, la transferencia de control la origina la interfaz de un perifrico.


Ilustracin 3. Interrupcin.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 5

Captulo 1.2.3. EXCEPCIONES.

El objetivo de las excepciones es transferir el control al sistema operativo cuando ocurre
una situacin anmala durante la ejecucin de una instruccin. Por ejemplo, una divisin por
cero.

Cuando ocurre una excepcin se transfiere el control a una rutina de tratamiento de
excepcin, que forma parte del sistema operativo.

Al ejecutar la ltima instruccin de la rutina puede ocurrir que:
se contine ejecutando la instruccin que gener la excepcin.
Se ejecute la siguiente instruccin a la que gener la excepcin.
Se produce un retorno imposible.

En este caso, la transferencia del control la originar la CPU al detectar una situacin
anmala.


Ilustracin 4. Excepcin.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 6

En ultimo lugar cabe descatar los siguientes puntos relacionados con las llamadas a
servicios, las interrupciones y las excepciones:
Cada vez que se produce una llamada a un servicio, una interrupcin o una
excepcin, tras la ejecucin de la rutina correspondiente se puede producir una
planificacin de tareas por parte del sistema operativo. Dicho planificador
determinar cul ser la siguiente tarea a ejecutarse.
Tanto las llamadas a servicios, interrupciones y excepciones se pueden anidar.
Existe distinta notacin para referirse los conceptos descritos anteriormente. Por
convenio hablaremos de llamadas a servicios, interrupciones y excepciones.
La CPU debe tener un temporizador con un periodo prefijado que genere una
interrupcin peridica para permitir que el sistema operativo tome el control cada
cierto tiempo.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 7

Captulo 2. LA CPU.

Vamos a estudiar las tcnicas empleadas en las CPUs reales para mejorar el
rendimiento y soportar sistemas operativos multitarea.

Captulo 2.1. SOPORTE A LOS SISTEMAS OPERATIVOS MULTITAREA.

Para que un computador soporte sistemas operativos multitarea necesita hardware
especfico. Prcticamente todas las CPUs actuales soportan sistemas operativos multitarea.
Como excepciones podemos mencionar:
CPUs antiguas. Por ejemplo: 8088
CPUs sencillas. Por ejemplo: en electrodomsticos
CPUs educativas. Por ejemplo: el simulador Von Neumann

Pero, qu tiene que tener una CPU para soportar sistemas operativos multitarea? Para
responder a esta pregunta, partiremos de la CPU terica e implementaremos un pequeo
sistema operativo multitarea sobre esta CPU terica, buscando a continuacin los problemas
encontrados. Dichas carencias sern precisamente aquellas caractersticas que deber
incorporar una CPU para que pueda dar soporte a sistemas operativos multitarea.

Partimos del espacio de direcciones de la CPU terica. Cada tarea tiene tres secciones:
datos, cdigo y pila. Tambin tenemos un temporizador y un vector de interrupciones.

Inicialmente la tarea 0 se est ejecutando. El registro contador de programa (PC) apunta
a una instruccin de dicha tarea as como el registro puntero de pila (SP) apunta a la cabeza de
su pila. Los registros de propsito general tienen los valores correspondientes a dicha tarea
(estado de la tarea).


Ilustracin 5. Estado inicial de la memoria del sistema. Se est ejecutando la tarea 0.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 8

A continuacin, se produce una interrupcin y se produce una transferencia de control
entre la tarea 0 y el sistema operativo. Cuando se produce una interrupcin se guarda
inmediatamente el PC y el registro de estado (SR) en la pila de la tarea activa y se produce un
salto incondiconal a la primera instruccin de la rutina de tratamiento de la interrupcin. Esta
rutina pertenece, obviamente, al sistema operativo.


Ilustracin 6. Se produce una interrupcin.


Ilustracin 7. Se transfiere el control al sistema operativo, que ejecuta una rutina de tratamiento.
Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 9

Posteriormente, el sistema operativo guarda el valor de los registros en su rea de datos
(registros de propsito general y que contienen el estado en que qued la tarea 0 antes de
transferir el control) y conmuta la pila para que la pila utilizada sea la del sistema operativo y no
la de la tarea. Esta conmutacin se traduce en un cambio en el valor del registro SP.


Ilustracin 8. El sistema operativo guarda el contenido de los registros en su rea de datos.


Ilustracin 9. Se conmuta la pila de la tarea 0 al sistema operativo.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 10

Finalizada la rutina de tratamiento de la interrupcin se realiza una planificacin de
tareas, para lo cual se produce una llamada a un procedimiento. Esta llamada conlleva
almacenar el estado de la CPU dentro de la pila activa (la pila del sistema operativo) y situar el
PC en la primera instruccin del procedimiento.


Ilustracin 10. Se realiza una planificacin de tareas.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 11

Finalizado el procedimiento de planificacin se determina que la prxima tarea a
ejecutarse sea la tarea 1. De este modo, el sistema operativo debe ceder el control a la tarea
tras restaurar el estado de la misma (registros de propsito general) en el momento en que
sta abandon la CPU por ltima vez, de este modo se produce indirectamente la conmutacin
de la pila, dejando de utilizarse la del sistema operativo para pasar a emplearse la de la tarea
1.

Ilustracin 11. Finalizada la planificacin se determina que la prxima tarea a ejecutar sea la tarea
1.
A continuacin se ejecuta la instruccin IRET de tal modo que se devuelve el control a la
tarea 1. As, el PC, SR y los registros de propsito general tienen los valores que tena la tarea
1 justo donde haba sido interrumpida por ltima vez.


Ilustracin 12. El sistema operativo restaura desde su rea de datos el estado de la tarea 1.
Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 12



Ilustracin 13. Se ejecuta la instruccin IRET que devuelve el control a la tarea 1.

En ltimo lugar, el temporizador genera una nueva interrupcin. Se salva el valor de SR
y PC en la pila de la tarea y se transfiere el control al sistema operativo, repitindose el ciclo
anterior.

Visto el funcionamiento de este sistema operativo terico vamos a determinar las
deficiencias del mismo derivadas a su vez de deficiencias de la CPU terica.

Deficiencia 1:
Cualquier tarea puede ejecutar la instrucicn CLI que desactiva las interrupciones de tal
modo que dicha tarea monopolice el uso de la CPU, estando est indefinidamente
efecutndose y evitando que se transfiera el control al sistema operativo a menos que se
invoque una llamada a un servicio del sistema.

Deficiencia 2:
Se podra modificar la seccin de datos del sistema operativo. Por ejemplo:
MOVL R0, 50h
MOVH R0, 80h
XOR R1, R1, R1
MOV [R0], R1

Deficiencia 3:
Una tarea puede acceder al rea de memoria de otra tarea. Las tareas deberan ser
independientes entre si.

Deficiencia 4:
Cada vez que se produce una interrupcin durante la ejecucin de una tarea se guarda
en la pila de la tarea el valor de SR y PC, de tal modo que una tarea malintencionada podra
producir el cuelgue del sistema o tomar el control total de la mquina modificando dichos
valores.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 13

Deficiencia 5:
La CPU terica no soporta excepciones. Estas excepciones son necesarias para
informar de situaciones anmalas: se intenta ejecutar una instruccin invlida, errores
aritmticos, se intenta acceder a una direccin invlida, etc.

Vistas las deficiencias anteriores, vamos a proporcionar soluciones a cada una de estas
deficiencias. Cada una de estas soluciones nos va a indicar la funcionalidad que debemos
incluir e la CPU para que soporte sistemas operativos multitarea.

Solucin a la deficiencia 1:
Dentro del juego de instrucciones de la CPU hay instrucciones potencialmente
peligrosas que no deberan ser ejecutadas por tareas. Estas instrucciones slo podrn ser
ejecutadas por el sistema operativo.

Para implementar esta solucin se aade un bit al registro de estado que indica el nivel
de privilegios. Por ejemplo, el sistema operativo tendr el valor 0 (mxima prioridad) y una
tarea, el nivel 1 (mnima prioridad). As, si una tarea se est ejecutando e intenta ejecutar una
instruccin privilegiada se producir una excepcin.

La conmutacin de niveles de privilegios ser realizada por la CPU.

Solucion a la deficiencia 2:
Para evitar que una tarea slo pueda acceder a su espacio de direcciones y no a
direcciones del sistema operativo definimos una tabla con los rangos de direcciones asignados
al sistema operativo. De tal modo que, al intentar acceder a una direccin, se comprueba
previamente que dicha direccin no pertenezca al rango anterior.

Solucin a la deficiencia 3:
Para evitar que una tarea slo pueda acceder a su espacio de direcciones y no a
direcciones de otras taras definimos una tabla con los rangos de direcciones asignados a cada
tarea de tal modo que una tarea slo podr acceder a direcciones de su rango, comprobndose
al intentar acceder a una direccin si dicha direccin pertenece a su rango.

Solucin a la deficiencia 4:
Para solucionar el problema es necesaro que el SR y PC de la tarea se almacenen en
una estructura de datos del sistema operativo.

As, algunas CPUs incorporan dos registros para almacenar los valores temporales del
estado y el contador de programa. De este modo, cuando se produce una interupcin se salvan
en estos registros los valores de SR y PC. El sistema operativo conmuta el valor de la pila paa
que apunte a la pila del mismo y a continuacin salvar el estado de la tarea en la pila del
sistema operativo. Esta solucin la implementan arquitecturas como PowerPC y MIPS64.

Por otra parte, IA 32, cuando se produce una interrupcin se conmuta inmediatamente
la pila de la tarea a la pila del sistema operativo. Este proceso es automtico. A continuacin se
salva en la pila del operativo el SP, SR y PC de la tarea.

Solucin a la deficiencia 5:
El funcionamiento de las interrupciones y excepciones es muy similar. En ambos casos
se ejecuta una rutina. As, dentro de la tabla de vectores de interrupcin hay direcciones
reservadas a las excepciones y con posiciones prefijadas.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 14

Ejercicio:
La CPU terica no soporta sistemas operativos multitarea, entre otras cosas, debido a
que cada vez que se produce una interrupcin durante la ejecucin de una tarea se guarda
automticamente en la pila de la tarea el valor de los registros de estado y contador de
programa.

a) Por qu es esto un problema?
Porque una tarea malintencionada o programada con errores podra modificar el
contenido del registro puntero de pila y esperar a que se produzca una interrupcin
en cuyo caso podra colgar el sistema o hacerse con el control del mismo.
Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 15

Captulo 2.2. MEJORAS DE RENDIMIENTO.

Hasta ahora hemos hablado nicamente de funcionalidad (lo que puede hacer la CPU).
Ahora hablaremos de rendimiento (velocidad), es decir, cmo podemos mejorar la velocidad de
ejecucin de instrucciones. En la CPU, la ejecucin de cada instruccin requera un
determinado nmero de ciclos de reloj. Cada uno de estos ciclos tiene una longitud constante y
recibe el nombre de periodo . La frecuencia, ser la inversa del periodo

1
.

La primera idea que podemos tener para mejorar el rendimiento de la CPU es aumentar
la frecuencia del reloj. Esto se consigue mejorando la tecnologa de fabricacin ( nm 130 ,
nm 90 , etc), es decir, disminuyendo el tamao de los transistores se consigue una menor
separacin entre stos y as se incrementa la velocidad. Este incremento de velocidad
repercute en un incremento de la frecuencia, por lo que aumenta el rendimiento de la CPU.

Otra opcin o camino para incrementar el rendimiento de la CPU es mejorar la estructura
interna de sta, coordinando de la mejor manera posible los componentes internos de la CPU.
Vamos a estudiar el rendimiento de la CPU desde esta opcin basndonos en la CPU terica.
Veremos tcnicas de:
Segmentacin en la ejecucin de las instrucciones.
Replicacin de unidades funcionales.

Captulo 2.2.1. LA SEGMENTACIN EN LA EJECUCIN DE INSTRUCCIONES.

La segmentacin en la ejecucin de instrucciones consiste en dividir la ejecucin de
cualquier instruccin en etapas que funcionan en paralelo.

Vamos a suponer que hemos rediseado la estructura interna de la CPU terica de tal
modo que la ejecucin de la instruccin se didivide en dos prtes:
Bsqueda de la instruccin.
Ejecucin de la instruccin.

Suponemos que las etapas de bsqueda y ejecucin requieren ambas el mismo tiempo
( ns 10 ) y que este tiempo coincide con el periodo del reloj.

Comenzaremos ejecutando secuencialmente una serie de instrucciones aritmtico
lgicas.


Ilustracin 14. Cronograma con el flujo de ejecucin secuencial de instrucciones.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 16

Buscamos la instruccin ADD R4, R3, R2 y transcurridos los ns 10 se ejecutar la
instriccin. Este proceso requerir en total de ns 20 (bsqueda y ejecucin) para la ejecucin
completa de una instruccin. As, en s 1 se
ejecutarn nes instruccio 10 5
n instruccio
ns
20
ns 10
n instruccio
ns
20
s 1
7
9
= = .

Esta implementacin desperdicia recursos ya que en cada etapa uno de los dos
componentes (bien sea la etapa de bsqueda o la etapa de ejecucin) no est trabajando.
Necesitamos conseguir que las etapas funcionen en paralelo y no secuencialmente. Este es el
objetivo de la segmentacin. Un smil a este problema puede ser una cadena de montaje de
coches.

Ahora vamos a ejecutar en paralelo el conjunto de instrucciones anteriores.


Ilustracin 15. Cronograma con el flujo de ejecucin de instrucciones en paralelo.

Bucamos la instruccin ADD R4, R3, R2 y transcurridos los ns 10 se ejecutar la
instruccin y adems la etapa de bsqueda buscar la siguiente instruccin a ejecutar (SUB
R2, R3, R4). As se consigue ejecutar una instruccin completa en ns 10 . De este modo,
en s 1 segundo se ejecutarn nes instruccio 10
n instruccio
ns
10
ns 10
n instruccio
ns
10
s 1
8
9
= = .

Como consecuencia de la ejecucin de instrucciones en paralelo se consigue ejecutar
una instruccin por ciclo de reloj.

Por otra parte, si en vez de dividir la ejecucin de instrucciones en 2 etapas se divide,
por ejemplo, en 10 etapas se estara incrementando, en teora, el rendimiento de la CPU en un
factor 10.

Las CPUs de propsito general, en relacin con el supuesto anterior, dividen la
ejecucin de instruccioes en 8 30 etapas.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 17

En cuanto a los problemas que plantea la segmentacin de instrucciones podemos
encontrarnos con casos en los que se rompa la ejecucin paralela de instrucciones cuando se
intente acceder simultneamente a un mismo recurso (por ejemplo, a la memoria para leer la
siguiente instruccin a ejecutar [cdigo] y para leer almacenar el contenido de un registro
[datos]). El conjunto de instrucciones siguiente ilustra este problema:
ADD R4, R3, R2
SUB R2, R3, R4
MOV R3, [R2]
AND R3, R4, R5


Ilustracin 16. Problema al intentar un acceso simultneo a memoria.

En este ejemplo no se puede ejecutar simultneamente la instruccin MOV R3, [R2] y
buscar la instruccin siguiente, AND R3, R4, R5. Para solucionar este problema, las CPUs de
propsito general no acceden directamente a la memoria sino que trabajan con una memoria
cach de nivel 1 (L1). Esta memoria cach esta dividida en dos partes, una para cdigo y otra
para datos, de tal modo que sea posible el acceso simultneo a cada una de estas partes.

En cuanto a la implementacin llevada a cabo por los fabricantes, Intel, en el Pentium IV
Prescott utiliza una segmentacin con 31 etapas. Por otra parte, AMD, en el Athlon 64, utiliza
14 etapas pero en cada etapa se hacen ms cosas. Con esto tambin se reduce el calor
disipado por la CPU.

Captulo 2.2.2. LA REPLICACIN DE UNIDADES FUNCIONALES.

La replicacin de unidades funcionales consiste en poder ejecutar simultneamente ms
de una instruccin al aumentar el nmero de unidades funcionales de la CPU (ms de una
ALU, ms de un bus, ms de una unidad de control, etc).

Las CPUs que son capaces de trabajar en cada etapa de segmentacin sobre varias
instrucciones se denominan multiescalares.

El extremo de la replicacin es tener dos CPUs completas sobre un mismo circuito
impreso (Dual core CPU). Por otra parte, Intel incorpora la caracterstica del multihilo
(hyperthreading).

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 18

Ejercicio:
Se ha construido un CPU que requere 4 ciclos (periodos de reloj) para ejecutar cualquier
instruccin. Tras probar diferentes periodos de reloj se comprueba que el periodo mnimo con
el que es capaz de trabajar correctamente es ns 2 .

a) Cul es la mxima frecuencia de reloj que puede emplearse en la CPU anterior?
MHz 500 Hz 10 500 Hz 10 5 Hz 10
2
1
s 10 2
1
ns 2
1 1
6 8 9
9
= = = = = = =



b) Cuntas instrucciones puede ejecutar por cada ciclo de reloj? Ejemplo: 1, 2
instrucciones/ciclo.
nes instruccio 25 , 0
ciclos 4
n instruccio
ciclo 1 =

c) Cuntas instrucciones por segundo puede ejecutar?
segundo
nes instruccio
10 125
ciclo
nes instruccio
25 , 0
segundo
ciclos
10 500
ciclo
nes instruccio
25 , 0 Hz 10 500
ciclo
nes instruccio
25 , 0 MHz 500
6 6
6


= =
= =


Ejercicio:
En la prctica, empleando la tcnica de segmentacin se consigue incrementar la
notablemente la frecuencia de reloj de la CPU, el nmero de instrucciones que puede ejecutar
por ciclo de reloj y por tanto, el nmero de instrucciones por segundo.

Para mejorar el rendimiento de la CPU anterior se ha dividido la ejecucin de todas las
instrucciones en 20 etapas, cada una de las cuales requiere un ciclo de reloj. Se han hecho
pruebas haciendo que las 20 etapas trabajen en modo no segmentado (em este modo no hay
paralelismo en en la ejecucin, pues en cada ciclo slo hay una etapa activa) y se comprueba
que la CPU es capaz de ejecutar a lo sumo 100 millones de instrucciones por segundo.

A continuacin se ponen a trabajar las 20 etapas de forma paralela, empleando la
tcnica de segmentacin.

a) Cul es la mxima frecuencia de reloj que puede emplearse una vez segmentada la
CPU?
GHz 2
Hz 10 2000
segundo
ciclos
10 2000
etapa
ciclo
1
n instruccio
etapas
20
segundo
nes instruccio
10 100
6 6 6
=
= = =


b) Cuntas instrucciones puede ejecutar la CPU segmentada cada ciclo de reloj?
Ejemplo: 1, 2 instrucciones/ciclo.
Por definicin,
ciclo
n instruccio
1 .

c) Cuntas instrucciones por segundo puede ejecutar la CPU segmentada?
segundo
nes instruccio
10 2000
ciclo
n instruccio
1
segundo
ciclos
10 2000
6 6
= .

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 19

Captulo 2.3. LA ARQUITECTURA IA 32.

Vamos a explicar el funcionamiento de una CPU real basndonos en la arquitectura IA
32. Esta arquitectura est soportada actualmente por fabricantes como Intel, AMD, VIA,
etctera.

Hablaremos de arquitectura en relacin a la programacin de la CPU (registros, juegos
de instrucciones, ). Cada uno de los fabricantes mencionados anteriormente proporcionan la
misma arquitectura, sin embargo, la implementacin (organizacin interna de los componentes)
difiere. Esta implementacin suele llamarse microarquitectura.

Captulo 2.3.1. INTRODUCCIN HISTRICA A LA ARQUITECTURA IA 32.

(En apuntes)

Captulo 2.3.2. SOPORTE DE LA ARQUITECTURA IA 32 A LOS SISTEMAS OPERATIVOS
MULTITAREA.

Vamos a estudiar los aspectos ms relevantes de la arquitectura IA 32 y cmo stos
posibilitan el soporte a sistemas operativos multitarea.

Captulo 2.3.2.1. MODOS DE OPERACIN.

Las CPUs con arquitectura IA 32 pueden funcionar en tres modos de operacin:
Real
Protegido
Gestin

Cada uno de estos modos define un comportamiento distinto de la CPU.

El modo protegido es el que permite el soporte a sistems operativos multitarea.
Generalmente, la CPU trabajar en este modo.

El modo real se comporta como un 8086 rpido. La razn de ser de este modo de
operacin es por motivos de compatibilidad. Cada vez que una CPU con arquitectura IA 32
arranca lo hace en modo y real y al ejecutar una determinada instruccin, generalmente por
parte del sistema operativo, se pasa a modo protegido.

Dentro del modo protegido existe el modo real virtual que permite emular a varias
arquitecturas 8086. Por ejemplo, dentro de los sistemas operativos Windows actuales, emular
varias terminales de MS DOS.

El modo de gestin es un modo de la CPU en el que sta entra cuando se producen
determinadas interrupciones especiales. En cuyo caso se salva el contexto de la CPU, se
ejecuta una rutina de tratamiento de la interrupcin y al finalizar, se restaura el contexto
continuando como si nada hubiera sucedido. La CPU entrar en este modo, por ejemplo, al
recibir interrupciones relacionadas con la gestin de energa.

A partir de este punto, vamos a centrarnos siempre en el modo protegido.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 20

Captulo 2.3.2.2. REGISTROS DE EJECUCIN BSICOS.

Distinguimos los siguientes tipos de registros:
Registros de propsito general
Registros segmento
Registro de estado y control
Registro puntero de instruccin

Los registros de propsito general tienen todos 32 bits y se utilizan para almacenar datos
o direcciones de memoria. Se denominan: EAX, EBX, ECX, EDX, ESI, EDI, EBP.

Los registros segmento tienen 16 bits y sirven para almacenar selectores de segmento.
Se denominan: CS, DS, ES, FS, GS, SS. Estos registros constan de tres campos:
RPL (requested priviledge level). Es un campo de 2 bits e indica el nivel de privilegio
del selector en el rango [0, 3].
TI (table indicator). Es un campo de 1 bit e indica la tabla de descriptores de
segmento a utilizar. Puede ser:
o GDT (global descriptor table). Tabla comn para todas las tareas.
o LDT (local descriptor table). Tabla especfica para cada tarea.
ndice. Es un campo de 13 bits que es un ndice dentro de la tabla de descriptores
de segmento utilizada.
Podemos considerar que el selector tiene en realidad 14 bits que permiten seleccionar
un descriptor de segmento.

Los registros de estado y control (EFLAGS) contienen los siguientes tipos de flags:
Operaciones aritmtico lgicas (acarreo, signo, zero, overflow, )
IF (interruption flag)
TF (trace flag). Cada vez que se ejecuta una instruccin se invoca a una rutina de
tratamiento de interrupcin. Este flag es utilizado por los depuradores.
IOPL (input output priviledge level). Indica el nivel de privilegio necesario para
llevar a cabo operaciones de Entrada/Salida.


El registro puntero de instruccin (EIP) tiene 32 bits y es equivalente al registro PC de la
CPU terica. Almacena la direccin de la siguiente instruccin a ejecutar.

Tambin existen otros registros como CR0 CR4, registros de coma flotante, etctera.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 21

Captulo 2.3.2.3. MODELO DE MEMORIA.

En la CPU terica disponamos de un nico espacio de direcciones (ED). En la
arquitectura IA 32 existen tres espacios de direcciones de memoria:
Espacio de direcciones lgicas
Espacio de direcciones lineales
Espacio de direcciones reales

Hablaremos de espacio de direcciones en relacin con todas las posibles direcciones
que puede direccionar la CPU.

Las direcciones lgicas son las direcciones con las cuales trabajan los programas.
Cualquier direccin de memoria que se especifique en un programa ser siempre una direccin
lgica. Por ejemplo, MOV EAX, [etiqueta].

Una direccin lgica consta de un selector (16 bits) y un desplazamiento (32 bits), por
tanto, el espacio de direcciones lgicas es de 64 Tb.

Esta direccin lgica se traduce en una direccin lineal mediante un mecanismo de
segmentacin. Posteriormente, la direccin linea ser traduce en una direccin real mediante
un mecanismo de paginacin. Tanto el mecanismo de segmentacin como de paginacin son
componentes hardware de la CPU. Por otra parte, el mecanismo de segmencacin no se
puede desconectar pero s el de paginacin, en cuyo caso, la direccin fsica coincidir con la
direccin lineal.

Las direcciones fsicas son equivalentes a las direcciones con las que trabajbamos en
la CPU terica.

Las direcciones lineales son aquellas direcciones que llegan al mecanismo de
paginacin.


Ilustracin 17. Modelo de memoria de la arquitectura IA - 32

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 22

Las direcciones lgicas pueden interpretarse como un conjunto de espacios de
direcciones lineales independientes divididos en segmentos. Cada uno de estos segmentos
est definido por un selector. Cada selector hace referencia a un descriptor de segmento que
nos dice cual es el tamao del mismo y su direccin de origen. El descriptor de segmento
consta de los siguientes campos:
Direccin base. Direccin de origen del segmento o direccin del desplazamiento
cero dentrol del mismo.
Tamao. Mximo desplazamiento posible dentrol del segmento. Este valor est
comprendido entre 4 Kb 4 Gb.
Atributos. Indican si el segmento es de lectura, escritura, ejecucin, etctera.
Adems contiene el campo DPL (descriptor priviledge level) que indica cul es el
privilegio necesario para poder acceder a este segmento.


Ilustracin 18. Conversin de direccin lgica a lineal.

Existen dos registros GDTR y LDTR. El registro GDTR contiene la direccin lineal de
comienzo de la tabla global y el LDTR, la direccin lineal de comienzo de la tabla local. Cada
una de estas tablas tiene 8192 2
13
= descriptores.

Cualquier acceso a memoria requiere convertir una direccin local a lineal utilizando el
descriptor de segmento, que tambin se encuentra en memoria. Este proceso sobrecarga el
sistema, disminuyendo el rendimiento.

Para solucionar este problema se utilizan unos registros especiales, invisibles al
programador, denominados registros sombra y que se utilizan para almacenar descriptores
de segmento.
Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 23

Cada vez que se carga un nuevo valor en el registro de segmento, la CPU lee el
descriptor de segmento asociado y lo almacena en su registro sombra. Estos valores
generalmente slo son necesarios inicializarlos en el momento en que se ejecuta una tarea y
suelen ser constantes durante dicha ejecucin.

Vamos a ver ahora cmo las instrucciones de ensamblador trabajan con direcciones
lgicas.

Distinguimos tres tipos de acceso a memoria:
Bsqueda de instruccin
Acceso a datos estticos
Acceso a datos dinmicos (pila)

En relacin con la bsqueda de instruccin, el registro EIP proporciona el
desplazamiento y CS, el selector.


Ilustracin 19. Generacin de direcciones lineales la bsqueda de instruccin

Para el acceso a datos estticos, por ejemplo, MOV EAX, [EDX], el registro EDX
proporciona el desplazamiento y DS, el selector.


Ilustracin 20. Generacin de direcciones lineales en el acceso a datos estticos


Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 24

En ltimo lugar, para el acceso a datos dinmicos, por ejemplo, POP EAX, el registro
ESP proporciona el desplazamiento y SS, el selector.


Ilustracin 21. Generacin de direcciones lineales en el acceso a datos dinmicos (pila)

La segmentacin es una tcnica que no se utiliza en la prctica al ser un mecanismo
complejo por lo que el sistema operativo tambin es ms complejo y disminuye el rendimiento.
Adems, se complican las herramientas de desarrollo (compiladores) para hacer la
segmentacin transparente al usuario. La segmentacin lo nico que presenta son
inconvenientes y ninguna ventaja notable frente a la paginacin, por lo que este mecanismo no
se utiliza.

Sin embargo, el mecanismo de segmentacin no se puede desactivar por lo que se opta
por reducirlo a su mnima expresin configurando la tabla de descriptores de modo que la
direccin lineal sea igual a la direccin lgica. Esto se denomina modelo de memoria plano.

El modelo de memoria plano se consigue programando la tabla de descriptores con la
direccin base 0000 0000h y con un tamao de 4 Gb.

Como consecuencia al desactivar la segmentacin desaparece la proteccin que
ofrecia dicho mecanismo. La proteccin, con el modelo de memoria plano, la proporcionar en
este caso, la paginacin.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 25

Captulo 2.3.2.4. NIVELES DE PRIVILEGIO.

Los niveles de privilegio permiten definir qu instrucciones puede ejecutar el sistema
operativo y cules, una tarea. La arquitectura IA 32 proporciona cuatro niveles de prioridad
(03) siendo el 0 el ms privilegiado y el 3, el menos. Sin embargo en la prctica, los sistemas
operativos multitarea como Windows o Linux utizan slo dos niveles, el 0 y el 3. Esto es as
debido a que la paginacin, que es la que proporciona la proteccin de memoria, trabaja con
dos niveles.


Ilustracin 22. Niveles de privilegio

Los elementos de la CPU que estn marcados con niveles de privilegio son:
El campo RPL (requested privilegde level) de un selector
El campo DPL (descriptor privilegde level) de un descriptor
El campo IOPL (input output priviledge level)

El campo RPL de un selector y en particular, el campo RPL del registro CS se le
denomina CPL (current privilegde level) y es donde se almacena el nivel de privilegios de
ejecucin actual.

El campo DPL forma parte del atributo de un descriptor e indica el nivel de privilegio del
segmento, es decir, indica el nivel de privilegio que debe tener la tarea para que pueda acceder
a este segmento.

La arquitectura IA 32 tiene un espacio de direcciones entrada / salida de 4 Kbytes cuyo
objetivo era ubicar las interfaces de los dispostivos de E/S. Para trabajar con este espacio de
direcciones se utilizan dos instrucciones:
IN para leer
OUT para escribir
Para poder ejecutar las instrucciones IN y OUT o lo que es igual, para acceder al espacio
de direcciones de E/S es necesario tener un privilegio mnimo indicado por el campo IOPL. En
la prctica, este campo tendr el valor 00h (nivel 0) y el campo CPL tambin ser 0 para poder
ejecutar IN y OUT. CPL slo ser 0 cuando se est ejecutando el sistema operativo y as slo
l podr acceder a los dispositivos de E/S. As, el espacio de direcciones de E/S se protege
mediante el campo IOPL. Sin embargo, este espacio de direcciones en la prctica slo se
utiliza para interfaces heredadas (por ejemplo, para el puerto serie).
Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 26

Descritos los campos marcados con niveles de privilegio vamos a destacar varios puntos
relativos a los niveles de privilegios.
Existen un conjunto de instrucciones privilegiadas que slo pueden ejecutarse
cuando el nivel de privilegios es 0.
Hay un conjunto de instrucciones denominadas de E/S que slo pueden ejecutarse
cuando CPL es igual o ms privilegiado que IOPL.
Para que el procesador cambie el nivel de privilegio, por ejemplo, durante la llamada
a un servicio del sistema operativo, es necesario cargar en el registro CS un valor del
campo CPL diferente. Este proceso tiene que ser filtrado para que no pueda ser
realizado por una tarea. As, se llevan a cabo una serie de comprobaciones sobre el
valor del CPL actual, el RPL del nuevo CS y con el DPL del nuevo segmento.
Antes de cargar un nuevo valor en un registro de segmento de datos (DS, SS, FS,
GS) se llevan a cabo una serie de comprobaciones de privilegios sobre los campos
CPL actual, RPL del nuevo selector y DPL del nuevo descriptor.
Cada vez que falla alguna de las comprobaciones anteriores se genera una
excepcin de proteccin general. Por ejemplo, esto ocurre cuando una tarea trata de
ejecutar la instruccin CLI. En este caso, la excepcin transfiere el control al SO por
medio de la rutina de tratamiento o manejador asociado, el cual finaliza la tarea.

Captulo 2.3.2.5. MECANISMOS DE TRANSFERENCIA DE CONTROL AL SISTEMA OPERATIVO.

Se produce la transferencia de control de una tarea al sistema operativo cuando se llama
a un servicio, se produce una interrupcin o una excepcin. Esta transferencia se realiza a
travs de un manejador. En la arquitectura IA 32 disponemos de una tabla de descriptores de
interrupcin IDT (interruption descriptor table). Cada entrada de dicha tabla recibe el nombre
de puerta y son unos descriptores especiales.

La tabla de descriptores de interrupcin no comienza una direccin fija sino que lo hace
en la direccin lineal a la que apunta el registro IDTR. Este registro adems almacena el
tamao de la tabla IDT.


Ilustracin 23. Tabla de descriptores de interrupcin

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 27

Cada puerta tiene un tamao de 8 bytes y el tamao mximo de la tabla es de 256
entradas. Cada puerta contiene un selector y un desplazamiento que indican la direccin lgica
del manejador. Adems, tiene un tercer campo, que son atributos utilizados para definir el tipo
de puerta y su nivel de privilegio ya que existen servicios a los que slo puede llamar el propio
sistema operativo y servicios que exporta a las tareas. En cuanto a los tipos de puertas
distinguimos:
Task gates. Puertas de tarea.
Interrupt gates. Se utilizan para llamadas al sistema e interrupciones.
Trap gates. Se utilizan para las excepciones.


Ilustracin 24. Tabla de descriptores de interrupcin (IDT) de Windows

La diferencia fundamental entre llamadas a servicios, interrupciones y excepciones es la
manera de generar el nmero de interrupcin, como se vio anteriormente (Captulo 1.2.
Introduccin a los sitemas opertativos multitarea).

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 28

Captulo 2.3.2.6. LLAMADAS A SERVICIOS DEL SISTEMA OPERATIVO.

Para llamar a un servicio se utiliza una instruccin de tipo INT numero_instruccion. Por
ejemplo, en Windows: INT 2Eh.

Captulo 2.3.2.7. INTERRUPCIONES.

Las interrupciones son generadas por las interfaces de los perifricos para solicitar la
atencin de la CPU. A travs de las lneas LINT del APIC se genera la interrupcin y
proporciona a la CPU el nmero de interrupcin. Cuando no existe APIC o no est programado
las lneas LINT funcionan como entradas INTR o NMI. INTR es una lnea de petici de
interrupcin mascarable que significa que la interrupcin pueda estar inhabilitada a travs del
registro EFLAGS. NMI es una lnea de peticin no marcarable.

Captulo 2.3.2.8. EXCEPCIONES.

Son un mecanismo de transferencia de control al sistema operativo y se generan cuando
la CPU detecta una situacin anmala. En la arquitectura IA 32 existen los siguientes tipos de
excepciones:
Fallos (fault)
Abortos (abort)
Trampas (trap)

Los fallos sealizan errores no catastrficos durante la ejecucin de instrucciones, es
decir, son errores que no afectan a la integridad del sistema. En la arquitectura IA 32
distinguimos:
Fallos recuperables. Fallos leves que se pueden solventar y una vez solventados
se vuelve a ejecutar la instruccin que caus el fallo como si nada hubiera pasado.
Por ejemplo, al ejecutar la instruccin MOV EAX, [EBX] se intenta acceder a una
direccin que no se encuentra en memoria por lo que se produce un fallo de pgina.
El manejador de la excepcin del fallo de pgina cargar la pgina en memoria y se
volver a ejecutar MOV EAX, [EBX].
Fallos no recuperables. Fallos que no se pueden recuperar y provocan por lo
tanto la finalizacin de la tarea. Por ejemplo, al ejecutar la instruccin MOV
EAX,[EBX] y EBX apunta a una zona que no tiene asociado almacenamiento ni en
disco ni en memoria. El manejador de la excepcin de fallo de pgina no puede
subsanar el problema y la tarea finaliza.


Ilustracin 25. Fallo recuperable
Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 29


Ilustracin 26. Fallo no - recuperable

Las excepciones de tipo aborto se utiliza para indicar fallos catastrficos. Por ejemplo: se
corrompen las tablas del sistema, como la IDT. Cuando ocurren este tipo de excepciones, el
sistema operativo, mediante el manejador de la excepcin, lleva a cabo un cierre controlado del
sistema.


Ilustracin 27. Aborto

Las excepciones de tipo trampa se emplean para transferir el control de la ejecucin a
rutinas de depuracin. Cuando est habilitado el modo traza, justo despus de terminar la
ejecucin de una instruccin se produce una excepcin de tipo trampa. Para que se generen
estas excepciones es necesario que el bit TF del registro EFLAGS est habilitado. Por otra
parte, justo despus de entrar en la rutina se deshabilitan los bits TF e IF durante un breve
intervalo de tiempo. Despus de la ejecucin de la rutina de tratamiento se ejecutar la
siguiente instruccin a la que estaba en curso antes de generarse la excepcin.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 30


Ilustracin 28. Trampa

Captulo 2.3.2.9. SECUENCIA DE PASOS DURANTE LA TRANSFERENCIA DE CONTROL.

(En apuntes)

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 31

Captulo 3. LA JERARQUA DE MEMORIA.

Vamos a estudiar los cambios que tendr que sufrir la jerarqua de memoria para dar
soporte a sistemas operativos multitarea.

Captulo 3.1. INTRODUCCIN.

La funcin de la jerarqua de memoria es almacenar instrucciones (cdigo) e informacin
(datos). El objetivo consiste en obtener una memoria de gran tamao para almacenar la mayor
cantidad de datos y cdigo; y de la mayor velocidad posible. Por ejemplo, en instrucciones de
la CPU terica como MOV [R3], R5 o MOV R3, [R5] se producan ciclos de espera ya que la
memoria es ms lenta que el procesador. En este sentido, el objetivo que planteamos es
conseguir que la jerarqua de memoria sea lo ms rpida posible para evitar los ciclos de
espera descritos.

Definicin: Influencia de la velocidad de la memoria:
La velocidad de la memoria influye en el rendimiento del sistema de acuerdo a la
siguiente expresin:
memoria de instrucion por nes instruccio
ns) (en memoria la de velocidad
Periodo
1
e equivalent Frecuencia
+
=

Por ejemplo, para un procesador a 1 GHz. con un tiempo de acceso a memoria de 60 ns.
y capaz de ejecutar 4 instrucciones normales por cada instruccin de acceso a memoria. As:
MHz. 5 , 6 GHz. 065 , 0
ns 16
1
4
ns 64
1
4
ns 60
Hz 1
1
e equivalent Frecuencia = = =
+
=


Ilustracin 29. Desfase entre las velocidades de la CPU y la memoria

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 32

Vemos como en principio es necesario aumentar el rendimiento de la memoria, para lo
cual disponemos de las siguientes tecnologas:
RAM esttica (SRAM). Su celda bsica es un biestable. Es la memoria ms rpida.
RAM dinmica (DRAM). Su celda bsica es un condensador. Su principal
inconveniente es que necesita refrescarse con relativa frecuencia.
Almacenamiento magntico (discos duros, cintas, etctera). Tienen mayor
capacidad pero son muy lentos.

Ahora comparamos los tiempos de acceso, obteniendo los siguientes resultados:
SRAM. Su tiempo de acceso es aproximadamente el tiempo de un ciclo de la CPU.
DRAM. Su tiempo de acceso es unas 100 400 veces el tiempo de un ciclo de la
CPU.
Almacenamiento magntico. Su tiempo de acceso es aproximadamente 1.000.000
veces el tiemo de un ciclo de la CPU.

Vemos como, a priori, podemos pensar que la tecnologa ms adecuada puede ser la
RAM esttica (SRAM); sin embargo, no hemos hablado del precio de la memoria que,
obviamente, influye en la toma de decisiones. Hablaremos del precio de la memoria en
relacin al material requerido para construir sus celdas bsicas y la energa consumida. As
tenemos:
SRAM. Es la tecnologa ms cara ya que requiere un mnimo de 6 transistores y
consume mucha energa.
DRAM. Esta tecnologa tiene un precio intermedio y slo requiere un transistor.
Almacenamiento magntico. Es la tecnologa ms barata. Su celda bsica es una
zona de material magntico muy pequea.


Ilustracin 30. Relacin velocidad - coste entre las tecnologas de memoria

Vemos como la memoria que es muy rpida tambin resulta muy cara y viceversa. La
solucin es combinar todas las soluciones anteriores en o que se denomina jerarqua de
memoria.
Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 33

Captulo 3.2. CONCEPTO DE LA JERARQUA DE MEMORIA.

Como vimos anteriormente, buscamos un sistema de memoria con alta capacidad y alta
velocidad, as como, con un bajo coste. Sin embargo, ninguna de las tecnologas anteriores
satisface por s sola estos requisitos. La solucin consiste en combinar todas las tecnologas de
tal modo que una tecnologa rpida se utilice para almacenar datos usados frecuentemente y
una tecnologa lenta, para datos usados menos frecuentemente. Para conseguir esto
necesitamos conocer a priori los datos que tendrn una mayor probabilidad de acceso futuro
para poder ser almacenados en memorias rpidas. Adems estos datos debern ser pocos y
de pequeo tamao. Estas dos condiciones definen el principio de localidad.

Definicin: Principio de localidad:
Si se accede a una direccin de memoria, se acceder en el futuro a una direccin de
memoria prxima. Por ejemplo: ejecucin secuencial de instrucciones o ejecucin de bucles en
el caso del cdigo o acceso a valores de arrays, matrices, listas, etctera en el caso de datos.
De este modo podemos hablar de proximidad temporal cuando las direcciones de memoria se
ejecutarn en periodos de tiempo muy pequeos o proximidad espacial, cuando los datos se
encuentran en direcciones prximas o consecutivas en la memoria.


Ilustracin 31. 1erarqua de memoria

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 34

Captulo 3.3. LA MEMORIA CACH.

Vamos a estudiar la jerarqua de memoria partiendo desde el nivel ms cercano a la
CPU: la memoria cach. Estudiaremos la memoria cach desde tres puntos de vista: su
funcionamiento, la comunicacin con la memoria principal y su implementacin en la
arquitectura IA 32.

Captulo 3.3.1. CONCEPTOS PREELIMINARES.

La memoria cach es la ms rpida del sistema y en la prctica se implementa utilizando
tecnologa SRAM. Esta memoria se organiza en bloques, todos del mismo tamao. Cuando la
CPU intenta acceder a una direccin de memoria se comprueba si est cacheada, es decir, si
est en un bloque de la memoria cach. Puede ocurrir que
s se encuentre, en cuyo caso se servir el contenido de la direccin a la CPU a la
mxima velocidad; o que
no se encuentre, en cuyo caso se tendr que traer el dato de la memoria principal a
la cach previamente.
Por otra parte,cuando un dato no est en la memoria cach, el bloque de la memoria
principal que contiene dicha direccin se copia en un bloque libre de la memoria cach. Estos
bloques tendr el mismo tamao en la memoria principal y en la cach.


Ilustracin 32. Divisin de la memoria cach y la memoria principal en bloques

Ejemplo:
Vamos a considerar que la memoria cach tendr 8 bloques de 4 palabras cada bloque.
Emplearemos el trmino byte y palabra como si de sinnimos se tratara.
Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 35

Cada direccin de memoria principal consta de dos campos:
un campo que indica el nmero de bloque de memoria y
otro campo que indica el desplazamiento dentro de dicho campo

Por otra parte, la memoria cach incluye un mecanismo de control de cach a parte de
los bloques de almacenamiento. Este controlador permite determinar si una direccin est
cacheada, en cuyo caso se produce un acierto de cach; o no, en cuyo caso se produce un
fallo de cach que producir que se tenga que servir el bloque correspondiente desde la
memoria principal.

Existen tres factores que definen el funcionamiento de la memoria cach:
La estrategia de correspondiencia
La estrategia de de reemplazo
La estrategia de escritura

La estrategia de correspondencia define a qu bloque o bloques de memoria cach
puede ir cada bloque de memoria principal.
La estrategia de reemplazo define si en el caso de que se produzca un fallo de cach y
halla varios bloques de memoria cach candidatos a ser reemplazados, cul se reemplaza.
La estrategia de escritura define como se realizar la escritura, teniendo en cuenta
problemas de coherencia con la memoria principal.

Captulo 3.3.2. ESTRATEGIAS DE CORRESPONDENCIA.

Define a que bloque o bloques de memoria cach puede ir cada bloque de memoria
principal. En la prctica hay tres tipos de correspondencia:
Correspondencia directa
Correspondencia (totalmente) asociativa
Correspondencia asociativa por conjuntos

Captulo 3.3.2.1. CORRESPONDENCIA DIRECTA.

Cada bloque de memoria principal puede ir a uno y slo uno de los bloques de cach.
Para determinar el bloque de cach se utiliza la siguiente expresin:
( ) ( ) cache de bloques de Numero principal memoria de Bloque cache de Bloque =

En la prctica, el nmero de bloques de cach es una potencia de 2. As, la expresin
anterior quedara:
( ) ( )

2 principal memoria de Bloque cache de Bloque =



As, el bloque de cach se obtiene de los bits menos significativos que identifican el
bloque de memoria principal.

Con este planteamiento va a haber muchos bloques de memoria principal que tienen
asignados el mismo bloque de memoria cach. Cmo podemos saber qu bloque de memoria
est cacheado? El bloque de memoria principal que est cacheado en cada momento dentro
de un bloque de memoria cach se conoce a travs de su campo etiqueta. Cada bloque de
cach incorpora celdas de almacenamiento adicionales que almacenan la etiqueta.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 36


Ilustracin 33. Esquema de una memoria cach con correspondencia directa

El bit de validez nos dice si hay un bloque de memoria principal cacheado y la etiqueta,
qu bloque est cacheado en caso de que hubiera alguno cacheado.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 37

Vamos a estudiar ahora el funcionamiento de una memoria cach de correspondencia
directa. Partimos de una memoria cach vaca, es decir, con todos sus bits de validez a 0.


Ilustracin 34. Inicialmente la memoria cach est vaca

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 38

Posteriormente se produce una peticin de lectura sobre la direccin 01001110. Est
direccin, en caso de estar cacheada se tendr que situar en el bloque 3 de la cach. Sin
embargo, dicha direccin no est cacheada y se produce un fallo de cach.


Ilustracin 35. Al hacer la peticin de lectura sobre la direccin 01001110 se produce un fallo de
cach

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 39

A continuacin copiamos el bloque de memoria principal que contiene a la direccin
especificada sobre el bloque de cach, actualizando el valor de la etiqueta de bloque as como
su bit de validez, que pasar a ser 1. Ahora la memoria cach puede servir a la CPU el
contenido de la direccin especificada.


Ilustracin 36. Se carga el bloque correspondiente y se sirve el contenido de la direccin a la CPU

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 40

En otro momento intentamos acceder a la direccin 01001111. Esta direccin est
cacheada puesto que se encuentra situada en el bloque 3, cuyo bit de validez es 1 y la etiqueta
coincide por lo que se sirve el contenido de la direccin a la CPU.


Ilustracin 37. Se sirve el contenido de la direccin 01001111 a la CPU

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 41

En una posterior lectura, intentamos acceder a la direccin 01010000. Esta direccin se
deber encontrar en el bloque 4 de la cach. Sin embargo, su bit de validez es 0 por lo que se
produce un fallo de cach.


Ilustracin 38. Al intentar acceder a la direccin 01010000 se produce un fallo de cach

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 42

Se copia el bloque en el que se encuentra la direccin especificada de la memoria
principal al bloque correspondiente de la cach y se sirve el contenido de la direccin a la CPU.


Ilustracin 39. Se carga el bloque de correspondiente y se devuelve el contenido de la direccin

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 43

En ltimo lugar, tratamos de leer el contenido de la direccin 11001111. Dicha direccin,
en caso de estar cacheada, deber estar localizada en el bloque 3. Vemos como el bit de
validez de dicho bloque es 1 pero las etiquetas de la direccin y el bloque no coinciden, por lo
que nuevamente se produce un fallo de cach.


Ilustracin 40. Se produce un fallo de cach al no coincidir los valores de las etiquetas

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 44

Nuevamente, se carga en el bloque correspondiente de la cach el bloque de memoria
principal en el que se encuentra la direccin especificada y se sirve el contenido de la misma a
la CPU.


Ilustracin 41. Se carga el bloque correspondiente de la cach y se sirve a la CPU el contenido de la
direccin especificada

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 45

Captulo 3.3.2.2. CORRESPONDENCIA (TOTALMENTE) ASOCIATIVA.

La estrategia de correspondencia directa produce muchos fallos de cach. La estrategia
de correspondencia (totalmente) asociativa permite que cada bloque de memoria principal
pueda ir a cualquier bloque de memoria cach. Con esta correspondencia, la etiqueta coincide
con el bloque de memoria principal.

Tericamente, esta correspondencia es la ms eficiente ya que produce el menor
nmero de fallo de cach, sin embargo, su circuitera de control es muy costosa, por lo que en
la prctica no se aplica.


Ilustracin 42. Esquema de na memoria cach con correspondencia (totalmente) asociativa

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 46

Captulo 3.3.2.3. CORRESPONDENCIA ASOCIATIVA POR CONJUNTOS.

En la correspondencia directa se producan numerosos fallos de cach y en la
correspondencia (totalmente) asociativa, su circuitera de control era muy costosa. En la
correspondencia asociativa por conjuntos se opta por un trmino medio, de modo que la
memoria cach se organiza en conjuntos del mismo tamao formado por un numero
determinado de bloques de cach, denominado nmero de vas. La idea es que cada bloque
de memoria principal pueda ir a un nico conjunto pero dentro de este conjunto pueda ir a
cualquiera de sus bloques.


Ilustracin 43. La memoria cach se organiza en conjuntos. Cada bloque de memoria principal
puede ir a un nico conjunto pero dentro de este conjunto pueda ir a cualquiera de sus bloques

Los bits menos significativos del bloque de memoria principal proporcionan el conjunto y
los restantes bits, la etiqueta.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 47


Ilustracin 44. Esquema de una memoria cach con correspondencia asociativa por conjuntos

La estrategia de correspondencia por conjuntos es una estrategia genrica en el sentido
de que la estrategia de correspondencia directa es una estrategia de correspondencia por
conjuntos con conjuntos de una sla va. Por otra parte, la estrategia de correspondencia
(totalmente) asociativa es una estrategia de correspondencia por conjuntos con un nico
conjunto.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 48

Captulo 3.3.3. ESTRATEGIAS DE REEMPLAZO.

Cada vez que se produce un fallo de cach se copia un bloque de memoria principal a
memoria cach; bloque que contiene la direccin a la que se intenta acceder. El bloque de
memoria cach en el que se almacenar depende, entre otras cosas, de la estrategia de
reemplazo. Esta estrategia indica qu bloque de memoria cach hay que reemplazar cuando
se produce un fallo de cach y hay varios bloques de cach candidatos. Hay que tener en
cuenta no slo los posibles candidatos sino adems, si estn ocupados o no.

El problema que tenemos es, cmo elegimos el bloque a reemplazar? Tenemos dos
estrategias:
LRU (Least Recent Used)
Aleatoria

El algoritmo LRU reemplaza aquel bloque que menos ha sido usado recientemente. Para
lograr esto, la memoria cach aade a los bloques un campo en el que se almacena
informacin referida a la frecuencia de acceso.

El algoritmo aleatorio, como su nombre indica, selecciona el bloque a reemplazar de
manera aleatoria entre los candidatos.

Captulo 3.3.4. ESTRATEGIAS DE ESCRITURA.

La escritura en memoria presenta problemas respecto a la lectura debido a que es
necesario mantener la coherencia entre la memoria principal y la memoria cach. Para dar
solucin a este problema tenemos dos estrategias:
Escritura directa (Write through)
Escritura diferida (Write back)

La estrategia de escritura directa o write through consiste en que, cada vez que la CPU
escribe un dato, este dato se escribe tanto en memoria cach como en memoria principal. El
principal inconveniente de esta estrategia es la disminucin drstica del rendimiento del
sistema al realizar continuas escrituras sobre memoria principal.

La estrategia de escritura diferida o write back consiste en que, cada vez que la CPU
escribe un dato en memoria este dato slo se escribir en memoria cach y migrar a memoria
principal cuando el bloque de cach sea reemplazado. Con esta estrategia de escritura es
necesario aadir un bit adicional a cada bloque de cach denominado bit dirty de tal modo
que, cada vez que la CPU escribe un dato en memoria, el bit dirty se activa; y cuando se tenga
que reemplazar dicho bloque, previamente tendr que ser sincronizado con el bloque
correspondiente de memoria principal, tras lo cual el bit dirty se desactivar.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 49

Vamos a ilustrar el funcionamiento de esta estrategia de escritura. Para lo cual partimos
de una memoria principal y una memoria cach en el estado inicial:


Ilustracin 45. Estado inicial de la memoria principal y de la memoria cach

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 50

A continuacin se recibe una peticin de escritura sobre la direccin 01001101 en la que
se intentar escribir el dato FFh. Vemos como la direccin se pertenece al bloque 3 y puesto
que el campo etiqueta del bloque 3 y de la direccin 01001101 coinciden y el bit de validez es
1, el bloque de memoria principal en el que se encuentra la direccin referenciada se encuentra
actualmente cacheada, por lo que se escribe el dato correspondiente en dicho bloque y a
continuacin se marca como sucio.


Ilustracin 46. Escribimos un dato en la direccin especificada, marcando el bloque
correspondiente como sucio

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 51

Posteriormente se recibe una peticin de lectura sobre la direccin 11101110. Esta
direccin produce un fallo de cach ya que no coinciden las etiquetas de la direccin y del
bloque asociado a la misma (nuevamente, el bloque 3).


Ilustracin 47. Se produce un fallo de pgina al intentar leer una direccin perteneciente a un
bloque no - cacheado.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 52

Puesto que el bit dirty del bloque 3 se encontraba activado, se sava el contenido de
dicho bloque en memoria principal.


Ilustracin 48. Se salva el contenido del bloque "sucio" en memoria principal

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 53

A continuacin se trae de memoria principal el bloque que contiene la direccin
referenciada anteriormente, desactivando el bit dirty y finalmente, devolviendo el contenido de
la direccin.


Ilustracin 49. Se carga el bloque de memoria en el que se encuentra la direccin referenciada, se
desactiva el bit dirty y finalmente, se devuelve el contenido de la direccin

Captulo 3.3.4.1. EL PROBLEMA DE LA COHERENCIA.

La CPU trabaja con la memoria cach y por tanto, con una copia de la informacin. Si la
CPU es el nico elemento que accede a memoria, las estrategias de escritura descritas
anteriormente solucionan el problema planteado inicialmente. Sin embargo, hay ciertos
perifricos que pueden acceder a la memoria, de tal modo que estos perifricos pueden alterar
el contenido de ciertas direcciones.


Ilustracin 50. Adems de la CPU, existen perifricos capaces de acceder al espacio de direcciones
de la memoria principal

Si el bloque de memoria asociado a dichas direcciones est cacheado y la memoria
principal se modifica, se romper la coherencia entre la memoria principal y la memoria cach.

Este problema se puede solucionar marcando ciertos rangos del espacio de direcciones
como no cacheables, en cuyo caso, cuando desde la CPU se haga referencia a una direccin
perteneciente a un rango no cacheable, se leer o escribir directamente sobre la memoria
Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 54

principal. Esta solucin, obviamente, slo es viable si se aplica para rangos de memoria
relativamente pequeos o de lo contrario, el rendimiento del sistema disminuir al realizarse
operaciones de lectura y escritura directamente sobre la memoria principal. Estas soluciones
aparecen con dispositivos mapeados dentro del espacio de direcciones de la memoria
principal.

Cuando el rango de direcciones es relativamente grande, es ms eficiente utilizar
dispositivos con capacidad DMA (escritura directa sobre memoria). Este tipo de dispositivos
tienen la inteligencia suficiente como para mover grandes rangos de memoria sin la
mediacin de la CPU, reduciendo la sobrecarga de la misma y por tanto, incrementando el
rendimiento. Sin embargo, con esta solucin surge el problema de la coherencia:

Por ejemplo, un dispositivo con capacidad DMA escribe en memoria sobre un bloque
previamente cacheado. En este caso, la informacin almacenada en el bloque no se actualiza.

Por otra parte, supongamos que se escribe sobre un bloque de cach con estrategia de
escritura diferida. Si a continuacin, la interfaz de un perifrico con capacidad DMA lee un
bloque de memoria principal cacheado antes de ser actualizado, leer informacin no
actualizada.


Ilustracin 51. Problema del mantenimiento de la coherencia con interfaces de perifricos con
capacidad DMA

La solucin a estos dos problemas de coherencia es la tcnica de espionaje o snooping,
que se implementa en el controlador de cach. As, el controlador est monitorizando las lneas
de control y datos de la memoria principal de tal modo que, cuando un dispositivo con
capacidad DMA accede a la memoria, se comprueba si la direccin que se modific por la
interfaz del dispositivo ha sido cacheada, en cuyo caso, se marcar como invlido el bloque
correspondiente.

Por otra parte, si la interfaz de un perifrico intenta acceder a una direccin
perteneciente a un bloque cacheado y marcado como sucio detiene temporalmente el acceso,
a continuacin actualiza el bloque marcado como sucio de tal forma que la memoria principal
estar actualizada y posteriormente, el controlador de cach permitir a la interfaz del perifrico
con capacidad DMA que continue con el acceso a memoria.

Vamos a estudiar ahora los distintos casos en los que podemos emplear la tcnica de
snooping:

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 55

Si la interfaz de un perifrico realiza una lectura de memoria principal y la memoria cach
emplea una estrategia de escritura write through, en este caso no hay ningn problema de
incoherencia ya que la memoria principal siempre estar actualizada.

Si la interfaz de un perifrico realiza una lectura de memoria principal y la memoria cach
emplea una estrategia de escritura write back, en este caso existe un problema de
incoherencia si la interfaz del perifrico intenta leer una direccin de memoria principal
perteneciente a un bloque de memoria cacheado y adems modificado, es decir, su bit dirty
est activado.

Problema:
Los datos ledos pueden pertenecer a un bloque de memoria principal obsoleto, es decir,
modificado en la cach.

Solucin:
Ante esta situacin, se detiene la lectura para actualizar el bloque.


Ilustracin 52. Lectura de la interfaz de un perifrico. Memoria cach con estrategia de escritura
write - back

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 56

Si la interfaz de un perifrico realiza una escritura en memoria principal y la memoria
cach emplea una estrategia de escritura write through, en este caso existe un problema de
incoherencia si la interfaz del perifrico intenta escribir sobre una direccin de memoria
perteneciente a un bloque cacheado.

Problema:
Si el perifrico escribe en un bloque de memoria principal que se encuentra cacheado, el
bloque de la cach se convierte en obsoleto.

Solucin:
Espionaje del bus (snooping) y marca el bloque como invlido.


Ilustracin 53. Escritura de la interfaz de un perifrico. Memoria cach con estrategia de escritura
write - through

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 57

Si la interfaz de un perifrico realiza una escritura en memoria principal y la memoria
cach emplea una estrategia de escritura write back, en este caso existe un problema de
incoherencia si la interfaz del perifrico intenta escribir sobre una direccin perteneciente a un
bloque cacheado que puede incluso haber sido modificado previamente por la CPU, en cuyo
caso, su bit dirty estar activado.

Problema:
Puede tratar de escribirse en un bloque de memoria cacheado (caso write through),
pero si el bloque adems est modificado (incoherente) es un nuevo problema.

Solucin:
Actualizar el bloque en memoria principal, marcarlo como invlido y escribir el dato
correspondiente.


Ilustracin 54. Escritura de la interfaz de un perifrico. Memoria cach con estrategia de escritura
write - back

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 58

Captulo 3.3.5. ORGANIZACIN DE LA MEMORIA CACH.

Hay dos factores que influyen en la organizacin de la cach:
El nmero de niveles de cach.
La separacin en cachs de cdigo y datos.

Hasta ahora hemos trabajado con un nico nivel de cach, esto ocurra con los primeros
computadores que incluan memoria cach. Actualmente es frecuente tener cachs de varios
niveles (cach de nivel L1, L2, ), siendo el nivel ms bajo el ms prximo a la CPU. As, en el
caso de un fallo de cach L1, el bloque es servido por la cach L2 en lugar de ser servido por
la memoria principal. Estos dos niveles de cach es frecuente que sean incorporados en la
propia CPU. Adems, la cach L1 es ms rpida que la cach L2, pero ms pequea que sta.

Por otra parte, hemos supuesto que tenamos una cach que almacenaba tanto datos
como cdigo (instrucciones); sin embargo, es posible disponer de dos cachs especializadas
en datos y cdigo, respectivamente y ambas al mismo nivel. La cach unificada proporciona
una mayor tasa de aciertos frente a la cach separada. En la prctica, la cach L1 es una
cach separada y la L2, unificada.



Memoria
Principal


Cach L2


Cach L1
Datosl

Cach L2
Cdigo

CPU

Ilustracin 55. Esquema de la memoria cach

Al aplicar este modelo estamos consiguiendo un acceso simultneo a datos y a cdigo
multiplicando, en teora, la velocidad por dos.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 59

Captulo 3.3.6. MEMORIA CACH EN LA ARQUITECTURA IA 32.

La mayor parte de los procesadores para PC disponen de dos niveles de cach. Vamos
a describir como es este modelo de memoria cach en el procesador Athlon de AMD:
La memoria cach L1 de datos
La memoria cach L1 de cdigo
La memoria cach L2

La memoria cach L1 de datos tiene un tamao de 64 Kbytes con lneas (bloques) de 64
bytes y 4 vas por conjunto, lo cual da un total de 256 conjuntos.

La memoria cach L1 de cdigo tiene un tamao de 64 Kbytes con lneas (bloques) de
64 bytes y 16 vas por conjunto, lo cual da un total de 64 conjuntos.

La memoria cach L2 tiene un tamao de 256 Kbytes con lneas (bloques) de 64 bytes y
1 vas, lo cual da un total de 256 conjuntos.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 60

Captulo 3.4. MEMORIA PRINCIPAL.

Vamos a estudiar la memoria principal centrndonos en la comunicacin de sta con la
memoria cach. El objetivo que seguiremos es reducir el coste de un fallo de cach y de
actualizacin de un bloque de memoria.

Captulo 3.4.1. COSTE TEMPORAL DE UN FALLO CACH.

La memoria principal y la memoria cach intercambian informacin en bloques de
tamao bytes a travs de un bus de datos de tamao bytes (nmero de lneas).


Ilustracin 56. Intercambio de informacin entre memoria cach y memoria principal

Cuando ocurre un fallo de cach hay que transferir bytes desde memoria principal a
memoria cach. En cada acceso de lectura de transfieren bytes desde la memoria principal a
la memoria cach. Luego, cuntos accesos son necesarios para servir un fallo de cach?
Sern necesarios

accesos.

Por otra parte, necesitamos saber el tiempo necesario para un acceso de lectura. Cada
acceso de lectura de memoria lo mediremos en un tiempo expresado en ciclos del bus. Cada
acceso de lectura se divide en tres partes:
Envo por parte del controlador de cach de la direccin a buscar a travs del bus
de direcciones.
Bsqueda del dato direccionado de tamao bytes dentro de la memoria
principal.
La memoria principal proporciona el dato a la memoria cach sobre las lneas de
datos.

Vamos a particuarizar los datos anteriores con los valores:
= 32 bytes
= 8 bytes
operacin 1 = 1 ciclo
operacin 2 = 3 ciclos
operacin 3 = 1 ciclo

Con estos datos, el tiempo necesario para mover un bloque de memoria principal a
memoria cach ser:
( ) ( ) ciclos 20 5 4 5
8
32
1 3 1
8
32
op3 op2 op1 = = = + + = + +



Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 61

Captulo 3.4.2. COSTE TEMPORAL EN LA ACTUALIZACIN DE UN BLOQUE DE MEMORIA
PRINCIPAL.

Este proceso de actualizacin de un bloque de memoria principal ocurrir en dos
circunstancias:
Se produce un reemplazo de un bloque sucio.
La interfaz de un perifrico con capacidad DMA lee de un bloque de memoria
cacheado y sucio.

El coste temporal de actualizacin ser el nmero de accesos a memoria principal por el
coste temporal de un acceso de escritura en memoria principal. Este proceso de actualizacin
se divide en tres operaciones:
La memoria cach, a travs de su controlador, pone la direccin a travs de las
lineas de direcciones.
La memoria cach pone el dato a escribir sobre las lneas de datos y activa la
escritura.
El dato se escribe en la memoria principal.

Vamos a particularizar los datos anteriores con los valores:
= 32 bytes
= 8 bytes
operacin 1 = 1 ciclo
operacin 2 = 1 ciclo
operacin 3 = 4 ciclos

Con estos datos, el tiempo necesario para escribir un bloque de memoria cach en
memoria principal ser:
( ) ( ) ciclos 24 6 4 6
8
32
4 1 1
8
32
op3 op2 op1 = = = + + = + +



Captulo 3.4.3. MEJORAS EN LA ORGANIZACIN DE LA MEMORIA PRINCIPAL.

Vamos a estudiar cmo podemos mejorar el rendimiento de la memoria principal.
Tenemos dos caminos:
Mejorar la tecnologa de fabricacin, disminuyendo el tamao de los transistores y
por tanto, logrando una mayor velocidad de stos.
Mejorar la organizacin interna.

Vamos a centrarnos en este segundo punto. La mejora de la organizacin interna se
basa en dos conceptos:
La localidad, esto es, se leern / escribirn bloques de memoria con direcciones
consecutivas.
El paralelismo, esto es, organizacin de los componentes fsicos en grupos
(bancos) de modo que stos trabajen concurrentemente.

Vamos a considerar que cada vez que se produce un fallo de cach o una actualizacin
de un bloque de memoria principal intervienen las siguientes direcciones: F0000000h -
F000001Fh. Adems, vamos a suponer que la memoria principal se construye con dos
dispositivos de memoria que denotaremos por A y B.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 62

Captulo 3.4.3.1. MEMORIA NO ENTRELAZADA.

Vamos a centrarnos nicamente en un proceso de fallo de cach, aunque la
actualizacin sera anloga.

Este tipo de memoria es el visto en el ejemplo anterior, es decir, no presenta
optimizaciones.


Ilustracin 57. Esquema de memoria no - entrelazada. Cada dispositivo tiene un rango de
direcciones consecutivas

El bloque que queremos transferir pertenece nicamente al dispositivo A. Al producirse
un fallo de cach, se producir la lectura del bloque de memoria cach, el cual se encuentra en
el dispositivo A. Por tanto, la lectura se realizar siempre sobre dicho dispositivo.

Decimos que la memoria es no entrelazada cuando cada disposiitivo contiene un rango
de direcciones consecutivas.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 63

Captulo 3.4.3.2. MEMORIA ENTRELAZADA.

El problema que plantea la memoria no entrelazada es el desperdicio de recursos. El
objetivo que perseguimos es que ambos dispostivos trabajen simultneamente, es decir, en
paralelo. Tericamente, empleando dos dispositivos conseguimos disminuir el coste de un fallo
de cach casi a la mitad.


Ilustracin 58. Esquema de memoria principal entrelazada

Durante la operacin 1, tanto el dispositivo A como el dispositivo B reciben ambos la
misma direccin. Ambos buscan la direccin, en paralelo.

No podemos transferir simultneamente ambos datos buscados ya que el dato ser de
16 bytes y el bus de datos, de 8 bytes. Entonces un dispositivo ser el encargado en primera
ocasin de servir el dato, mientras que el siguiente dispositivo tendr que esperar.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 64

Captulo 3.4.3.3. AMPLIACIN DEL BUS DE DATOS.

Ampliando el bus de datos de 8 a 1 bytes conseguimos que los dispositivos A y B
puedan trabajar completamente en paralelo, disminuyendo el coste de un fallo de cach a la
mitad.


Ilustracin 59. Memoria principal entrelazada y bus ampliado

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 65

Captulo 3.4.3.4. ACCESO MEDIANTE RFAGAS.

Con memoria no entrelazada, el controlador de cach enva la direccin de bsqueda
en el bus de direcciones durante la operacin 1. Las direcciones sucesivas se consiguen
sumando 8 a la direccin actual.


Ilustracin 60. Memoria principal no - entralazada y rfagas

El acceso mediante rfagas considera que un dispositivo (memoria cach) genera la
direccin base y otro dispostivo (memoria principal) las direcciones sucesivas.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 66

Esta tcnica se puede emplear anlogamente para memoria principal entrelazada:


Ilustracin 61. Memoria principal entrelazada con bus ampliado y rfagas

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 67

Captulo 3.5. MEMORIA VIRTUAL.

La memoria virtual nos permite proporcionar soporte a sistemas operativos multitarea.

Captulo 3.5.1. INTRODUCCIN.

La memoria virtual permite utilizar el disco como un nivel adicional dentro de la jerarqua
de memoria. Una de sus caractersticas fundamentales es que permite ampliar la capacidad de
la memoria del sistema. Sin embargo, sta es posiblemente la funcionalidad menos importante.


Ilustracin 62. Esquema de la jerarqua de memoria.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 68

Los programas que se ejecutan sobre sistemas operativos multitarea trabajan
exclusivamente con direcciones lgicas. Estas direcciones virtuales se convierten a direcciones
fsicas que son las que llegan al sistema de memoria. Esta conversin se llevar a cabo en la
MMU (Memory manadgement unit).


Ilustracin 63. Los programas trabajan con direcciones lgicas, que son traducidas por la MMU en
direcciones fsicas, con las que trabaja el sistema de memoria

El conjunto de todas las direcciones virtuales posible es lo que se define como espacio
de direcciones lgicas o virtuales. Estas direcciones lgicas que llegan a la MMU son
convertirdas en direcciones reales o fsicas. El conjunto de todas las direcciones fsicas se
denomina espacio de direcciones reales o fsicas. Estas direcciones reales son las que llegan
al sistema de memoria.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 69

Cada tarea tiene su propio espacio de direcciones lgicas; sin embargo, solo existe un
nico espacio de direcciones lgicas para todo el sistema.


Ilustracin 64. Independencia de los espacios de direcciones virtuales

En los sistemas con arquitectura IA 32 se utilizan dos MMUs: una encargada de la
segmentacin y otra de la paginacin.

Por otro lado, para realizar la conversin de direccin virtual a direccin fsica se dispone
de una tabla asociada a cada tarea y empleada por la MMU.


Ilustracin 65. Tabla de traduccin asociada a cada tarea

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 70

Captulo 3.5.2. OBJETIVOS.

Los objetivos que ha de satisfaces la memoria virtual son los siguientes:
Ampliacin de la capacidad de memoria.
Proteccin de memoria.
Comparticin de memoria.
Simplificacin de las herramientas de desarrollo y carga.

Captulo 3.5.2.1. AMPLIACIN DE LA CAPACIDAD DE LA MEMORIA.

La ampliacin de la capacidad de memoria nos va a permitir ejecutar programas de
mayor tamao. Adems, tambin podremos ejecutar concurrentemente un mayor nmero de
tareas. Esto se consigue gracias a que la tabla de traduccin no slo permite asociar a
direcciones virtuales direcciones fsicas en memoria principal, sino tambin en disco.

Los sistemas operativos disponen de zonas de disco para implementar la memoria
virtual. Estas zonas reciben tpicamente el nobre de archivos de paginacin (en Windows) o
particiones de swap (en Linux). Tambin hay que tener en cuenta que a parte del archivo de
paginacin, es frecuente emplear el propio fichero ejecutable como fichero de paginacin, para
evitar la duplicacin del cdigo.


Ilustracin 66. Esquema de traduccin de direcciones virtuales a fsicas a travs de la MMU. Las
direcciones fsicas pueden estar en memoria o en disco y as se consigue aumentar la capacidad de
memoria

Cuando intentamos acceder a una direccin virtual que tiene asociada una direccin
fsica en el archivo de paginacin, la MMU genera una excepcin de tipo fallo de pgina. De
este modo, la rutina de tratamiento de la excepcin mueve el bloque de datos correspondiente
del archivo de paginacin a memoria principal. Una vez que el manejador ha movido el bloque
a memoria principal, la instruccin que gener la excepcin puede volver a ejecutarse.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 71

Captulo 3.5.2.2. PROTECCIN DE MEMORIA.

La proteccin de memoria nos permite solvertar dos deficiencias vistas en la CPU
terica:
el acceso de una tarea al espacio de direcciones de otra tarea y
del sistema operativo.

Para solucionar estos problemas podemos utilizar la tabla de traduccin. Cada tarea,
incluido el sistema operativo, dispone de una tabla de traduccin. As, podemos programar de
forma adecuada las tablas de pgina. Esto ser realizado por el sistema operativo.

Por otra parte, para evitar el acceso de tareas al espacio de direcciones del sistema
operativo se aade un campo adicional (campo de proteccin) a las tablas de traduccin. Este
campo contiene el nivel de privilegio mnimo necesario para poder acceder a una direccin
fsica determinada.


Ilustracin 67. Aadiendo un campo de proteccin a cada entrada de la tabla de traduccin
podemos establecer el nivel mnimo de provilegio para acceder a dicha direccin

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 72

Captulo 3.5.2.3. COMPARTICIN DE MEMORIA.

Normalmente se busca que los espacios de direcciones de las tareas sean
independientes, pero no siempre es as. A veces se necesita que dos tareas compartan
memoria, por ejemplo, para comunicarse entre s o para compartir cdigo (libreras de enlace
dinmico).

Para soportar la comparticin de memoria podemos programar las tablas de traduccin
de dos tareas para que el rea de memoria virtual de cada tarea apunte a un mismo rea de
memoria principal.


Ilustracin 68. La comparticin de memoria se logra programando adecuadamente las tablas de
traduccin de cada tarea

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 73

Captulo 3.5.2.4. SIMPLIFICACIN DE LAS HERRAMIENTAS DE DESARROLLO Y CARGA.

La simplificacin de las herramientas de desarrollo (compiladores, enlazadores, etctera)
y de carga se consigue gracias a que la memoria virtual permite trabajar con espacios de
direcciones independientes. De este modo, las herramientas de desarrollo pueden asignar
cualquier direccin virtual. As, las direcciones virtuales de un programa (cdigo, datos, pila,
etctera) son asignadas por las herramientas de desarrollo. Sin embargo, las direcciones
fsicas son asignadas por el sistema operativo.

Por otra parte, la carga de un programa, es decir, la creacin de su imagen en memoria,
es realizada por el sistema operativo. As, gracias a la memoria virtual conseguimos que los
programas se puedan cargar independientemente de donde se encuentren en memoria.


Ilustracin 69. Las herramientas de desarrollo asignan las direcciones virtuales del programa,
mientras que el sistema operativo asigna las direcciones fsicas, es decir, donde se encuenta el
programa en memoria


Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 74

Captulo 3.5.3. ESTRATEGIAS DE MEMORIA VIRTUAL. PAGINACIN Y SEGMENTACIN.

La traduccin de direcciones virtuales a direcciones fsicas se hace a travs de bloques,
pues en caso contrario, el tamao de la tabla de traduccin sera inadmisible.


Ilustracin 70. Esquema de traduccin por bloques

Hay dos formas de realizar la traduccin, que dependen del tamao del bloque:
tamao fijo o
variable

En el caso de bloques variables emplearemos la segmentacin; mientras que para
bloques de tamao fijo, la paginacin.

En principio, utilizando bloques de tamao variable hay un mayor aprovechamiento de la
memoria porque cada tarea recibe exactamente la memoria que necesita. Sin embargo, esta
tcnica ocasiona una fragmentacin de la memoria.

Por otra parte, utilizando bloques de tamao fijo de tamao, por ejemplo, 4 Kb, el
desperdicio de memoria en la prctica es despreciable.

En el caso de la paginacin, estos bloques reciben el nombre de pginas. Por otra parte,
en el caso de la segmentacin, estos bloques de tamao variable se denominan segmentos.

La principal ventaja que proporciona la segmentacin es que permite tener un espacio de
direcciones virtuales muy grande ya que cada direccin segmentada viene determinada por un
descriptor de segmento de 14 bits y un desplazamiento de 32 bits lo cual proporciona un
tamao del espacio de direcciones virtuales Gb 64 bits 2
48
= .

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 75

Sin embargo, empleando la paginacin disponemos de un espacio de direcciones de tan
slo Gb 4 bits 2
32
= con procesadores de 32 bits; pero con los inminentes procesadores de 64
bits, el espacio de direcciones virtuales aumentar hasta llegar a Tb 4 bits 2
64
= , quedando
diluida la ventaja de la segmentacin frente a la paginacin.

En conclusin, un sistema operativo con soporte de segmentacin como tcnica de
memoria virtual ser muy ineficiente y costoso de implementar. Por otra parte, esta tcnica de
memoria virtual complica la implementacin de las herramientas de desarrollo.

Captulo 3.5.4. LA MEMORIA VIRTUAL PAGINADA.

Comenzaremos recordando el concepto de pgina y marco de pgina.

Captulo 3.5.4.1. CONCEPTO DE PGINA Y MARCO DE PGINA.

Partimos de un espacios de direcciones virtuales y un espacio de direcciones fsicas. Los
bloques de memoria dentro del espacio de direcciones virtuales se denominan pginas. As,
cada direccin virtual se descompone en dos campos:
nmero de pgina virtual y
desplazamiento

El nmero de pgina virtual sirve para identificar la pgina, es decir, el bloque en el que
se encuentra la direccin. El desplazamiento identifica la direccin virtual dentro de la pgina.
De este modo, el tamao de una pgina viene dado por el nmero total de desplazamientos
dentro de dicha pgina.


Ilustracin 71. Cada direccin virtual consta de un nmero de pgina y un desplazamiento

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 76

Por otra parte, los bloques de memoria dentro del espacio de direcciones fsicas se
denominan marcos. De manera anloga a lo visto anteriormente, cada direccin fsica se divide
en dos campos:
nmero de marco y
desplazamiento

El nmero de marco sirve para identificar el marco, es decir, el bloque en el que se
encuentra la direccin fsica. El desplazamiento identifica una direccin fsica dentro del marco.


Ilustracin 72. Cada direccin fsica consta de un nmero de marco y un desplazamiento

Captulo 3.5.4.2. LA TABLA DE PGINAS.

La tabla de pginas sirve para conocer cul es el marco de pgina asociado a cada
pgina virtual.

Cada tarea tiene su propia tabla de pginas. Esta tabla de pginas es una estructura de
datos gestionada por el sistema operativo y almacenada tipicamente en memoria.

Para determinar el comienzo de la tabla de pginas de cada tarea existe un registro de
tabla de pgina que indica la direccin de comienzo de la misma. Como cada tarea tiene su
propia tabla de pginas, cada vez que se produce un cambio de contexto se modifica el valor
de dicho registro.

Pero, qu tamao tiene la tabla de pginas? En principio, la tabla de pginas de cada
tarea deber contener tantas entradas como pginas virtuales tengra la tarea.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 77

Vamos a ver ahora la estructura de la tabla de pginas. Cada entrada de la misma
consta de:
el bit de presencia,
el marco de pgina o desplazamiento en disco,
los bits de proteccin y
los bits de estado


Ilustracin 73. Tabla de pginas con sus campos

El bit de presencia indica si la pgina virtual est en memoria. Cuando est activo, la
pgina virtual est en memoria. Cuando est inactivo, la pgina est en el disco,
concretamente, en el archivo de paginacin o bien la pgina no tiene asociado almacenamiento
en disco.

El campo marco de pgina o desplazamiento en disco indica el marco de pgina
asociado a la pgina actual, siempre y cuando el bit de presencia est activado. Cuando este
bit est inactivo, indica la ubicacin (desplazamiento) dentro del archivo de paginacin. En caso
de no tener asociado almacenamiento fsico, se puede utilizar un desplazamiento invlido.

Si intentamos leer o escribir en pginas que no tienen asociado almacenamiento en
disco, se produce una excepcin de fallo de memoria no recuperable.

Los bits de proteccin sirven para indicar si la pgina virtual es de lectura, lectura y
escritura, ejecucin, etctera; as como para indicar el nivel de privilegio de la pgina.

Los bits de estado son bsicamente dos:
el bit de dirty y
el bit de pgina accedida

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 78

El bit de dirty se activa cuando se escribe en una pgina. As, en un momento dado
puede ser necesario reemplazar una pgina ubicada en memoria. Antes de ser reemplazada es
necesario comprobar el estado del bit de dirty. Si ste est activo es necesario llevar la pgina
a disco.

El bit de pgina accedida se activa para llevar una contabilidad sencilla de cules son las
pginas virtuales accedidas ms recientemente.

Captulo 3.5.4.3. UBICACIN EN MEMORIA DE LAS TAREAS Y DEL SISTEMA OPERATIVO.

Las tareas son programas que, mediante unas herramientas de desarrollo, se convierten
en archivos ejecutables que son cargados en memoria por el sistema operativo.
Independientemente del lenguaje de programacin empleado, los programas de pueden dividir
en dos partes:
cdigo y
datos

As, a travs de herramientas de desarrollo (compiladores y enlazadores) se asignan
paginas virtuales a zonas de cdigo y datos.


Ilustracin 74. Las herramientas de desarrollo asignan pginas virtuales a zonas de cdigo o datos

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 79

Ejemplo:
float var[1500]; // 1500 float`s x 4 bytes / 1 float = 6000 bytes

int main(void) {

int i;
for (i = 0; i < 1500; i++) {
var[i] = 0;

}
return 0;
}

Por otra parte, el sistema operativo suele estar ubicado dentro de los espacios de
direcciones virtuales de todas las tareas. Cuando se transfiere el control de una tarea al
sistema operativo, el registro de tabla de pgina no cambia. Por tanto, cuando se est
ejecutando el sistema operativo, se estn traduciendo direcciones virtuales a fsicas a travs de
la tabla de pginas de una tarea. As, la memoria asociada al sistema operativo es compartida
por todas las tareas, aunque stas no pueden acceder al no tener suficientes privilegios.


Ilustracin 75. El sistema operativo forma parte de los espacios de direcciones de todas las tareas

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 80

Captulo 3.5.4.4. PROTECCIN DE MEMORIA.

La paginacin se emplea para proteger la memoria. As, existen tres mecanismos de
proteccin:
Independencia de los espacios de direcciones de las tareas.
Tipos de acceso a memoria.
Niveles de privilegio.

La independencia de los espacios de direcciones se consigue programando de forma
adecuada, por parte del sistema operativo, las tablas de pginas de las diferentes tareas
evitando que se produzcan solapamientos. Esta independencia facilita la implementacin de las
herramientas de desarrollo y carga.

El tipo de acceso a memoria permite marcar pginas cmo de slo lectura, slo escritura,
lectura y escritura, ejecucin, etctera.


Ilustracin 76. Los bits asociados a las tablas de pginas proporcionan proteccin de acceso

Cada entrada de la tabla de pginas contiene un campo que indica el nivel de privilegio
mnimo que deber tener una tarea para poder acceder a la pgina.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 81

Captulo 3.5.4.5. COMPARTICIN DE MEMORIA.

La paginacin permite compartir memoria para, por ejemplo, comunicar tareas, reducir el
uso de memoria mediante libreras de enlace dinmico, etctera.


Ilustracin 77. Las tareas pueden compartir pginas de memoria fsica

Pero, cmo se realiza la comparticin? La tarea T1 solicita dos pginas de memoria. El
sistema operativo se las concede, es decir, programa adecuadamente la tabla de pginas de la
tarea. A continuacin, la tarea T2 solicitalos dos mismos marcos de pgina y pide que se
asocien a dos pginas virtuales. As, lo que la tarea T1 escriba en la zona de memoria
compartida podr ser leda por otra tarea.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 82

Captulo 3.5.4.6. EL TLB.

Hasta ahora nicamente hemos hablado de funcionalidad y no de rendimiento. Hemos
visto como el acceso a memoria requiere en realidad dos accesos.

As, para acceder al contenido de una direccin virtual es necesario convertir esta
direccin virtual en una direccin fsica, para lo cual necesitamos leer la tabla de pginas. Una
vez calculada la dreccin fsica se realizar el acceso al contenido de la direccion.


Ilustracin 78. Para leer el contenido de una direccin virtual son necesarios dos accesos. Un acceso
a la tabla de pginas y otro a la direccin de memoria fsica correspondiente

Estos dos accesos plantean un problema de rendimiento muy grave. Para solucionar
este problema utilizaremos una cach especfica, diferente de las cachs vistas hasta ahora,
que se encarga e almacenar las entradas de la tabla de pginas usadas ms recientemente.
Esta cach se denomina TLB (Translation look aside buffer).
Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 83

Caractersticas:
Es una cach totalmente asociativa, es decir, cualquier entrada de la tabla de
pginas puede ir a cualquier bloque de cach.

Ahora, cada acceso a memoria requerir dos accesos:
un primer acceso al TLB y
un segundo acceso a la memoria principal (suponiendo que no existe cach)

Puesto que el acceso al TLB es instantneo, en comparacin con el acceso a memoria
principal, asi el tiempo de acceso a una direccin de memoria ser prcticamente igual al
tiempo de acceso a memoria principal.

De acuerdo al principio de localidad, prcticamente siempre se estn accediendo a las
mismas pginas. As, la tasa de aciertos del TLB es muy elevada. Por tanto, puesto que los
fallos del TLB son muy escasos, se pueden gestionar por software. Esto tiene la ventaja de
permitir implementaciones de algoritmos de reemplazo mucho ms sofisticados. Como
contrapunto, el coste de reemplazo ser muy elevado, pero asumible debido a la escasa
frecuencia de estos fallos.

Por otra parte, cuando se produce un fallo de TLB se produce una excepcin que ser
gestionada por el sistema operativo. Lo ms usual es que las CPUs incorporen instrucciones
privilegiadas para el manejo de esta cach.

Vamos a ver ahora qu ocurre cuando se produce un cambio de contexto. Puesto que
cada tarea dispone de una tabla de pginas propia, cada vez que se produce un cambio de
contexto en principio habra que vaciar el TLB marcando sus bloques como invlidos. Esto
producira una secuencuencia de fallos de TLB en cadena. La solucin ser aadir al TLB un
identificador de tarea, as no ser necesario vaciar la tabla. Para tener entradas de varias
tareas ser necesario emplear un TLB de mayor tamao.

Por otra parte, dentro del TLB, que contiene las entradas de las pginas de las tareas,
vamos a tener replicadas las entradas de las pginas del sistema operativo. Para solucionar
esto podemos aadir un identificador que sea vlido para todas las tareas, de modo que las
entradas marcadas con ese identificador se consideren globales por el TLB.

Ahora surge un problema: para qu necesitamos el TLB si ya tenemos la memoria
cach? Al acceder a una direccin de memoria sern necesarios dos accesos a memoria y, de
acuerdo al principio de localidad, lo ms frecuente es que stos dos accesos se realicen sobre
la cach. As, teniendo separados el TLB y la cach podemos acceder en parelelo a ambos y
as el tiempo de acceso se reducir a la mitad, equivaliendo al tiempo de acceso de memoria
cach.

Pero, se puede acceder en paralelo a la cach y al TLB?


Ilustracin 79. Esquema de acceso a una direccin virtual a travs del TLB y de la memoria cach

En el esquema vemos como esto no es exactamente as. Sin embargo existen
soluciones para logar el paralelismo, como son:
la segmentacin de los accesos a memoria y
las cachs con memorias virtuales.
Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 84

En la segmentacin de accesos a memoria, mientras que la cach accede a un dato, el
TLB est accediendo a la direccin del siguiente al que va a acceder la cach a continuacin.

La solucin de cachs con memorias virtuales es muy difcil aunque es la utilizada por la
arquitectura IA 32. Esta solucin funciona aunque tiene problemas con la comparticin de
memoria.

Captulo 3.5.4.7. FALLO DE PGINA. CONCEPTO Y TRATAMIENTO.

Un fallo de pgina ocurre cuando la unidad de ejecucin de la CPU emite una direccin
virtual que no est en memoria. Cuando esto ocurre se produce una excepcin de fallo de
pgina. Vamos a ver las operaciones que realiza el manejador del fallo de pgina.

En primer lugar, se determina la causa del fallo de pgina. En particular hay dos tipos de
fallo:
pgina virtual sin almacenamiento asignado o
pgina virtual con almacenamiento en disco.

As, si se trata de una direccin virtual sin almacenamiento en asignado, lo cual significa
que no tiene asignado almacenamiento ni en memoria ni en el archivo de paginacin, se
produce una nueva excepcin de violacin de acceso a memoria.

Por ejemplo, supongamos el siguiente estado inicial de la memoria:


Ilustracin 80. Estado inicial de la memoria

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 85

Supongamos ahora que intentamos acceder a la direccin 000F F05Eh. Esta direccin
se encontrar en el marco 000FFh. Sin embargo, en la tabla de pginas vemos como en el
marco 000FFh no se encuentra almacenada ninguna pgina, ya que su bit de presencia est
desactivado. Adems, la pgina tampoco se encuentra en el archivo de paginacin ya que el
desplazamiento dentro del mismo es invlido. Por tanto, se producir una violacin de acceso a
memoria y la tarea finalizar.


Ilustracin 81. Al intentar acceder a una direccin virtual que no tiene ni almacenamiento en
memoria ni en el archivo de paginacin se produce una violacin de acceso a memoria

Por otro lado, puede ocurrir que se trate de una direccin virtual con almacenamiento en
disco. En este caso, en primer lugar, el sistema operativo determina a qu marco de pgina
tiene que llevar la pgina virtual desde el archivo de paginacin. Puede ocurrir que para ello
tenga que reemplazar alguna de las pginas de la tarea que estn en memoria, de acuerdo a
una determinada poltica de reemplazo, por ejemplo, LRU.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 86

Por ejemplo, supongamos que tratamos de acceder a la direccin 0010 51B3h, cuyo
marco de pgina es 00105h. En la tabla de pginas vemos como la entrada asociada a dicho
maarco no contiene ninguna pgina ya que su bit de presencia es invlido. Sin embargo, si
presenta un desplazamiento X dentro del archivo de paginacin.


Ilustracin 82. La pgina no tiene asociado almacenamiento en memoria pero s en disco

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 87

Adems, no hay espacio suficiente para cargar la pgina desde el disco, al estar el
nmero mximo de pginas permitidas en memoria. En este caso, supongamos que se
reemplaza la pgina 00102h. Puesto que dicha pgina tiene su bit de dirty activado ser
necesario almacenar previamente dicha pgina en disco.


Ilustracin 83. Se almacena en el archivo de paginacin la pgina que se reemplazar

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 88

A continuacin, se lleva la pgina virtual a memoria, modificando su entrada en la tabla
de pginas.


Ilustracin 84. Se carga la pgina en memoria principal

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 89

Captulo 3.5.5. PAGINACIN EN LA ARQUITECTURA IA 32.

Los programas trabajan con direcciones lgicas, que estn segmentadas y constan de
un selector y un desplazamiento que nos proporciona un espacio de direcciones lgicas de
Gb 64 bits 2
48
= . A travs del mecanismo de segmentacion transformamos las direcciones
segmentadas en lineales, con un espacios de direcciones de Gb 4 bits 2
32
= . Usualmente, los
sistemas operativos desactivan la segmentacin configurando adecuadamente la tabla de
descriptores de selectores para que las direcciones segmentadas coincidan con las direcciones
lineales, esto nos lleva al modelo de memoria plano. As, estas direcciones lineales son las
direcciones virtuales con las que trabaja el mecanismo de paginacin para obtener direcciones
fsicas.


Ilustracin 85. Modelo de memoria plano empleado por la arquitectura IA - 32

Captulo 3.5.5.1. LA TABLA DE PGINAS EN LA ARQUITECTURA IA 32.

Cuando la unidad de ejecucin de la CPU emite una direccin virtual es necesario
conocer su traduccin, sea cual sea la direccin virtual. Esto significa que necesitamos que
toda la tabla de pginas est en memoria. Sin embargo, esto conlleva un problema importante:
la tabla de pginas tiene tantas entradas como pginas virtuales.

En la arquitectura IA 32 las pginas tienen un tamao usual de 4 Kb. y puesto que el
tamao del espacio de direcciones virtuales es de 4 Gb., la tabla de pginas de una tarea
tendr
20
12
32
10 2
32
2
2
2
2 2
2
Kb. 4
pagina 1
ED de Gb. 4 = = = entradas. Suponiendo que cada una de
estas entradas tenga un tamao de 4 bytes, el tamao total de la tabla de pginas de cada
tarea ser de MB 4 2 4
20
= .
Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 90

En la arquitectura IA 32 este problema se resuelve empleado un esquema de doble
traduccin:
El primer nivel es una tabla denominado directorio de pginas y
el segundo nivel, la tabla de pginas propiamente dicha.


Ilustracin 86. Esquema de la tabla de pginas en la arquitectura IA - 32

Por ejemplo, supongamos una situacin inicial en la que una direccin lineal viene dada
por una entrada en la tabla de pginas (20 bits) y un desplazamiento (12 bits). El registro CR3
es un registro de control que proporciona la direccin fsica de comienzo del directorio de
pginas.

Sin embargo, realmente una direccin lineal consta de desplazamiento y una entrada en
la tabla de pginas. Este campo consta a su vez de:
un ndice en el directorio de pginas o IDP y
un nidice en la tabla de pginas o ITP.

As, el ndice en el directorio de pginas o IDP proporciona la direccin fsica de
comienzo de la tabla de pginas, es decir, el contenido de la entrada del directorio de pginas
asociado a la entrada a la que apunta.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 91

Por otra parte, el ndice en la tabla de pginas o ITP proporciona la entrada de la tabla
de pginas o ETP asociada a la tabla referenciada por el IDP. Este ETP nos proporciona el
marco de la pgina.

As, con este esquema de dos niveles de traduccin es suficiente tener el directorio de
pginas en memoria para ejecutar la tarea.

Por otra parte, durante la ejecucin de una tarea, la tarea accede a pequeos rangos
dentro de su espacio de direcciones virtuales, es decir, solamente unas pocas entradas del
directorio de pginas van a ser vlidas y por tanto no necesitan una tabla de pginas completa.

Por ejemplo, supongamos una tarea que ocupa las siguientes pginas virtuales: 00100h,
00101h, 00600h y 00601h.

As, para la pgina 00100h = 0000 0000 0001 0000 0000b, tenemos un IDP = 0h y un
ITP = 100h.


Ilustracin 87. Ejemplo de esquema de doble traduccin

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 92

As, en este caso, la pgina cuyo marco es 00100h tiene asociado almacenamiento en
memoria principal.

Por otra parte, la pgina 00101h = 0000 0000 0001 0000 0001b tiene un IDP = 0h y un
ITP = 101h. As, esta pgina no tendr asociado almacenamiento en memoria principal pero s
en el archivo de pginacin.

En siguiente lugar, la pgina 00600h = 0000 0000 0110 0000 0000b tiene un IDP = 1h y
un ITP = 200h. De este modo, esta pgina tendr asociado almacenamiento en memoria
principal.

Finalmente, en ltimo lugar, la pgina 00601h = 0000 0000 0110 0000 0001b tiene un
IDP = 1h y un ITP = 201h, con lo que dispone igualmente de almacenamiento en memoria
principal.

As, tanto el directorio de pginas como la tabla de pginas tiene un tamao igual a la de
la pgina, es decir, 4 Kb. y puesto que cada entrada del directorio de pginas ocupa 4 bytes., el
el directorio de pginas tendr 1024 entradas. As, para ejecutar esta tarea hacen falta un total
de 12 Kb. para la traduccin.

Consideraciones:
Si el bit de presencia est activo en una entrada del directorio de pginas, dicha
entrada proporciona la direccin fsica de comienzo de la tabla de pginas.
Si el bit de presencia est activo en una entrada de la tabla de pginas, dicha
entrada proporciona la direccin fsica de comienzo del marco de pgina.
Si el bit de presencia est desactivado esto produce una excepcin de fallo de
pgina. En este caso la pgina no est en memoria fsica y el sistema operativo
dispone de los restantes bits de la entrada de la tabla para hacer con ellos lo que
quiera.
El acceso a una direccin virtual vlida puede generar dos fallos de pgina
consecutivos. Un primer fallo cuando la tabla de pginas est en el archivo de
paginacin. El segundo fallo ocurre cuando la entrada de la tabla de pginas hace
referencia a una posicin dentro del disco.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 93

Cada entrada de la tabla de pginas es de 4 bytes, de los cuales slo son necesarios 20
para almacenar el marco de pgina. El resto de los bits se utilizan para proporcionar
informacin adicional y proteccin. As, destacamos los bits:
p. Indica si la pgina est presente o no.
w. Indica si la pgina puede ser escrita.
u. Indica si la pgina tiene un nivel de privilegio de supervisor.
pwt. Indica si la pgina tiene una poltica de correspondencia write through.
pcd. Indica si la pgina no puede ser cacheada.
a. Indica si la pgina ha sido accedida recientemente.
d. Indica si la pgina ha sido modificada.


Ilustracin 88. Esquema de una entrada en la tabla de pginas

El tener una doble tabla de traduccin tiene tambin una ventaja importante cuando
tenemos zonas de memoria compartidas entre tareas. En principio estamos desperdiciando
memoria si referenciamos las mismas entradas en las tablas de pginas que hacen uso de la
memoria compartida.

Por otra parte, cada vez que se modifica algo asociado a la mememoria del sistema
operativo es necesario modificar las tablas de pginas de todas las tareas.

Para solucionar esto podemos hacer uso de un doble esquema de paginacin y
definiendo tablas de pginas globales y locales.
Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 94

Captulo 4. EL SISTEMA DE E/S.

En este captulo vamos a estudiar las distintas tcnicas de entrada / salida as como el
modelo empleado en la arquitectura IA 32.

Captulo 4.1. INTRODUCCIN.

El sistema de entrada / salida es parte fundamental de cualquier computador, ya que
permite a ste comunicarse con su entorno. Est formado por las interfaces de todos los
perifricos. Habitualmente, cada perifrico tiene su propia interface, aunque existen interfaces
capaces de gestionar varios perifricos simultneamente, como son los puertos PS/2, USB,
Firewire, etctera.


Ilustracin 89. El sistema de E/S permite comunicar el computador con su entorno, a travs de las
interfaces de sus perifricos

Las operaciones de entrada / salida son operaciones que llevan informacin desde la
interfaz del perifrico a la memoria y viceversa. As, se dice que un interface es de salida
cuando la informacin se transmite desde la memoria a la interface. De manera anloga, un
interface es de entrada cuando la informacin se transfiere desde la interface a la memoria.

Por otra parte, aunque un interface sea de salida, podr recibir informacin, por ejemplo,
de control.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 95

Captulo 4.2. UBICACIN DEL SISTEMA DE E/S EN LOS ESPACIOS DE
DIRECCIONES.

Las interfaces de los perifricos de entrada / salida son posiciones dentro del espacio de
direcciones de la memoria. Estas posiciones no pueden solaparte. Normalmente, suele haber
un nico espacio de direcciones, aunque algunas CPUs, como la arquitectura IA 32,
disponen de un espacio de direcciones dedicado a las interfaces de los perifricos de entrada /
salida.


Ilustracin 90. Usualmente, las interfaces de los perifricos de entrada / salida se mapean dentro
del espacio de direcciones de memoria principal aunque en algunas CPUs existe un espacio de
direcciones dedicado para estas interfaces

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 96


Ilustracin 91. Ejemplo de dispositivos cuyas interfaces se encuentran mapeadas en el espacio de
direcciones de memoria principal o en el espacio de direcciones especfico de entrada / salida
Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 97

Captulo 4.3. PROTECCIN DEL SISTEMA DE E/S.

El sistema operativo es el nico programa que debe acceder a las interfaces de entrada /
salida. Si una tarea no privilegiada pudiera acceder a estas interfaces podria tomar el control de
la mquina. Adems, los dispositivos de entrada / salida deben ser compartidos por todas las
tareas, por lo que es necesario gestionarlos.

Para llevar a cabo la proteccin tenemos dos opciones, dependiendo de:
si la interface se encuentra hubicada en el espacio de direcciones de memoria.
si la interface se encuentra hubicada en el espacio de direcciones de entrada /
salida.

As, si la interface se encuentra hubicada en el espacio de direcciones de memoria
principal, marcamos las pginas virtuales asociadas a la interface con el nivel de privilegio de
supervisor.

Por otro lado, si la interface se encuentra hubicada en el espacio de direcciones de
entrada / salida, puesto que para acceder a dicho espacio de direcciones se utilizan
instrucciones especiales y especficas, (por ejemplo, en la arquitectura IA 32 existen las
instrucciones IN y OUT) la proteccin se consigue haciendo que dichas instrucciones slo se
puedan ejecutar con un nivel de privilegio de supervisor.


Ilustracin 92. Esquema del sistema de entrada / salida sin proteccin y con proteccin

De este modo conseguimos que slo el sistema operativo pueda acceder al sistema de
entrada / salida.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 98

Captulo 4.4. TCNICAS DE E/S.

Una operacin de entrada / salida equivale a mover informacin desde la interface de un
perifrico y la memoria. Pero, cundo comienza una operacin de entrada / salida? Existen
dos posibilidades:
por un lado, puede ser que sea la CPU la que decida que se inicie una operacin de
entrada / salida o
por otra parte, puede ser que sea la interface de un perifrico la que dedida iniciar
una operacin de entrada / salida.

En el segundo, caso, la CPU no sabe a priori cuando va a comenzar una operacin de
entrada / salida.

Independientemente de estos dos escenarios, existen varias tcnicas para gestionar la
entrada / salida. La diferencia fundamental entrada cada una de estas tcnicas viene dada por
estas dos preguntas:
Quin mueve la informacin entre la interface y la memoria?
Cmo se sincroniza la CPU con la operacin de entrada / salida?

Captulo 4.4.1. E/S CON MUESTREO.

La CPU sondea los registros de control de las interfaces de los perifricos de entrada /
salida hasta que detecta que una de las interfaces est lista. En caso de una interface de
entrada significa que se ha recibido un dato, el cual se encontrar usualmente en el registro de
datos. En caso de una interface de salida, significa que la interface est lista para recibir
informacin a travs de su registro de datos.

Esta tcnica es muy ineficiente ya que la CPU debe estar comprobando constantemente
las interfaces de los perifricos. As, la CPU se sincroniza leyendo continuamente el registro de
estado de las interfaces y es la CPU la encargada de mover la informacin.


Ilustracin 93. En la entrada / salida con muestreo la CPU invierte mucho tiempo explorando los
registros de control de las interfaces de los perifricos de entrada / salida
Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 99

En la entrada / salida con muestreo peridico, la CPU en lugar de muestrear las
interfaces de los perifricos de entrada / salida constantemente, las muestrea cada cierto
tiempo T, que es periodo de muestreo, y constituye el tiempo entre dos muestreos
consecutivos.

Esta tcnica no se emplea por varias razones:
Es necesario implementar un temporizador para medir los periodos de tiempo T.
No todos los dispositivos tienen la misma velocidad.
Qu criterio se sigue para elegir el periodo T?

Captulo 4.4.2. E/S CON INTERRUPCIONES.

La interface del perifrico avisa a la CPU cuando est lista. De esta forma, la CPU no
tiene que estar comprobando constantemente si la interface est lista. De todas formas, la CPU
sigue siendo la encargada de mover la informacin entre la interface y la memoria.

Cuando la interface est lista solicita una peticin de interrupcin. Al final de la ejecucin
de la instruccin en curso, la CPU comprueba si existe una peticin de interrupcin, en cuyo
caso se detiene la ejecucin de la tarea y se pasa a ejecutar una rutina de tratamiento de la
interrupcin (manejador de la interrupcin) y este manejador es el encargado de mover la
informacin entre la CPU y la memoria. Al final de la ejecucin del manejador, el programa
prosigue su ejecucin como si nada hubiera pasado.


Ilustracin 94. En la entrada / salida con interruciones la CPU nicamente invierte el tiempo de
ejecucin de la rutina (manejador) de la interrupcin

La implementacin de las interrupciones plantea una serie de problemas:
la priorizacin,
la inhabilitacin de interrupciones y
la identificacin de la interface.

El problema de la priorizacin consiste en que estamos suponiendo que hay muchas
interfaces que pueden generar interrupciones. Supongamos que dos interfaces generan
interrupciones simultneamente. Cul se trata primero?

En cuanto a la inhabilitacin de interrupciones, hay situaciones en las que las
interrupciones hay que deshabilitarlas. Esto es especialmente necesario en sistemas
operativos multitarea en los que determinados fragmentos de cdigo deben ejecutarse de
manera atmica. Estos fragmentos debern ser lo ms pequeos posibles.

Finalmente, el problema de la identificacin de la interface que gener la interrupcin es
debido a que en la prcica existen muchas interfaces. Lo ideal sera que cada una tuviera una
lnea de interrupcin. Sin embargo, en la arquitectura IA 32 existe una nica lnea
Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 100

multiplexada por lo que es necesario mecanismos para identificar la interface que gener la
peticin de interrupcin.

Captulo 4.4.3. DMA.

Las interfaces de los perifricos pueden leer / escribir en memoria tomando el control de
los buses. As, la informacin entre la CPU y la memoria no la mover la propia CPU sino un
dispositivo denominado controlador de DMA.

EL DMA suele aplicarse cuando hay que mover grandes cantidades de informacin, por
ejemplo, en una interface de red. El controlador de DMA ni lee ni escribe. El controlador de
DMA lo nico que hace es activar y desactivar lneas de direccin y control.

En un sistema operativo multitarea el DMA mejora el rendimiento del sistema. En un
sistema operativo monotarea, el DMA resulta til cuando el controlador es ms rpido que la
CPU.


Ilustracin 95. Esquema del movimiento de la informacin empleando la entrada / salida por DMA

El proceso de movimiento de la informacin consta de una serie de pasos:
La CPU ejecutando el sistema operativo programa el controlador de DMA
indicndole el tipo de operacin a realizar, el nmero de datos a transferir y las
direcciones implicadas en la transferencia.
La CPU ejecutando el sistema operativo programa la interface del perifrico
indicndole que debe funcionar con DMA.
Cuando la interface est lista para que pueda llevarse a cabo la transferencia,
solicita una peticin al controlador de DMA, el cual toma el control de los buses y
transfiere los datos entre la interface y la memoria tal y como haba sido programada.
La CPU es notificada del final de la transferencia mediante una peticin de
interrupcin.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 101

Existen dos variantes del DMA:
DMA clsico o third party DMA. Hay un nico controlador de DMA que comparten
todas las interfaces.
DMA moderno o first party DMA. Cada interface tiene su propio controlador de
DMA mucho ms inteligente que el DMA clsico.


Captulo 4.4.4. PROCESADORES DE E/S.

Bsciamente se trata de interfaces con un alto grado de inteligencia. En el caso de la
entrada facilitan informacin ya procesada. En el cado de la salida pueden recibir informacin
de muy alto nivel. Por ejemplo, tarjetas grficas, tarjetas descompresoras de video y audio,
etctera.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 102

Captulo 4.5. INTERRUPCIONES EN LA ARQUITECTURA IA 32.

Vamos a estudiar el mecanismo de las interrupciones en la arquitectura IA 32 (PC).
Las interrupciones se utilizan con interfaces de baja tasa de transferencia, es decir, interfaces
lentas como el teclado, el ratn, el puerto de serie, etctera. Esto es as ya que la CPU es la
encargada de mover la informacin.

Las CPUs que implementan la arquitectura IA 32 disponen de una linea de peticin de
interrupcin, as todos los perifricos piden interrupciones a travs de esta lneas, que
denominaremos INTR. En la arquitectura IA 32 las interrupciones que se solicitan a travs de
esta lnea son aceptadas o no dependiendo del bit IF del registro EFLAGS.

As, al final de la ejecucin de la instruccin en curso, la CPU comprueba si hay alguna
peticin de interrupcin. En caso afirmativo, si el bit IF est activado se acepta la interrupcin y
ocurren dos ciclos de bus especiales denominados ciclos de reconocimiento de la interrupcin.
En el primer ciclo la CPU avisa que ha reconocido la interrupcin. En el segundo ciclo, la
interface proporciona a travs del bus de datos un nmero de 8 bits denominado nmero de
interrupcin que ser la entrada en el IDT.


Ilustracin 96. Esquema del control de interrupciones en la arquitectura IA - 32

En la arquitectura IA 32 existen unos dispositivos denominados controladores de
interrupciones 8259. Bsicamente, el controlador de interrupciones activa la lnea INT de
salida cada vez que se activa cualqueira de sus entradas IR. Adems, prioriza las posibles
peticiones de interrupcin. En particular, la peticin a travs de la lnea IR0 es la ms prioritaria;
y la realizada a travs de la lnea IR7, la menos. De este modo es necesario identificar la
interface del perifrico que solicit la interrupcin. Por otra parte, el empleo de un nico
controlador de interrupciones limita el nmero de interfaces de perifricos a 8. Para solucionar
este problema se posibilita la conexin de controladores en cascada.
Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 103

Adems, existe una lnea NMI a parte de INTR, para interrupciones no mascarables. As,
las interrupciones pedidas a tras de la lnea NMI se aceptarn siempre, no pudindose
emplear el bit IF para deshabilitar estas interrupciones debidas, por ejemplo, a fallos graves,
como fallos de paridad en memoria.

Por otra parte, hoy en da existe una gestin de interrupciones ms moderna y adicional,
por ejemplo, para sistemas multiprocesadores. En el ao 1994, Intel incorpor con el Pentium
Pro un nuevo esquema de gestin de interrupciones denominado APIC destinado a gestionar
sistemas multiprocesadores aunque tambin permite gestionar sistemas monoprocesadores.
As, cada CPU incorpora su propio APIC local. Por otra parte, existe el APIC de E/S comn al
sistema. As, las interfaces de los perifricos solicitan peticiones de interrupcin al APIC. Este
APIC se comunica a travs de tres lneas con los APICs locales. Estas lneas son INTR, NMI e
INTA.


Ilustracin 97. Esquema del control avanzado de interrupciones o APIC


Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 104

Captulo 5. SISTEMAS DE INTERCONEXIN.

En este captulo vamos a estudiar las distintas tcnicas de entrada / salida as como el
modelo empleado en la arquitectura IA 32.

Captulo 5.1. TOPOLOGAS DE INTERCONEXIN.

Vamos a estudiar cmo podemos conectar cada uno de los componentes de un
computador. As, vamos a estudiar las siguientes topologas de interconexin:
conexiones punto a punto,
conexin en estrella y
conexin en bus.

Captulo 5.1.1. CONEXIONES PUNTO A PUNTO.

La forma ms sencilla de interconexin entre los componentes del computador es
emplear canales o conexiones punto a punto, es decir, emplear un canal especfico de
comunicacion para comunicar dos elementos cualesquiera.


Ilustracin 98. Esquema de topologa de conexin punto a punto

El principal inconveniente que implica esta tcnica es el elevado nmero de canales
necesarios. As, para dispositivos sern necesarios
( )
2
1
canales.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 105

Por otro lado, las principales ventajas que conlleva esta tcnica son:
la facilidad de implementacin,
la elevada velocidad de transferencia y
la posibilidad de realizar transferencias en paralelo.

Captulo 5.1.2. CONEXIN EN ESTRELLA.

La conexin en estrella pretende solucionar el problema de la conexin basada en
canales punto a punto. Para solucionar el problema que implicaba el uso de conexiones punto
a punto, es decir, el elevado nmero de canales necesarios, se emplea un dispositivo
denominado contrentrador o hub, de tal modo que todos los dispositivos se comunican a travs
de este concentrador.


Ilustracin 99. Esquema de topologa de interconexin en estrella

Este mecanismo tiene las principales ventajas de:
reducir el nmero de canales al nmero de dispositivos y,
si el concentrador lo permite, realizar transferencias en paralelo.

Por el contrario, su principal inconveniente es la necesidad del contrador, el cual, en
caso de ser lento, puede colapsar las transmisiones (cuello de botella). Adems resulta
necesario identificar los dispositivos.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 106

Captulo 5.1.3. CONEXIN EN BUS.

La conexin en bus es el mecanismo de interconexin ms utilizado con diferencia
dentro del computador. Consiste en un conjunto de lineas compartidas por todos los
dispositivos.


Ilustracin 100. Esquema de topologa de interconexin en bus

Sus principales ventajas son:
la simplicidad,
su bajo coste y
la posibilidad de que todos los dispositivos pueden acceder a la informacin del bus.

Por el contrario, tiene los inconvenientes de:
no permitir transmisiones en paralelo,
necesitar identificar los dispositivos,
estar la velocidad de transmisin limitada a la informacin del bus.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 107

Puesto que todas las topologas presentan ventajas e inconvenientes, en la prctica se
combinan formando una jerarqua de topologas de interconexin de dispositivos.


Ilustracin 101. Esquema de una jerarqua de topologas de interconexin de dispositivos

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 108

Captulo 5.2. LOS BUSES.

Un bus es un conjunto de lneas compartio por todos los dispostivos conectados a dicho
bus. As, cuando un dispositivo pone una determinada secuencia de bits en el bus, esta
informacin est en el bus y puede ser leda por todos los dispositivos. Sin embargo, slo
puede escribir un nico dispositivo en cada instante. Para determinar qu dispositivo tiene la
facultad de poner informacin en el bus, existe un dispositivo, denominado maestro del bus o
bus master encargado de determinar a qu dispositivo se le concede el permiso para colocar
informacin en el bus. Este bus master puede no ser nico y existir varios, sin embargo, en
cada instante uno y slo uno estar actuando

Por otra parte, las lneas del bus se clasifican en:
lineas de datos,
lineas de direcciones y
lineas de control.

En las lneas de datos, un dispositivo pone la informacin que ser leda por el resto de
dispositivos.

En las lneas de direccin se sitan las direcciones del dispositivo del cul se va a leer o
a escribir as, como la posicin de memoria dentro del propio dispositivo.

En las lneas de control se especifica informacin relativa a la configuracin del bus. Se
establece el tipo de operacin (lectura, escritura). Tambin sirven para sincronizar (dnde
empieza y dnde termina la lectura, etctera).

Adems, tambin existen otras lneas, por ejemplo, de alimentacin.

Captulo 5.2.1. EL CONCEPTO DE CICLO DE BUS.

Cada bus consta de un protocolo que debe ser implementado por todos los dispositivos.
En caso contrario, ste quedar inutilizale. La especificacin de un bus es muy compleja y
consta de especificacin lgica, elctrica, mecnica, etctera.

Vamos a centrarnos nicamente en la especificacim lgica, es decir, en el protocolo del
bus. Este protocolo se especifica a travs de lo que denominamos ciclo del bus. Un ciclo del
bus se define como una de las operaciones que puede realizar el bus en un instante
determinado. Por ejemplo, lectura, escritura, configuracin, etctera.

En un ciclo de lectura, el maestro del bus pone una direccin en las lneas de direccin
de bus. Esta direccin especifica el dispositivo sobre el que se realizar la lectura y el
desplazamiento. A continuacin, el maestro del bus activa las lneas de control necesarias y el
dispositivo coloca sobre las lneas de datos el dato que ser ledo por el maestro.

En el ciclo de escritura el maestro pone sobre las lneas de direcciones la direccin del
dispositivo y la direccin dentro del mismo y sobre las lneas de datos, el dato a escribir. A
continuacin se activan las lneas de control necesarias y se escribe el dato sobre el dispositivo
indicado.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 109

Captulo 5.2.2. CARACTERSTICAS DE UN BUS.

Vamos a estudiar las diversas caractersiticas de un bus. Concretamente:
la sincronizacin,
el tamao de los datos,
bus serie o paralelo,
bus multiplexado o no multiplexado,
ancho de banda terico,
mxima longitud del bus,
bus plug and play (PnP) y
bus con conexin en caliente

Captulo 5.2.2.1. SINCRONIZACIN.

Los buses pueden ser:
sncronos o
asncronos.

En los buses sncronos hay una seal de reloj que sincroniza todas las operaciones que
se realizan en el bus.

En los buses asncronos no existe tal seal. La idea es que existen determinadas
seales de control que permiten sincronizar unos ciclos con otros.

Captulo 5.2.2.2. TAMAO DE LOS DATOS.

Esta caracterstica nos dice el tamao de los datos que se transfieren en cada ciclo de
lectura o escritura. As, hablamos de buses de 32 4 bits. Normalmente, coincide con el
nmero de lneas de datos.

Captulo 5.2.2.3. BUS SERIE O PARALELO.

En un bus serie tenemos una nica lnea de datos mientras que en un bus paralelo
tenemos tantas lneas de datos como el tamao de los datos a transferir.

Captulo 5.2.2.4. BUS MULTIPLEXADO O NO MULTIPLEXADO.

Hay buses en los cuales las lneas de direcciones y datos estn multiplexadas, es decir,
fsicamente tenemos las mismas lneas de direcciones y de datos. En un bus no multiplexado
las lneas de direcciones y datos son especficas.

La principal ventaja que presentan los buses multiplexados es la reduccin de coste y la
mayor fiabilidad, sacrificando rendimiento.

Captulo 5.2.2.5. ANCHO DE BANDA TERICO O TASA DE TRANSFERENCIA.

Valor que indica la mxima velocidad a la cual se pueden transferir datos sobre el bus.
Este ancho de danta se da en condiciones ideales, pero en circunstancias normales, el ancho
de banda ser necesariamente inferior.

Captulo 5.2.2.6. MXIMA LONGITUD DEL BUS.

La informacin no viaja instantneamente a travs del bus. Esta velocidad suele ser
ligeramente inferior a la velocidad de la luz. Adems, cuanto ms largo sea el bus, ste se
puede comportar como una antena.
Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 110

Captulo 5.2.2.7. PLUG AND PLAY (PNP).

En bus plug and play se definen mecanismos de identificacin de los dispositivos
conectados a l, as como los recursos hardware que necesitan.

Captulo 5.2.2.8. CONEXIN EN CALIENTE.

La conexin en caliente permite conectar dispositivos con el computador encendido. Esta
caractersitca es especialmente til en sistemas de alta disponibilidad.


Captulo 5.2.3. BUS CON MLTIPLES MAESTROS. CONCEPTO DE ARBITRAJE.

En un bus puede haber varios dispositivos que puedan ser maestros. En este caso es
necesario llevar a cabo un arbitraje del bus para decidir, entre todos estos dispositivos, cul
ser el maestro.

Para llavar a cabo este arbitraje existen varios algoritmos:
arbitraje centralizado,
arbitraje distribuido por autoseleccin y
arbitraje distribuido con deteccin de colisin.

Captulo 5.2.3.1. ARBITRAJE CENTRALIZADO.

Existe un dispositivo especfico para determinar qu dispositivo es el maestro. Este
arbitraje se emplea en el bus PCI.

Captulo 5.2.3.2. ARBITRAJE DISTRIBUIDO POR AUTOSELECCIN.

Los dispositivos se ponen de acuerdo entre s. Cada dispositivo pone un nmero que
tiene asociado en determinadas lneas del bus, de tal modo que aque dispositivo que tiene el
mayor valor se convierte en el maestro. Este abitraje se utiliza en el bus multibs.

Captulo 5.2.3.3. ARBITRAJE DISTRIBUIDO CON DETECCIN DE COLISIONES.

Cada dispositivo supone que el bus le pertenece y coloca sobre las lneas de datos un
dato determinado. A continuacin, si el valor ledo coincide con el escrito slo l desea ser el
maestro y se le concede. En caso contrario, se habr producido una colisin y cada dispositivo
intentar tomar el control del bus transcurrido cierto tiempo aleatorio. Este arbitraje es
empleado en redes ethernet.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 111

Captulo 5.2.4. JERARQUA DE BUSES.

Si conectamos todos los dispositivos del sistema a travs de un nico bus tendramos
muchos problemas:
El bus sera un cuello de botella ya que todas las transferencias se realizaran a
travs de dicho bus.
Al aumentar el nmero de dispositivos conectados al bus se ralentizara la velocidad
de ste, debido a las capacidades parsitas.
Si pretendemos conectar cualquier dispositivo con un mismo tipo de bus ste sera
muy lento debido a su complejidad intrnseca.

Para solucionar estos problemas emplearemos una jerarqua de buses. Cada uno de
estos buese estara conectado con el resto a travs de un puente, capaces de traducir seales
entre buses de distinta velocidad.


Ilustracin 102. Ejemplo de jerarqua de buses

Captulo 5.2.5. EL BUS PCI.

Es un bus sncrono, multiplexado, paralelo y con soporte plug and play. Existen varias
especificaciones de este bus. Vamos a estudiar la especificacin del PCI empleado en los PCs
de propsito general. As, en estos computadores, el bus PCI tiene un tamao de dato de 32
bits, una frecuencia de 33 MHz. y en condiciones ideales se transmite un dato cada ciclo. Por
tanto, la velocidad de transferencia terica de este bus es:
segundo
Mbyes
132
dato 1
byes 4

MHz 1
segundo
Mdato 1
MHz. 33 =
Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 112

El bus PCI es un bus plug and play, as que los dispositivos que se conectan a dicho bus
disponen de unos registros especiales que permiten al bus determinar las caractersitcas de la
tarjeta. Estos datos son accesidos a travs del controlador del bus.

En el bus PCI hay dos tipos de dispositivos:
el iniciador (iniciator) y
el destinatario (tarjet)

El iniciador es el dispositivo que acta como maestro y el destinatario con el que se
quiere comunicar (leer o escribir) el maestro.

Cada dispositivo con capacidad de ser maestro tiene dos lneas relacionadas con la
peticin:
la lnea REQ de peticin de bus y
la lnea GNT de concesin del bus.

En el bus PCI el arbitraje es centralizado. As, cada dispositivo activa la lnea REQ de
peticin de bus y el rbitro activar una y slo una lnea GNT concedindole al dispositivo
correspondiente el bus.


Ilustracin 103. Esquema de bus PCI

Los dispositivos leen sus entradas en el flanco ascendente de la seal de reloj CLK y
generan sus salidas poco despus.

La seal FRAME es una seal que se pone a cero el iniciador al comienzo de un ciclo,
ya sea de lectura o de escritura y que se pone a uno al final de dicho ciclo.

Las seales AD constituyen las lneas de direcciones y datos. Se trata de lneas de 32
bits y estn multiplexadas.

Las seales C/BE son lneas cuya funcin depende del ciclo del bus en que nos
encontremos. Cuando funcionan como C indican el tipo de transaccin y como BE, qu lineas
de AD son vlidas.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 113

Captulo 5.2.5.1. EL CICLO DE LECTURA PTIMO.


Ilustracin 104. Ciclo de lectura ptimo

Por ejemplo, el iniciador pone en las lneas C/BE el comando de lectura y en las lneas
AD la direccin que identifica el dispositivo (destinatario) donde se realizar la lectura y una
posicin de memoria dentro del mismo.

A continuacin, los dispositivos identifican que la operacin en curso es de lectura y leen
la direccin de las lneas AD. Si dicha direccin referencia a un dispositivo, ste ejecutar la
orden. Por otra parte, el iniciador activar las lneas BE para indicar qu lneas sern ledas y
desactivar las lneas AD.

En siguiente lugar, el destinatario pone en el bus el dato ledo. El indicador pone una
comunicacin de habilitacin de bytes, es decir, indica cules van a ser los bytes vlidos en el
siguiente ciclo de lectura.

Cuando se han completado las lecturas, el iniciador desactivar la seal FRAME y
finalizar la transaccin.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 114

Captulo 5.2.5.2. EL CICLO DE ESCRITURA PTIMO.


Ilustracin 105. El ciclo de escritura ptimo

El iniciador activa la seal FRAME e indica el tipo de transaccin (escritura) sobre las
lneas C/BE. A continuacin coloca en las lneas AD la direccin del dispositivo destino.

Posteriormente, cada uno de los dispositivos lee el tipo de operacin y la direccin,
identificndose uno de ellos como destinatario. El iniciador por otra parte, situar sobre las
lneas BE el conjunto de bytes vlidos para la escritura.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 115

Captulo 5.3. CONEXIN DE LOS COMPONENTES DE UN PC MODERNO.


Ilustracin 106. Esquema de la jerarqua de topologas de interconexin de dispositivos en la
arquitectura IA - 32

El north bridge (MCH) o controlador de memoria, el south bridge (IOCH) o controlador de
entrada / salida y el super IO son concentradores.

El MCH y el IOCH constituyen el chipset.

La CPU est conectada al MCH a travs de un bus FSB. El MCH est conectado a un
bus de memoria y a un canal AGP para conectarse con la tarjeta grfica.

El MCH Se comunica con el IOCH, de menor velocidad, el cul adems est conectado
a un canal de controladora de disco y a los buses PCI y USB. Tambin se conecta el bus LPC
que comunica con el super IO.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 116

Captulo 6. PERIFRICOS.

En este captulo vamos a estudiar los perifricos ms usuales que podemos
encontrarnos actualmente en los computadores de propsito general.

Captulo 6.1. INTRODUCCIN.

Los perifricos son parte fundamental de computador ya que permiten comunicar ste
con el entorno.

El principal problema que plantea el estudio de los perifricos es su diversidad. As,
vamos a plantear este estudio dividiendo a los perifricos en las siguientes categoras:
perifricos de entrada (teclado, ratn, gamepad, etctera)
perifricos de salida (monitor, impresora, plotter, etctera)
perifricos de entrada / salida (pantalla tctil, tarjetas de sonido, etctera)
perifricos de almacenamiento (discos duros, disquetes, discos pticos, cintas,
etctera)

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 117

Captulo 6.2. PERIFRICOS DE ALMACENAMIENTO DE INFORMACIN.

Estos perifricos permiten almacenar y obtener informacin. Buscamos perifricos con
las siguientes caractersiticas:
alta capacidad,
velocidad,
bajo coste,
mantenimiento de la informacin en ausencia de alimentacin y
fcil transporte.

Podemos clasificar estos dispositivos en las siguientes categoras de acuerdo a su
tecnologa:
basados en semiconductores (memorias flash)
basados en almacenamiento magntico (discos pticos)
basados en almacenamiento ptico (CDs, DVDs)
basados en almacenamiento magneto ptico (minidisc)

Captulo 6.2.1.1. ALMACENAMIENTO DE DATOS EN MATERIALES FERROMAGNTICOS.

Los materiales ferromagnticos estn formados por unas particulas denominados
dominios magnticos que, en condiciones normales, estn orientados de forma arbitraria. Sin
embargo, bajo un campo magntico se orientan en su direccin.


Ilustracin 107. Material ferromagntico en condiciones normales y bajo un campo magntico

Al aumentar la intensidad el campo (H) aumentar a magnetizacin de los dominios (M).
Si ahora disminuimos la intensidad del campo magntico, la magnetizacin no disminuir
completamente, sino que quedar un residuo denominado remanencia.

Si invertimos el sentido del campo magntico llegaramos a un punto en el que se
anulara la remanencia. La intensidad de campo magntico necesaria para anular esta
remanencia se denomina coercitividad.

Si seguimos disminuyendo el campo magntico llegaramos a un punto crtico a partir del
cual el material no experimentara ninguna alteracin frente a esta disminucin del campo.

Finalmente, si comenzamos a aumentar el campo nuevamente volveramos al punto de
partida, cerrndose el ciclo de histresis.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 118


Ilustracin 108. Ciclo de histresis

Para almacenar un bit se necesitan dominios. Mejorando la tecnologa de fabricacin
conseguimos que sea lo ms pequeo posible hasta llegar a un punto crtico 1 = .

Captulo 6.2.1.2. GRABACIN Y LECTURA DE DATOS USANDO MATERIALES MAGNTICOS.

Para llevar a cabo la grabacin o lectura de datos usando materiales magnticos se
produce un movimiento relativo de la cabeza de lectura y escritura y la superficie magntica.

Para leer, al desplazarse la cabeza de lectura y escritura sobre la superfice magntica,
se induce sobre esta una corriente elctrica, cuyos pulsos determinan la informacin
almacenanda.


Ilustracin 109. Lectura en materiales magnticos
Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 119


Para escribir, se induce un campo magntico a travs de la cabeza de lectura y escritura
que producir la orientacin de los dominios magnticos en el sentido de dicho campo.


Ilustracin 110. Escritura en materiales magnticos

Captulo 6.2.1.3. CODIFICACIN DE LA INFORMACIN EN MEDIOS MAGNTICOS.


Ilustracin 111. Codificacin de secuencias de bits en medios magnticos

Hasta ahora hemos visto los principios fsicos en los que se basa el almacenamiento
magntico de la informacin as como los procesos de lectura y escritura, pero, cmo
podemos emplear los principios magnticos para almacenar secuencias de bits? Vamos a
estudiar tres mecanismos para llevar a cabo este almacenamiento. Supongamos que
deseamos almacenar la secuencia de bists 111010001.

En primer lugar, emplearemos la modulacin en frecuencias. As, utilizaremos una onda
cuadrada cuya frecuencia depender de la secuencia de bits. Esta seal se llamar
polarizacin y cada transicin va a indicar un camio de polarizacin.
Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 120


Con la modulacin en frecuencias (FM) hay un pulso en el centro de cada bit igual a uno.
Tambin hay un pulso al comienzo de todos los bits denominado pulso de reloj.

A la hora de elegir el mecanismo de almacenamiento optamos por aquel que permita
mayor densidad de almacenamiento.

Con MFM, hay un pulso en el centro de cada bit igual a uno. Tambin hay un pulso al
comienzo del bit cuando se cumple la siguiente condicin: si en el bit anterior no hubo pulso de
bit y en el pulso actual tampoco lo hay.

Si emplearamos codificacin FM, sera necesaria una mayor precisin que MFM.
Empleando el mismo material, con la codificacin MFM tenemos una mayor precisin. El nico
inconveniente que plantea es que su lgica de almacenamiento es ms compleja. En trmino
medio, con MFM tenemos el doble de almacenamiento respecto a FM.

Con la codificacin M
2
FM, hay un pulso en el centro de cada bit igual a uno. Tambin
hay un pulso al comienzo del bit si se cumple la siguiente condicin: si en el bit anterior no
hubo ni pulso de bit ni pulso de reloj y en le bit actual no hay pulso de reloj.


Captulo 6.2.1.4. UNIDADES DE DISCO.

Vamos a estudiar las caractersticas generales a todas las unidades de disco (disquetes,
unidades zip, discos duros, etctera). Vistas las similitudes, estudiaremos las particularidades
de cada una.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 121

Captulo 6.2.1.4.1. CONSTITUCIN FSICA.

Fsicamente, un disco consta de uno o varios platos magnticos en los que se almacena
la informacin.


Ilustracin 112. Constitucin fsica de un disco

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 122

Captulo 6.2.1.4.2. ORGANIZACIN DE LA INFORMACIN EN EL DISCO.

Cada superficie magntica se divide en pistas y cada pista a su vez se divide en
sectores.

Ilustracin 113. Organizacin de la informacin sobre una superficie

Suponiendo que podemos tener varias superficies, podemos hablar de cilindros, es decir,
el conjunto de todas las pistas que estn a la misma distancia del eje.


Ilustracin 114. Organizacin de la informacin sobre un cilindro

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 123

El sector es la unidad mnima de almacenamiento de la informacin en disco.

Por otra parte, un cluster es un conjunto de sectores y es un concepto asociado al
sistema operativo. Es el nmero mnimo de sectores al cual se accede en cada operacin de
lectura y escritura en disco.

Esta organizacin de la informacin en el disco se lleva a cabo durante el formateado a
bajo nivel. Es un proceso que, generalmente, lleva a cabo el fabricante. As, en el disco
tambin se almacena informacin de control.

Todos los sectores tienen la misma capacidad. Tpicamente, 512 bytes. Si todos tienen
el mismo tamao puede ocurrir que algunos sectores tengan una densidad de almacenamiento
mucho menor que otros. As, los fabricantes buscan que todos los sectores tengan la mayor
densidad posible.

Por otra parte, los sectores suelen estar numerados de acuerdo a un criterio del
fabricante.

Captulo 6.2.1.4.3. PARMETROS DE UNA UNIDAD DE DISCO.

Los principales parmetros empleados para describir una unidad de disco son su
capacidad, su tiempo de acceso y la densidad de almacenamiento.

Captulo 6.2.1.4.3.1. CAPACIDAD.

Es un parmetro fundamental en las unidades de disco. Suele expresarse en KB, MB,
etctera. Para obtener la capacidad de un disco a partir de sus pistas, sectores y superficies se
sigue la siguiente frmula:
sector
bytes de numero

pista
sectores de numero

superIicie
pistas de numero

disco
s superIicie de numero
capacidad =

Captulo 6.2.1.4.3.2. TIEMPO DE ACCESO.

Es el tiempo medio de lectura y escritura. Intervienen tres factores:
tiempo de bsqueda,
tiempo de latencia y
tiempo de transferencia.

El tiempo de bsqueda es el tiempo que transcurre hasta que la cabeza de lectura y
escritura se alinea sobre la pista correspondiente. Es un tiempo mecnico y por tanto, alto. Se
le denomina seek time.

El tiempo de latencia es el tiempo necesario para que el sector a leer se site sobre la
cabeza de lectura y escritura. Es un tiempo aleatorio ya que depende del ngulo de la cabeza.
El tiempo medio es el tiempo de dar media vuelta. Al aumentar la velocidad de rotacin del
disco, disminuye este tiempo.

El tiempo de transferencia es el tiempo necesario para que el sector completo pase
debajo de la cabeza de lectura y escritura. Este tiempo depende nuevamente de la velocidad
de rotacin del disco.

As,
cia transIeren latencia busqueda
+ + =

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 124

Captulo 6.2.1.4.3.3. DENSIDAD DE ALMACENAMIENTO.

Determina el nmero de bits que se pueden almacenar por unidad de superficie. Suele
venir definida por dos parmetros:
TPI (tracks per inch)
BPI (bits per inch)

Captulo 6.2.1.5. LOS DISCOS FLEXIBLES.

Estos discos estn formados por un plato de material flexible. Sus cabezas tocan la
superficie del disco. As, al estar tocando las superficies de los discos se tienen unas
velocidades de rotacin muy lentas, con lo que su tasa de transferencia es muy baja.

Tienen una baja capacidad y son muy poco fiables.

Captulo 6.2.1.6. LOS DISCOS ZIP.

Son bsicamente disquetes mejorados. No constituyen un estndar sino que son
propiedad de Iomega.

Las cabezas siguen tocando la superficie del disco aunque en menor medida. Adems,
stas son mas pequeas y por tanto se dispone de una mayor densidad de almacenamiento.

Captulo 6.2.1.7. LOS DISCOS DUROS.

Son las unidades de almacenamiento magntico de mayor capacidad. Estn formadas
por platos rgidos cubieros por una superficie magntica.

Pueden tener varios platos girando de manera solidaria.

Sus velocidades son muy elevadas ya que las cabezas no tocan la superficie del plato.
Esta separacin se consigue gracias a que las cabezas vuelan sobre la superficie. Cuando el
disco est parado, la cabeza de lectura y escritura toca en la superficie. Los fabricantes
determinan una pista sobre la que aparcar las cabezas.

Por otra parte, dentro de la electrnica de los discos suele haber un buffer de
almacenamiento temporal.

Captulo 6.2.1.8. OTROS DISPOSITIVOS DE ALMACENAMIENTO MAGNTICO.

Podemos destacar las cintas magnticas.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 125

Captulo 6.2.1.8.1. CINTAS MAGNTICAS.

Son dispositivos de almacenamiento removible. Su acceso es secuencial. Estos
dispositivos son utilizados bsicamente para hacer copias de seguridad o back ups debido a
su elevada capacidad, especialemente cuando las copias de seguridad son superiores a 10
GB. As, cuando la informacin se lee de forma secuencial, la velocidad de transferencia oscila
entre los 5 MB/s.


Ilustracin 115. Funcionamiento de las cintas magnticas

Fsicamente se componen de un material plstico y sobre l, una superficie magntica.
Estas cintas se desplazan a velocidad constante y, gracias a la cabeza de lectura y escritura,
se induce un campo magntico variable que magnetiza la superficie de la cinta, almacenando
la informacin correspondiente. El proceso de lectura es anlogo.

Captulo 6.2.2. ALMACENAMIENTO PTICO.

Visto el almacenamiento magntico vamos a estudiar el almacenamiento ptico, basado
en las propiedades pticas de los materiales. Concretamente, vamos a estudiar el CD (compact
disk) y el DVD (digital versatile disk).

Captulo 6.2.2.1. PRINCIPIO DE FUNCIONAMINENTO.

En un CD ROM distinguimos:
un material plstico y transparente que acta de sustrato; sobre l,
una capa metlica y sobre esta,
una capa protectora donde se sita la etiqueta.

Concretamente, la informacin se almacena sobre la capa metlica, la cual es reflectora.

Cuando se graba un CD ROM se marca la superficie metlica. Estas marcas se
denominan pits u hoyos. El resto de la superficie que no ha sido marcada se denomina land.

Sobre un land, la luz se refleja. Por el contrario, cuando la luz incide sobre un pit no se
refleja.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 126

La informacin se almacena en una espiral que comienza en el centrol del disco hasta la
periferia.


Ilustracin 116. Organizacin de la informacin sobre la superficie de un CD - ROM

Para leer el CD se utiliza un haz de luz lser, gracias a que tienen una frecuencia nica y
a su precisin. As, el haz de luz se sita sobre una zona concreta de la superficie y si sta
refleja el haz de luz, ser detectado por un fotodetector.

Captulo 6.2.2.1.1. CODIFICACIN DE LA INFORMACIN MEDIANTE PITS Y LANDS.

Se emplea la codificacin ISO 9660. Un uno se codifica como una transicin de pit a land
o viceversa. La duracin del pit o land indica el nmero de ceros.

Por encima se sita un mecanismo de codificacin para asegurar que el tamao de los
pits y de los lands est dentro de un rango, definido por un valor mnimo y un mximo.
Concretamente, para codificar un byte se utilizan 14 bits (codificacin EFM, eigth to fourteen
modulation). Esta codificacin se basa en elegir entre las
14
2 combinaciones posibles 256 que
nos aseguran que el tamao de los pits y de los lands est dentro del rango.

Adems, hay tres bits que nos aseguran que el tamao de los pits estn dentro de los
rangos permitidos, incluso entre dos bytes consecutivos.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 127

Captulo 6.2.2.1.2. PRINCIPIO DE FUNCIONAMIENTO.

Los bytes se agrupan en bloque s de 2352 bytes. A veces se les denomina sectores.
Cada segundo se reproducen 75 sectores. As, supongamos un CD tpico de 74 minutos. En un
CD ROM, de los 2352 bytes se utilizan 2048 para almacenar informacin y el resto se utiliza
para la deteccin y tratamiento de errores. As tenemos:
MB 650
KB 1024
MB 1

bytes 1024
KB 1

sector 1
bytes 2048

segundo 1
sectores 75

minuto 1
segundos 60
minutos 74 =

Captulo 6.2.2.2. TIPOS DE ALMACENAMIENTO PTICO.

Distinguimos CD ROM (vienen estampados de fbrica), CD R (una sla escritura),
CD RW (mltiples escrituras), DVD ROM, DVDR y DVDRW,

Captulo 6.2.2.3. EL CD ROM.

Son unidades capaces de leer CDs de datos o audio. Emplean un lser con una longitud
de onda de 1.6m, que se sita en el espectro de los infrarrojos y por tanto no es visible.

La especificacin base del CD ROM tena una tasa de transferencia de 150 KB/s.

Captulo 6.2.2.4. EL DVD ROM.

Bsicamente es un CD ROM avanzado. Su lser tiene una longitud de onda de 635
nm., que se sita en el espectro del rojo y por tanto es una luz visible.

La capacidad de un DVD ROM es de 4.7 GB (una capa) o 8.5 GB (dos capas).

Tambin hay mejoras en la codificacin y en la deteccin y tratamiento de errores.

La velocidad base es de 1.3 MB/s.

Captulo 6.2.2.5. CDS Y DVDS GRABABLES Y REGRABABLES.

Captulo 6.2.2.5.1. GRABABLES.

En este tipo de dispositivos se deposita sobre el sustrato un material fotosensible que
refleja la luz en condiciones normales pero que, cuando el material se quema por la incidencia
de un lser de alta potencia, ya no refleja la luz. As, se puede simular el comportamiento de
los pits.

Captulo 6.2.2.5.2. REGRABABLES.

Se dispone en la espiral de una cierta aleacion cristalina que refleja la luz.

Cuando se graba se hace incidir un lser de muy alta potencia que hace que el material
se funda (600 C) y pierda sus propiedades cristalinas, dejando de reflejar la luz.

Para hacer el borrado se utiliza el lser con una potencia menor calentando el material a
temperaturas del orden de 200 C. A estas temperaturas el material recupera sus propiedades
cristalinas.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 128

Captulo 6.2.3. ALMACENAMIENTO MAGNETO PTICO.

Combina las propiedades magnticas y ptimas de los materiales. Estos discos son muy
utilizados en entornos profesionales para realizar copias de seguridad ya que son muy fiables.
Como inconveniente, son muy caros.

Sus tasas de transferencia oscilan entre los 6 MB/s y su tamao es menor de 10 GB.

Captulo 6.2.3.1. PRINCIPIO DE FUNCIONAMIENTO.

Mediante un lser de alta potencia se calienta una zona del material a temperaturas de
300 C. Con esta temperatura, el material es sensible a campos magnticos, luego puede ser
escrito

Por otra parte, el proceso de lectura es un proceso ptico. Dependiendo de la polaridad
del material, al hacer incidir un lser de baja potencia, los reflejos varan en funcin de la
orientacin magntica


Ilustracin 117. Principio de funcionamiento de los discos magneto - pticos
Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 129

Captulo 6.2.4. ALMACENAMIENTO BASADO EN SEMICONDUCTORES.

Se emplea la tecnologa flash. Son memorias que se pueden leer o escribir
elctricamente de forma muy sencilla. Son memorias lentas en acceso secuencial y tienen un
nmero limitado de escritura.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 130

Captulo 6.3. PERIFRICOS DE ENTRADA.

Los perifricos de entrada permiten introducir informacin en el computador. Vamos a
estudiar el teclado y el ratn.

Captulo 6.3.1. EL TECLADO.

Es un dispositivo indispensable. Permite introducir caracteres u ordenes de control.

Captulo 6.3.1.1. CONSTITUCIN FSICA.

Cada tecla, al ser pulsada, cierra unos contactos elctricos.


Ilustracin 118. Esquema de un pulsador

Segn como se lleve a cabo esto distinguimos pulsadores de:
muelle
membrana



Captulo 6.3.1.2. FUNCIONAMIENTO DEL TECLADO.

Es necesario tener en cuenta tres aspectos a la hora de explicar el funcionamiento de un
teclado:
La deteccin de la pulsacin y la liberacin de la tecla.
La traduccin del evento de teclado a cdigo binario.
La transmisin del cdigo binario al computador.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 131

Captulo 6.3.1.2.1. DETECCIN DE LA PULSACIN Y LIBERACIN DE LA TECLA.

Los pulsadores se combinan formando una matriz. As, el nmero de entradas que llegan
al circuito de tratamiento de la pulsacin ser lo ms pequea posible.


Ilustracin 119. Matriz de pulsadores

Con este esquema, es necesario realizar un barrido de todas las filas, poniendo slo una
de ellas en cada instante a uno. Al mismo tiempo, se observan las columnas que se activan.

As, el decodificador activar cada fila, el estado de las columnas llegar al codificador,
que devolver la columna de la tecla pulsada al chip de teclado. De este modo el par (fila,
columna) determinan una nica tecla en la matriz de pulsadores.


Ilustracin 120. Esquema de deteccin de la pulsacin de la tecla

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 132

Captulo 6.3.1.2.2. TRADUCCIN DEL EVENTO DEL TECLADO A UN CDIGO BINARIO.

Cada tecla tiene asociados dos cdigos:
un cdigo MAKE, de pulsacin y
un cdigo BREAK, de liberacin.

En la arquitectura IA 32, el cdigo BREAK es MAKE + 80h.

Estos cdigos no son cdigos ASCII sino cdigos de posicin en el teclado. Estos
cdigos suelen denominarse cdigos de scan (scan codes).

Adems, el controlador de teclado permite la funcin de repeticin automtica
(typematics) cuando se mantiene una tecla pulsada durante un prolongado periodo de tiempo.
Por otra parte, siempre se enva el cdigo de la ltima tecla pulsada. Estos cdigos son
recibidos de forma secuencial en el computador, lo que permite interpretar combinaciones de
teclas.

Captulo 6.3.1.2.3. TRANSMISIN DEL CDIGO AL COMPUTADOR.

Depende de la interface empleada (serie, PS/2, USB, etctera). Con PS/2, los cdigos se
envan en serie a travs de la lnea KBDATA.


Ilustracin 121. Interface PS/2 para la conexin del teclado al computador

Captulo 6.3.2. EL RATN.

Es un dispositivo de entrada que permite sealizar posiciones en la pantalla del
ordenador. Distinguimos dos tipos de ratones:
mecnicos u
pticos.

Captulo 6.3.2.1. PRINCIPIO DE FUNCIONAMIENTO.

Si el ratn de deslaza a derecha/izquierda el puntero se mueve en pantalla hacia
derecha/izquierda y si el ratn se mueve adelante/atrs, el puntero se mueve en pantalla
arriba/abajo.

Suelen constar de dos o tres botones de accin.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 133

Captulo 6.3.2.2. CONSTITUCIN FSICA Y FUNCIONAMIENTO DEL RATN MECNICO.

El ratn mecnico consta de una bola y tres rodillos que actan de ejes. Cuando ms
giren estos rodillos, ms se habr desplazado el ratn.

Cmo se detecta el movimiento? Se emplea un fotosensor. Adems, existen unos
encoders que permiten contar el nmero de pulsos producidos.


Ilustracin 122. Constitucin fsica del ratn mecnico

El principal problema que tiene este tipo de ratn es que consta de partes mecnicas
mviles, susceptibles al desgaste y a la suciedad.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 134

Captulo 6.3.2.3. CONSTITUCIN FSICA Y FUNCIONAMIENTO DEL RATN PTICO.

El ratn ptimo consta de un led que emite una luz, que se refleja en la superficie y llega
a un sensor ptico, el cual procesa la imagen y determina el movimiento realizado.


Ilustracin 123. Constitucin fsica del ratn ptico

Al carecer de partes mecnicas, no sufren desgaste.

Captulo 6.3.2.4. CONEXIN DEL RATN CON EL COMPUTADOR.

Al igual que en el teclado, la conexin del ratn al computador se puede realizar a travs
de varias interfaces: PS/2, serie, USB, Bluetooth, etctera.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 135

Captulo 6.4. PERIFRICOS DE SALIDA.

Distinguimos dos tipos de perifricos de salida:
los que proporcionan informacin impresa y
los que proporcionan informacin grfica.

Captulo 6.4.1. MONITORES CRT.

Tambin conocidos como monitores de rayos catdicos. Su funcionamiento es muy
simular al de una televisin.

Captulo 6.4.1.1. CONSTITUCIN Y PRINCIPIOS DE FUNCIONAMIENTO DE UN MONITOR.

El ctodo es un emisor de electrones. Es un metal que, a temperaturas muy elevadas
emite eletrones. El nodo es un acelerador de electrones. El conjunto formado por el nodo y el
ctodo se denomina can de electrones. El haz de electrones emitido por el can llega a una
placas deflectoras que generan un campo magntico que desva la trayectoria de los
electrones tanto vertical como horizontlmente, de modo que stos puedan inicidir en cualquier
punto de la pantalla. En esta pantalla existe un material fluorescente que ante el impacto del
haz de electrones se ilumina. De modo que, cuanto mayor sea la velocidad de los electrones,
mayor ser la intensidad de la luz emitida.


Ilustracin 124. Esquema de un monitor CRT

Existen dos principios fsicos que permiten la representacin de imgenes en pantalla:
la fluorescencia, ya descrita y,
la persistencia.

La persistencia consiste en que la emisin de la luz se mantiene un tiempo aunque no
incida el haz de electrones y tambin en la retina del ojo humano.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 136

Captulo 6.4.1.2. FUNCIONAMIENTO Y CONTROL DE UN MONITOR.

Para representar una imagen en pantalla se emplea el mtodo del barrido. Este proceso
se divide en el barrido horizontal y el vertical. Adems, se emplean seales de sincronismo
para indicar el comienzo de una nueva lnea y de una pantalla, respectivamente.


Ilustracin 125. Realizacin del barrido en un monitor CRT


Ilustracin 126. Variaciones en las tensiones de las placas deflectoras durante el barrido

El barrido puede ser:
entrelazado, es decir, en el primer barrido se barren las lneas impares y en el
segundo, las pares, o
no entrelazado.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 137

Captulo 6.4.1.3. MONITORES EN COLOR.

Para generar cualquier color podemos emplear los tres colores bsicos: el rojo, el verde
y el azul. As, para crear monitores en color existen tres fsforos, uno para cada color. De esta
forma, para generar imgenes en color se emplean tres haces de luz de modo que cada pxel
est formado por una terna (R,G,B).

Captulo 6.4.1.4. CARACTERSTICAS GENERALES DE UN MONITOR.

Las principales caractersticas que definen un monitor son:
tamao,
resolucin,
frecuencia de barrido vertical y horizontal y
tamao del punto o dot pitch.

Captulo 6.4.2. MONITORES LCD.

Estos monitores tienen dos ventajas fundamentales frente a los CRT:
el consumo y
el tamao.

Adems, emiten menos radiaciones electromagnticas y su contaminacin es menor.

Como desventajas:
son mas lentos y
menos precisos.

Captulo 6.4.2.1. PRINCIPIOS FSICOS DE FUNCIONAMIENTO.

Fsicamente, estos monitores estn formados por un lquido con molculas muy
ordenadas. Inicialmente, estas molculas estn alineadas de acuerdo a un eje director o eje
ptico. Adems, estas molculas se ven afectadas por campos elctricos, alinendose en el
sentido de stos.

Un monitor LCD se forma de varias capas de molculas entre dos superficies de vidrio y
dos polarizadores. Al aplicar un campo elctrico entre las dos superficies de vidrio, las
molculas se alinearn. As, podemos controlar que la luz pase o no, actuando como un filtro.
As, los LCDs no emiten luz sino que necesitan una fuene, generalmente, halgena, que ser
filtrada para formar una imagen.

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 138


Ilustracin 127. Inicialmetne, la luz polarizada no es filtrada

Ilustracin 128. Al aplicar un campo elctrico las molculas se orientan filtrando la luz polarizada
Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 139

Captulo 6.4.2.2. LA TECNOLOGA DE LOS LCD.

Para permitir o no el paso de luz a travs de una celda existen dos tcnicas:
matriz pasiva o
matriz activa.

La matriz pasiva se organiza en filas y columnas de electrodos, lo cual no resulta muy
preciso.

La matriz activa se organiza en filas y columnas de TFTs de material traslcido. Estos
transistores de capa delgada son mucho ms precisos que los electrodos empleados por la
matriz pasiva.

Captulo 6.4.2.3. FUNCIONAMIENTO DE LOS LCD.

Para generar imgenes en color, los monitores TFT constan de filtros, uno para color
bsico.

Captulo 6.4.3. IMPRESORAS.

De acuerdo a la forma de transforar la informacin distinguimos:
impresoras orientadas a carcter o
impresoras orientadas a pgina.

Captulo 6.4.3.1. PRINCIPIOS DE FUNCIONAMIENTO DE UNA IMPRESORA.


Ilustracin 129. Esquema genrico de una impresora

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 140

Captulo 6.4.3.2. IMPRESORAS DE AGUJAS.

Marcan los puntos en el papel al presionar sore una cinta entintada. Estas agujas se
conectan a un solenoide que, al generar una corriente, hacen que la aguja se desplace
marcando un punto sobre el papel.


Ilustracin 130. Esquema de funcionamiento de una impresora de agujas

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 141

Captulo 6.4.3.3. IMPRESORAS DE CHORRO DE TINTA.

El cabezal dispone de una boquillas a travs de las cuales se inyecta la tinta sobre el
papel. Para inyectar la tinta se puede emplear un piezoelctrico o un elemento trmico.

Para generar las impresiones en color se emplean tres colores: cyan, amarillo y
magenta.

La saturacin del color se consiguie dejando ms o menos puntos en blanco.


Ilustracin 131. Inyeccin de tinta a travs de un piezoelctrico o un elemento trmico

Universidad de Oviedo
ESTRUCTURA DE LOS COMPUTADORES
Escuela Universitaria de Ingeniera Tcnica en Informtica de Oviedo (E.U.I.T.I.O)

Alberto Surez Lpez
Pgina 142

Captulo 6.4.4.4. IMPRESORAS LSER.

Estn orientadas a pgina. En primer lugar se genera una matriz de puntos a partir de la
descripcin de la pgina. El tambor en su superficie, que tiene un material fotosensible, pasa al
lado de la corona de carga, que realiza una carga electromagntica negativa. Mediante un lser
y a travs de un espejo, se descargan de manera selectiva determinados puntos. A
continuacin, se aplica toner (tinta en polvo) sobre el tambor, que se carga negativamente.
Este polvo slo quedar retenido en los puntos sobre los que ha accedido el lser. El papel
pasa por otra corona de carga que carga el papel positivamente. As, el polvo se despega de
tambor y queda pegado al papel. Este papel pasa a un eliminador de carga esttica y a
continuacin pasa por unos rodillos de fusin, que calientan el papel, fijando la tinta.


Ilustracin 132. Esquema de una impresora lser

You might also like