You are on page 1of 4

IS-344

Sistemas Operativos
Ingeniera de Sistemas

Captulo I

CONCEPTOS ARQUITECTNICOS DE LA
COMPUTADORA

ESTRUCTURA Y FUNCIONAMIENTO DE LA COMPUTADORA


La computadora es una mquina destina a procesar datos.
En una visin esquemtica, como la figura, este
procesamiento involucra dos flujos de informacin: el de
datos y el de instrucciones. Se parte del flujo de datos que
han de ser procesados. Este flujo de datos es tratado
mediante un flujo de instrucciones de mquina, generado
por la ejecucin de un programa, y produce el flujo de
datos resultado.
1. ARQUITECTURA VON NEUMANN
Una computadora con arquitectura Von Neumann est compuesta por:

1.1 MEMORIA PRINCIPAL: (RAM y ROM), en ella han de residir: los datos a procesar, el programa mquina a
ejecutar y los resultados.
Un mdulo de memoria consta de un conjunto de ubicaciones definidas por direcciones enumeradas
secuencialmente.
Cada ubicacin contiene un nmero binario que puede ser interpretado como una instruccin o como un
dato.
1.2 PROCESADOR (O unidad central de proceso (CPU - UCP))
Se denomina as al conjunto de la Unidad Aritmtico Lgica y de Control. Actualmente, el procesador
suele construirse en un nico circuito integrado.
1.2.1 Unidad Aritmtico Lgica
Permite realizar una serie de operaciones aritmticas y lgicas sobre uno o dos operandos. Los datos
estn almacenados en un conjunto de registros o bien provienen de la memoria principal. Los resultados
tambin se almacenan en registros o en la memoria principal
1.2.2 Unidad de Control
Es la que se encarga de hacer funcional al conjunto, realiza las siguientes funciones:
- Lee de memoria las instrucciones mquina que forman el programa
- Interpreta cada instruccin leda
- Lee los datos de memoria referenciados por cada instruccin
- Ejecuta cada instruccin
- Almacena el resultado de cada instruccin
Tiene asociado una serie de registros:
- Contador de programa(PC): indica la direccin de la siguiente instruccin de mquina a ejecutar
- Puntero de pila (SP): sirve para manejar una pila en memoria principal
- Registro de instruccin (RI) que permite almacenar la instruccin de mquina a ejecutar
- Registro de estado (RE) almacena diversa informacin producida por la ejecucin de alguna de las
ltimas instrucciones del programa
Pgina 1 de 4

IS-344

Sistemas Operativos
Ingeniera de Sistemas

Captulo I

1.3 UNIDAD DE ENTRADA/SALIDA (E/S)


Se encarga de hacer la transferencia de informacin entre la memoria principal (o los registros) y los
perifricos. La entrada/salida se puede hacer bajo el gobierno de la unidad de control (E/S programada) o de
forma independiente (DMA) como veremos ms adelante.
2. MODELO DE PROGRAMACIN DE LA COMPUTADORA
Cuestiones generales
Elementos de almacenamiento: elementos de almacenamiento de la computadora que son visibles a
las instrucciones de mquina. En esta categora estn incluidos:
- registros generales
- contador de programa
- puntero de pila
- registro de estado
- memoria principal
Juego de instrucciones: define las operaciones que es capaz de hacer la computadora
Secuencia de Funcionamiento: define el modo en que se van ejecutando las instrucciones mquina
Cuando hablamos de programacin de la computadora, debemos tener en cuenta:
2.1 Niveles de ejecucin
Nivel de Usuario: nivel menos permisivo, la computadora solamente ejecuta un subconjunto de las
instrucciones mquina, quedando prohibida las dems. As tambin acceso limitado a determinados
registros, o a partes de estos registros y a determinadas zonas del mapa de memoria y de E/S.

Nivel de Ncleo: a este nivel la computadora ejecuta todas sus instrucciones sin ninguna restriccin
y permite el acceso a todos los registros y mapas de direcciones

2.2 Secuencia de funcionamiento de la computadora


La unidad de control es la que establece el funcionamiento de la computadora. Basado en una secuencia
sencilla, que se repite a alta velocidad (cientos de millones de veces por segundo):
i. lectura de memoria principal: de la instruccin mquina apuntada por el contador de programa
ii. incremento del contador del programa para que apunte a la siguiente instruccin de mquina
iii. ejecucin de la instruccin
Esta secuencia es lineal (en forma
consecutiva instrucciones en direcciones
consecutivas)
Y forma un bucle infinito

INICIO
Leer la siguiente
instruccin
Incrementa contador
Ejecutar la
instruccin

FIN

La unidad de control est continua e


ininterrumpidamente realizando esta
secuencia

Para que la computadora haga algo til se


ha de tener adecuadamente cargados en
memoria un programa de mquina con sus
datos y hemos de conseguir que el contador
del programa apunte a la instruccin
mquina inicial del programa.

OBSERVACION
Existen mecanismos para alterar la ejecucin lineal (que no siempre es la ms adecuada) con lo que se
consigue alterar el contenido de PC, con esto se consigue que salte o bifurque a otro segmento del programa
o a otro programa:
- Instrucciones de mquina de salto o bifurcacin (rompe la secuencia y pasa a otro segmento del
mismo)
- Interrupciones externas o internas (que hacen que la Unidad de control modifique el PC saltando a
otro programa)
- Instrucciones de mquina TRAP (similar a la interrupcin)

Pgina 2 de 4

IS-344

Sistemas Operativos
Ingeniera de Sistemas

Captulo I

2.3 Registros de control y estado


La Unidad de Control tiene asociada una serie de registros de control y estado. Dependen de la arquitectura
de la computadora.
- Contador de programa: contiene la direccin de la siguiente instruccin
- Puntero de pila: Contiene la direccin de la cabecera de la pila
- registro de instruccin (RI) contiene instruccin en curso de ejecucin
- registro de estado (RS) contiene:
Bits de estado aritmticos (signo, acarreo, cero, desbordamiento)
Bits de nivel de ejecucin (nivel en el que ejecuta el procesador)
Bits de control de interrupciones. Establecen las interrupciones que se pueden aceptar
- registro identificador de espacio de direccionamiento RIED, identifica el espacio de mapa de memoria que
puede utilizar el programa en ejecucin
- otros registros de gestin de memoria
3. INTERRUPCIONES (seales al procesador)
A nivel fsico, una interrupcin se solicita activando una seal que llega a la unidad de Control.
El agente generador o solicitante de la interrupcin ha de activar la mencionada seal cuando necesite que
se le atienda, es decir, que se ejecute un programa que le atienda.
Ante esta solicitud (siempre en cuando est habilitado este tipo de interrupcin) la Unidad de Control realiza
un ciclo de aceptacin de la interrupcin, que se lleva a cabo en cuanto termina la ejecucin de la
instruccin mquina que se est ejecutando y consiste en:
- Salva algunos registros del procesador (estado y contador de programa)
- Eleva el nivel de ejecucin del procesador, pasndolo a ncleo
- Carga un nuevo valor en el PC por lo que pasa a ejecutar otro programa
La Unidad de Control utilizando direccionamiento indirecto toma la mencionada direccin de una tabla de
interrupciones y la carga en el contador del programa. El resultado de esta carga es que la siguiente
instruccin mquina ejecutada es la primera del mencionado programa de tratamiento de interrupcin.
OJO: esto es parte del SO por razones de seguridad, para evitar que los programas que ejecuta el usuario
puedan perjudicar los datos o programas de otros usuarios.
Las interrupciones se pueden generar
por diversas causas:
Excepciones de programa
Interrupciones de reloj
Interrupciones de E/S
Excepciones de hardware
Instrucciones de TRAP

Fig 1: Acceso a la rutina de tratamiento de la


interrupcin

Como complemento al mecanismo de


aceptacin
de
interrupcin,
las
computadoras incluyen una instruccin
mquina para retorno, llamada RETI, el
efecto es restituir los registros de estado y
PC desde el lugar en que fueron salvados
al aceptarse la interrupcin.

OJO: Pueden existir varias seales de interrupcin, cada una tiene una prioridad - se atiende la de mayor
prioridad la computadora activa un mecanismo de inhibicin selectiva.

4. JERARQUIA DE MEMORIA
Las limitaciones de diseo de la memoria de un computador se pueden resumir en tres preguntas:
Qu cantidad?: Segn sea la capacidad, probablemente se construirn aplicaciones que la utilicen.
Qu velocidad?: Para lograr un mayor rendimiento, la memoria debe ser capaz de ir al ritmo del
procesador. Y qu coste?: el coste de la memoria debe ser razonable en relacin a los otros
componentes.
Pgina 3 de 4

IS-344

Sistemas Operativos
Ingeniera de Sistemas

Captulo I

Estas tres caractersticas compiten entre s: coste, capacidad y tiempo de acceso.


A menor tiempo de acceso, mayor coste por bit
A mayor capacidad, menor coste por bit
A mayor capacidad, mayor tiempo de acceso
La salida a este dilema no es depender de un nico componente de memoria o una tecnologa, sino
emplear una jerarqua de memoria. A medida que se desciende por la jerarqua se tienen las siguientes
condiciones:
1. Disminucin del coste por bit
2. Aumento de la capacidad
3. Aumento del tiempo de acceso
4. Disminucin de la frecuencia de acceso a la memoria por parte del procesador
Migracin de la informacin
La explotacin correcta de la jerarqua de memoria exige tener, en cada momento, la informacin
adecuada en el nivel adecuado. Para ello, la informacin ha de moverse de nivel, esto es, ha de
migrar de un nivel a otro. Esta migracin puede ser:
- Bajo demanda explcita (procesador)
- Automtica (memoria cach y memoria virtual)
5. MEMORIA VIRTUAL
La memoria virtual utiliza dos niveles de la jerarqua de memoria, la principal y una memoria de respaldo
(que suele ser el disco, aunque puede ser una memoria expandida).
La gestin de la memoria virtual es automtica y la realiza el sistema operativo con ayuda del hardware
de la mquina.
Existe una unidad de Hardware, denominada MMU (Memo Managemet Unit) que traduce las direcciones
virtuales a direcciones de memoria principal.
6. ENTRADA/ SALIDA
Los mecanismos de E/S de la computadora tiene por objetivo el intercambio de informacin entre los
perifricos y la memoria o los registros del procesador.
Veamos el esquema general de un perifrico

Fig 2. Esquema general de un perifrico


El registro de datos sirve para el intercambio de datos. En l ir cargando el controlador los datos ledos
y de l ir extrayendo los datos para su escritura en el perifrico.
Un bit de registro de estado sirve para indicar que el controlador puede transferir una palabra. En las
operaciones de lectura esto significa que ha cargado en el registro de datos un nuevo valor, mientras que
en las de escritura significa que necesita un nuevo dato. Otros bit de este registro sirven para que con
controlador indique los problemas que ha encontrado en la ejecucin de la ltima operacin de E/S.
El registro de control sirve para indicar al controlador las operaciones que ha de realizar.

Pgina 4 de 4