Você está na página 1de 83

Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -

1 -
UNIDAD: Introduccin a los Sistemas Operativos
PARTE A: CONCEPTOS BSICOS SOBRE ARQUITECTURAS DE
COMPUTADORAS (HARDWARE)
CONTENIDO:
Conceptos y clasificacin de arquitecturas computacionales.
Elementos que definen a una arquitectura.
Descripcin de una arquitectura VON NEUMANN.
Descripcin de una arquitectura DATA FLOW.
Descripcin de una arquitectura RISC.
Memorias.
Las Computadoras Personales (PC)
Los Microprocesadores y sus familias.
OBJ ETIVO DEL MDULO: Describir la composicin de las Arquitecturas computa-
cionales.
OBJ ETIVOS DEL APRENDIZAJ E: Despus de estudiar este mdulo, el alumno deber estar
en condiciones de:

Explicar el funcionamiento y reconocer las distintas Arquitecturas Computacionales.

Conocer la constitucin de una Arquitecturas von Neumann

Conocer la constitucin modular de una Unidad Central de Proceso.

Comprender y explicar el esquema funcional de las Computadoras en funcin de las
arquitecturas.

Comprender los tipos, conceptos, organizacin, y caractersticas de la memoria central.

Conocer y explicar la terminologa especfica empleada en ste mdulo.
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
2 -
A1.1.- COMPOSICIN INTERNA DE LAS COMPUTADORAS
A1.1.1. Conceptos Previos
La palabra computador (u ordenador como lo mencionan los espaoles) se usa para definir a
las mquinas capaces de aceptar datos o informacin a travs de un medio de entrada,
procesarlo automticamente bajo el control de un programa previamente almacenado en una
memoria y proporcionar los datos o la informacin resultante del proceso a travs de un medio
de salida que acta como interfase con el ser humano (fig. A1.02).
Dentro de esta primer definicin encontramos varios trminos que necesitan ser precisados con
mas detalles, a saber:
Proceso: Desde el punto de vista del hardware, es la capacidad que tiene la mquina para
efectuar comparaciones, operaciones (aritmticas o lgicas), modificaciones, ordenamientos,
intercalaciones, graficaciones, etc., de datos o informacin.
Procesador: a los efectos de este curso definimos con ese nombre al conjunto de circuitos
integrados en un Chip llamado microprocesador o unidad de microprocesamiento. Tambin
denominamos procesador a la entidad cableada o no, capaz de ejecutar una instruccin.
Microprocesador: est compuesto por un conjunto de circuitos combinacionales y
secuenciales integrados en una unidad que realiza la mayora de las funciones de un
procesador llamado unidad central de proceso o central processing unit (C.P.U.) y se divide
tradicionalmente en unidades funcionales a saber: Interfase de entrada/salida del
microprocesador; unidad de control; unidad aritmtico-lgica; unidad de registros, reloj y
memoria. Esta ltima unidad la consideraremos al igual que la unidad de entrada/salida como
un elemento externo a la CPU (Fig. A1.01) ya que complementan a mdulos conectados a ellos.
Un i d ad
En t r ad as
Reg i s t r o s
Sal i d a
(E/ S)
Rel o j o
Cl o c k
C. P. U. o M. P. U. (Mi c r o Pr o c es s i n g Un i t )
F ig.A1.01 Mdulos de un procesador
I n t er f as e Un i d ad
Un i d ad d e Co n t r o l
d e A r i t m t i c a
En t r ad a /
d e
Mem o r i a
y L g i c a
(A L U o UA L )
(U. d eC. )
Cac h e
Sal i d as
de 1 o/y
2 nivel
Entradas: significamos con ello a cualquier forma de datos o informacin que se introducirn en
un procesador para ser procesados. Esta forma de datos o informacin puede ser: nmeros,
letras, smbolos especiales, la voz, imgenes, seales, grficos, etc.
PROCESADOR
ENTRADA
Fig.A1.02 Funciones de Entrada y Salida
SALIDA
Salidas: Es la informacin o los datos que proporciona despus de un proceso (resultados,
caracteres, imgenes, grficos, seales, etc.).
Programa: es un conjunto ordenado de instrucciones especficos para el procesador y que
contiene el algoritmo de soluciones al problema que se pretende resolver.
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
3 -
Algoritmo: es el plan lgico que proporciona paso por paso el procedimiento capaz de dar la
solucin al problema que se pretende resolver.
En particular podemos esquematizar los componentes de una computadora como sigue:
U . d e
R e g i s t r o s C O N T R O L
F i g . A 1 . 0 3 E s q u e m a d e u n a A r q u i t e c t u r a C o m p u t a c i o n a l
M E M O R I A C E N T R A L ( M . C )
R O M C a c h e R A M
U . D E C O N T R O L d e M . C .
I N T E R F A S E d e E / S
R E L O J
U . A . L
P E R I F E R I C O S
P E R I F E R I C O S
S I S T E M A d e E N T R A D A / S A L I D A
C . P . U .
B U S D E L S I S T E M A
Estas interrelaciones y conexiones determinan una estructura que se conoce como
arquitectura de un computador (Computer architecture).
A1.1.2 ARQUITECTURA DE LOS COMPUTADORES
A1.1.2.1 Introduccin:
Cuando se habla de la arquitectura del computador, es necesario referirse al software y
hardware del mismo en forma conjunta, pues es imposible fabricar uno sin considerar al otro,
esto implica tomar un computador determinado, estudiarlo y sacar conclusiones que, deberan
ser de carcter general, o sea, aplicables al resto de los computadores. Por ejemplo
considerando distintas mquinas con un solo Software y midiendo su performances a efecto de
compararlos entre s.
La gran evolucin tecnolgica sufrida por la computacin a partir de la dcada del 70, ha
llevado a desarrollar nuevas arquitecturas para los sistemas de cmputos, distintas de las
tradicionales concepciones de la dcada anterior.
Una de las ms importantes es la tecnologa de integracin en gran escala de componentes
electrnicos (LSI Large Scale Integration, o la VLSI Very Large Scale Integration), que ha
permitido el diseo e implementacin de sistemas de procesamiento mucho ms veloces,
baratos y complejos.
La tecnologa LSI ha afectado a la computacin en dos sentidos; por un lado permitiendo la
computarizacin de procesos complejos mediante el uso de mini y micro computadoras a
costos realmente pequeos, Por otro lado, ha permitido la construccin de complejos sistemas
modulares de gran capacidad de procesamiento en paralelo, lo que signific un importante
progreso en la eficiencia de los sistemas de cmputo, fundamentalmente en lo referente a las
funciones complejas que pueden desarrollar (por ejemplo las comunicaciones) y a las grandes
velocidades que se pueden obtener en las ejecuciones de los procesos.
En la actualidad, dicha tecnologa permite la creacin de nuevos tipos de arquitecturas
modulares, capaces de adaptarse VA SOFTWARE a los algoritmos a ejecutar, mediante una
reconfiguracin interna de las interconexiones entre los mdulos. Es decir, la frontera entre los
dominios del hardware y software de sistemas tienen una injerencia creciente en la
caracterizacin de la arquitectura de los sistemas. J ustamente sta caracterstica la utilizaremos
para definir a un procesador (processor) como la entidad cableada o no (lgica), capaz de
ejecutar un proceso computacional o una instruccin.
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
4 -
De hecho la arquitectura que ve el usuario normal est generada por capas de software, que
hace transparente las dificultades y complejidades del hardware. La forma en que los elementos
de un computador (unidad central de proceso, memoria central o principal, canales, perifricos,
etc.) se organizan y vinculan entre s da lugar a diversas arquitecturas.
A1.1.2.2 DEFINICIN DE ARQUITECTURAS COMPUTACIONALES:
Se llama as a la organizacin y a la vinculacin interna entre los distintos bloques
circuitales de un computador para permitir el flujo de seales entre ellos. Su unidad es la
PALABRA compuesta por un conjunto de n bits, donde n puede ser 1, 2, 4, 8, 9, 12, 16, 24, 32,
36, 48, 64 o 128 bits (generalmente se prefiere un valor de n mltiplo de una potencia de dos).
Esto significa que toda la estructura interna como ser: buses, registros, unidad aritmtico-
lgica, unidad de entrada/salida, buffers, etc., se construyen fsicamente con una misma
capacidad de bits. Por ejemplo 16, 32 o 64 bits.
Este concepto surge de la implementacin tecnolgica y fsica de la mquina para su correcto
funcionamiento, o sea que si se dispusiera de chips de memoria central de 256 kbits o de 1
Mbit, la implementacin ser distinta para la misma arquitectura. Por otro lado el usuario no le
interesa mayormente esto ltimo, sino como est especificado el sistema completo y la interfase
con el hombre o sea lo que el usuario ve para comprender su funcionamiento.
Entonces, ampliaremos la definicin de arquitectura de un computador como la estructura interna formada por las
interrelaciones y conexiones circuitales que permiten el flujo de instrucciones y de datos cuando se ejecuta una tarea
en el sistema de computo.
Nos basaremos en ambos conceptos para lograr una explicacin razonable del funcionamiento
de un computador.
A1.1.2.3 CLASIFICACIN DE LAS ARQUITECTURAS
En general las arquitecturas de computadoras podran clasificarse como estticas y dinmicas
en cunto a su configuracin.
Las primeras son aquellas que no se adaptan va software a los programas a ejecutar, las
dinmicas, si lo hacen.
Estas ltimas constituyen en la actualidad un rea de intensas investigaciones, y pueden
distinguirse tres clases de arquitecturas adaptables sobre el nivel de reconfiguracin a saber:
MICROPROGRAMABLES:
Primeras arquitecturas adaptables implementadas en las que mediante software, es posible
modificar las interconexiones entre distintos dispositivos. As, mediante la seleccin de
microprogramas, un mismo hardware puede emular a distintas computadoras.
RECONFIGURABLES:
(Por modificacin de interconexiones) Son aquellas que pueden introducir modificaciones en las
interconexiones entre unidades funcionales mejorando la performance del sistema al poder
establecer distintas configuraciones de recursos segn el algoritmo a ejecutar.
RECONFIGURABLE POR MDULOS FUNCIONALES
Con el advenimiento de la tecnologa LSI se hizo posible interconectar mdulos completos de
unidades funcionales, por ejemplo coprocesadores matemticos, microprocesadores, DMA
(Direct Memory Access), RISC etc., con lo que el hardware disponible puede redistribuirse
entre distintos programas. Esto permite que se incremente el nmero de programas
computables en paralelo dentro del mismo equipo, particionando los recursos del sistema en un
nmero de computaciones independientes, segn lo exige la corrientes de programas aplicados
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
5 -
al sistema. Un ejemplo de este tipo de arquitectura es el conocido bajo las siglas RISC
(Reduced Instruction Set Computers)
CLASIFICACIN PROPUESTA POR FLYN:
Otra forma de clasificar, es tomando el sistema de procesamiento en su conjunto por donde
fluyen los datos, resultados o instrucciones como si fuera una corriente (stream) de los mismos
dentro de conductos o caeras (buses). Entonces podemos dar una clasificacin informal de
los sistemas de cmputo, segn la multiplicidad de las corrientes de instrucciones y de datos,
propuesta por M. J . Flyn.
El flujo de instrucciones es el que se va leyendo desde memoria central (que lo abreviamos
como M.C.. Algunos autores la llaman memoria principal M.P. En este texto se utilizarn ambos
trminos como sinnimos ) a medida que se ejecuta un programa, mientras que el flujo de datos
es el que est formado por los datos que leen o almacenan esas instrucciones en la memoria
central.
1) Single instruction stream single data stream (S.I.S.D.) o Flujo Simple de
Instrucciones y Flujo simple de datos:
Donde hay dos corrientes, una de instrucciones y otra de datos. Es una arquitectura serie,
utilizada en la mayora de los sistemas convencionales con una sola CPU cuya unidad
aritmtico-lgica es capaz de ejecutar solo operaciones escalares.
Estas arquitecturas tambin se conocen como mquinas Von Neumann o secuenciales o
Arquitecturas serie.
Un esquema correspondiente a estas mquinas se observa en la fig. A1.23 y A1.24 del presente mdulo.
2) Single instruction stream multiple data stream (S.I.M.D.):
F i g . A 1 . 0 4 A r q u i t e c t u r a S . I . M . D .
A . L . U .
U N I D A D D E
S A L I D A
E N T R A D A /
U N I D A D D E
C O N T R O L
P 1
P 2
P n
M . C .
M . C .
M . C .
B
U
S
R
E
D
o
La corriente de instrucciones es nica y la de datos es mltiple. Esta categora incluye
mquinas con una unidad de control y mltiples unidades de ejecucin, por ejemplo, la ILLIAC
IV de la NASA o la computadora STARAN de Goodyear, en su poca, un equipo disponible
comercialmente organizado segn este ltimo concepto (hoy ambas ya desaparecidas). Cada
Unidad de Proceso P esta compuesto por una Unidad Aritmtica Lgica y una Memoria
Central interconectada como un arreglo como se observa en la fig. A1.4. Esta arquitectura
tambin se conoce como Arreglo de Procesadores o Elementos de Procesamiento (ARRAY OF
PROCESSORS o ARRAY of PROCESSING ELEMENTS). La Unidad de Control puede
activar uno o todos los elementos ALU. Cada elemento activado del arreglo procesa las mismas
operaciones aritmticas o lgicas bajo el comando de la Unidad de Control nica. Pero cada
Elemento de Procesamiento est operando con diferentes datos en ejecucin. Su uso est
destinado en obtener altas velocidades en la ejecucin, por ejemplo ecuaciones diferenciales
parciales por el mtodo de diferencias finitas.
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
6 -
3) Multiple instruction stream single data stream (M.I.S.D.):
Aqu la corriente de instrucciones es mltiple y la de datos es simple. Esta categora no tiene
representantes numerosos, y quizs podra pensarse que los procesadores pipeline
pertenezcan a ella, en el sentido de que cada dato es procesado por diferentes instrucciones en
cada segmento del pipeline.
Esta arquitectura se explicar en detalle ms adelante en el presente mdulo.
4) Multiple instruction stream multiple data stream (M.I.M.D.):
En este caso ambas corrientes son mltiples. Se renen aqu las mquinas capaces de ejecutar
simultneamente varios programas independientes (Fig. A1.05). Esta categora coincide con la
de las unidades multiprocesadores. Un ejemplo son los Servidores de redes con
multiprocesadores.
Cada Unidad de Procesamiento est compuesto por una unidad de tratamiento que procesa el
flujo de datos bajo un programa (flujo de instrucciones) que ejecuta la Unidad de Control (U. de
C.)
Hay mltiples formas de conectar estos mdulos. El elemento vinculante es la red (o Bus) de
interconexin que permite la comunicacin entre las distintas unidades.
Esta arquitectura y su funcionamiento se presenta en el Mdulo 9 del presente libro como Procesamiento Distribuido.
F i g . A 1 . 0 5 A r q u i t e c t u r a M . I . M . D
A . L . U .
U N I D A D D E
S A L I D A
E N T R A D A /
P 1
P 2
P n
M . C .
M . C .
M . C .
B
U
S
R
E
D
U . D E C .
U . D E C .
U . D E C .
U n i d a d d e P r o c e s a m i e n t o
o
Existen dos tipos de acoplamientos entre Procesadores:
Dbilmente Acoplado (Lowley Couplet): Formados por varias computadoras serie
convencionales interconectadas por una red (generalmente local: LAN Local Area Network) de
alta velocidad (Mayor de 5 Mbits/segundo) bajo un solo Sistema Operativo ( lo abreviaremos
S.O. a lo largo del texto) que realiza el reparto de la carga entre procesadores. Este tipo de
procesamiento se conoce como distribuido.
Fuertemente Acoplado (Tightly Couplet): Todos los procesadores del Sistema pueden utilizar
todos los recursos. El sistema dispone de una memoria central nica y su procesamiento es
controlado por un solo S.O.. La memoria central sirve de elemento de comunicacin entre los
distintos programas en ejecucin.
Otra caracterstica importante es la utilizacin de un solo tipo o distintos tipos de procesadores.
Se dice que el primer caso (un solo tipo de procesador, por ejemplo 80486) es homogneo
mientras el otro es heterogneo.
Las arquitecturas paralelas son las que, actualmente, concentran el mayor inters y esfuerzos
tanto para aumentar las prestaciones como las velocidades del procesamiento.
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
7 -
Hay desarrollos orientados especficamente a ciertas aplicaciones ( por ejemplo Inteligencia
Artificial o Multimedia) que generaron algunas arquitecturas paralelas con un elevado nmero
de elementos de procesamiento interconectados por una red fija sobre la que cada uno realiza
una parte del procesamiento (parte elemental o sencilla). Una de stas arquitecturas es el
computador sistlico.
Los datos son introducidos masivamente por un mdulo externo que oficia de interfase de la
red. Se va procesando progresivamente a medida que avanzan por la red. Las salidas de los
resultados se efectan por otra interfase. La arquitectura de la red depende del algoritmo que
procesa.
En la Fig. A1.06 se observa un elemento de procesamiento con 4 enlaces (link) como por
ejemplo el Transputer. Generalmente el lenguaje de programacin es el OCCAM.
UP11
UP21
UP12 UP1n
UP22 UP2n
UPm1 UPm2 UPmn
Fig. A1.06 Arquitectura paralela
A1.1.3 DISTINTOS TIPOS DE ARQUITECTURAS
Arquitecturas Von Neumann
Este modelo fue desarrollado por J ohn Von Neumann en 1945, quin dirigi un grupo de
investigaciones en el Institute for Advanced Study en los Estados Unidos.
El principio del procesador radicaba en que fundamentalmente se utilice como base numrica el
sistema binario y adems se permitiera almacenar un programa en una memoria central. Este
programa ejerca un control secuencial de sus operaciones mediante instrucciones
estructuradas bsicamente en un cdigo de operaciones y operandos, y que eran ejecutadas al
transferir la informacin entre los registros internos de la CPU y la ALU.
Estos conceptos, el de dgito binario, el de programa registrado de control secuencial y las
instrucciones estructuradas fueron la base que permitieron un amplio desarrollo de los proce-
sadores y de sus lenguajes de programacin, vastamente utilizados hasta hoy en da y con
perspectivas de continuar hacindolo an por mucho tiempo.
Arquitecturas escalares
El programa registrado que controla secuencialmente la ejecucin de los pasos o fases de
clculo que debe realizar la mquina y los datos que se utilizan para obtener los resultados
esperados, son considerados como una informacin almacenada en un mismo lugar dentro del
computador (la memoria central).
Desde el punto de vista de la clasificacin, se la puede considerar como una arquitectura
esttica, en la que el procesamiento se realiza en serie o en escala (secuencia) de donde
tambin se las denomina computadoras escalares.
Un ejemplo de este tipo de arquitectura se observa en la figura A1.07.
Dentro del mismo concepto Von Neumann se ha producido una notable evolucin en virtud
de los avances tecnolgicos y es as que tambin evolucionaron los lenguajes de programacin
hasta llegar a los que hoy en da conocemos como de alto nivel, y que originaron arquitecturas
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
8 -
ms evolucionadas basadas en el procesamiento paralelo, o sea que, de las mquinas
primitivas de un solo procesador, se pasa a una mquina que dispone de varios procesadores.
operate
P.C.
store
A
n
d
O
r
address u operation
SECUENCIADOR
A
d
d
C
l
e
a
r
A
c
c
u
X
o
r
S
u
b
s
t
r
a
c
t
M
u
l
t
i
p
l
y
D
i
v
i
d
e
S
t
o
r
e
FIG. A1.07
UNIDAD DE
CONTROL
TADOR
MEN-
INCRE-
MEMORIA PRINCIPAL
POCISIONES
Buf-
de
ria
Me-
mo-
fer
REGISTRO
ADDRESS
RECORD
READ
A.L.U.
ACUMULADOR
d
L
o
a
Arquitecturas paralelas:
El objetivo es optimizar el tiempo de ejecucin de un programa, entonces se busca ganar ese
tiempo ejecutando en paralelo varias operaciones elementales sobre un gran nmero de
circuitos lgicos que trabajan simultneamente, pero que comparten una nica memoria central
de almacenamiento.
Por lo tanto, se puede esperar ganar tiempos a un costo razonable en el terreno de las
velocidades y de la organizacin de las mquinas. Ya que las limitaciones tecnolgicas impiden
hoy da ganar mucho tiempo en la ejecucin de las operaciones elementales, entonces la nica
salida consiste en encontrar la forma de ejecutar en paralelo varias de estas operaciones
elementales.
El paralelismo puede buscarse al nivel de:
a) mquinas de una sola unidad central, tambin llamadas monoprocesadores o paralelismo
interno, que ejecutan un solo programa a la vez, pero varias instrucciones simultneamente,
gracias a tcnicas de anticipacin como es, por ejemplo, el caso de los Pipelines o las
mquinas RISC.
b) mquinas de varias unidades centrales, tambin llamadas multiprocesadores, que realizan
varios programas independientes en paralelo;
c) mquinas paralelas, en las que varios procesos de tratamiento independientes unos a otros,
se desarrollan simultneamente.
Decamos que el procesamiento puede ser realizado en los circuitos lgicos dentro de una CPU
o por varias unidades de procesamiento en forma independiente conectada a una memoria
compartida o sea que podemos dividir las arquitecturas Von Neumann en base a la cantidad de
procesadores en:
monoprocesadores
multiprocesadores.
Dentro de los primeros podemos destacar la arquitectura pipe-line que fuera desarrollada por
IBM en el comienzo de la dcada del 60 en sus mquinas de la serie 360.
Decamos que las tcnicas de anticipacin explcita sirve para ganar tiempo de ejecucin en las
instrucciones y consiste en lograr que todos los elementos necesarios para la ejecucin de la
instruccin estn presente en los registros rpidos antes que la unidad de procesamiento este
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
9 -
disponible para realizar la operacin. Esto quiere decir que no solo la prxima instruccin ser
buscada y guardada en los registros dentro de la CPU, sino tambin los operandos
correspondientes.
MONOPROCESADORES: ARQUITECTURAS PIPELINE:
Esta arquitectura se basa en el concepto de anticipacin explcita ya que puede decirse que
comienza a ejecutar las operaciones sucesivas desplazadas un intervalo de tiempo t=@ a
pesar de que cada una de ellas dura una serie finita de intervalos. Esto se ejemplifica en la
siguiente figura:
@ 1
R E L O J
O p e r a c i o n 1 :
O p e r a c i o n 2 :
O p e r a c i o n 3 :
O p e r a c i o n 4 :
F I G U R A A 1 . 0 8 P a r a l e l i s m o e n e l P i p e l i n e
@ 2 @ 3 @ 4 @ 5 @ 6 @ 7 @ 8 @ 9
El concepto Pipe - Line se basa fundamentalmente en un conjunto de operadores series
implementados en el Hardware, aunque puede haber varios operadores idnticos que trabajan
en paralelo siendo designado ste ultimo caso al conjunto: SEUDO PIPELINE. Decamos que el
operador esta dividido en varias secciones. Cada una correspondiente a una etapa de la
operacin a ejecutarse. Dicho de otro modo: cada operacin se reparte en un conjunto de
suboperaciones secuenciales a ejecutarse en las secciones correspondientes del Pipeline. Las
secciones se separan mediante registros (Buffers) capaces de memorizar los resultados
obtenidos de la seccin anterior como se ve en la fig. A1.09.
entrada
1
@2
Habilitacin
Buffers o registros
fig A1.09 Operador pipe line
seccin
salida
seccin
@1 @3 @4
2 3 4
seccin seccin
El tiempo de transicin por seccin es sincronizado por la duracin del intervalo entre dos
batidos del reloj (Ejemplo: @ -
1
y @-
2
). As en el operador de la Fig. A1.09, las operaciones se
desencadenan en una secuencia como se ejemplifica en la figura A1.10 en la que se realiza
una suma en punto flotante de datos que asumimos se suministran en el formato de la figura
A1.11.
Veamos como funciona una aplicacin tpica de un Pipeline aritmtico de suma de punto
flotante que dispone de cuatro secciones:
1. MODIFICAR uno de los exponentes en forma tal que ambos sumandos tengan el mismo
valor.
2. SUMAR las mantisas.
3. NORMALIZAR: obtener el formato de Punto Flotante.
4. REDONDEAR el resultado.
Asumimos que el intervalo del reloj es de 50 ns (ns =nanosegundo =10
-9
segundos) que debe
responder a todos los circuitos mas lentos de cada seccin del Pipeline, es decir, que al cabo
de 250 ns la operacin esta fuera del operador y concluida (ver fig. A1.10).
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
10 -
Entrada Entrada Entrada Entrada Entrada Entrada
Salida Salida Salida Salida Salida Salida
Fig. A1.10 Secuencia de una operacin en un Pipeline
0 50 100 150 200
a1 b1 a2 b2
a1 b1
a1 b1
a1 b1
a1 b1
vacio
1.- Modificacin a3 b3
a4 b4
a5 b5 a6 b6
a2 b2
a2 b2
a2 b2
a2 b2
a3 b3
a3 b3
a3 b3
vacio
vacio
vacio
vacio vacio
a4 b4
a4 b4
a5 b5 2.- Sumar
3.- Normalizar
4.- Redondear
Tiempo en nseg.:
250
a1 b1 a2 b2 a3 b3 a4 b4 a5 b5 a6 b6
no no no no
Supongamos que deseamos sumar 986 +66.5 =1052.5 (+.986+03) y (+.665+02)
1) (+.665+02) (+.0665+03) (MODIFICAR)
2) (+.986)+(+.0665) 1.0525 (SUMAR)
3) (+1.0525+03) (.10525+04) (NORMALIZAR)
4) (+.10525+04) (.1052+04) (REDONDEAR).
Hay dos tipos de reas en que es conveniente utilizar a los PIPELINE:
aritmticos y
de instrucciones.
En los aritmticos las representaciones de los datos pueden ser de punto flotantes o fijos. El
flujo de los datos entre los segmentos depende del tipo de instruccin y de las secciones que
tenga el hardware. Distintas instrucciones emplean distintos segmentos de acuerdo a la
operacin que deba ejecutarse. El ejemplo dado en la figura A1.10 muestra un caso tpico de
sumas.
+-
Fig. A1.11 Formato
exponente
Signo del Punto Mantisa Exponente Signo de
la mantisa
. XXXX +- xx
Otra aplicacin donde es particularmente efectivo el uso de operadores tipo pipeline es cuando
existe la posibilidad de superponer en el tiempo todos o algunos de los pasos del ciclo de la
instruccin (bsqueda, descodificacin, Bsqueda de operandos, ejecucin y almacenamiento
de resultados).
Una buena parte del ciclo de instrucciones est dedicado a accesar a la memoria y obtener los
datos o instrucciones y llevarlas al rea de descodificacin o del uso dentro de la CPU.
Surgen algunos problemas que hacen difcil operar a su mxima velocidad a un Pipeline de
instrucciones. Por ejemplo: El nmero de operandos puede variar desde cero (instrucciones
inmediatas) a un nmero grande (Instrucciones con operandos de longitud variable). El tiempo
de acceso de los operandos vara de acuerdo al tipo de direccionamiento utilizado.
Si las Instrucciones son de salto ocasionan una disrupcin en el orden de la ejecucin
(secuencia) de las instrucciones.
De todas formas estos problemas se resuelven y es el motivo de que generalmente la mayora
de las CPU utilizan implementaciones de Pipeline para el tratamiento de las instrucciones.
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
11 -
ARQUITECTURAS PARALELAS (MULTIPROCESADORES).
Las razones para el procesamiento en paralelo, en lugar de una mquina Von Neumann, lo
debemos buscar a nivel de:
Necesidades de procesamiento de grandes volmenes de datos, por ejemplo para procesar
imgenes.
Consideraciones de costos: Las mquinas Von Neumann buscan obtener mayores
velocidades en la ejecucin de las instrucciones (10 a 1 nanosegundo en el tiempo del reloj).
Esto implica que los circuitos integrados (C.I.) sean muy veloces y de muy alta escala de
integracin (VLSI) y requieran de complejos sistemas de refrigeracin. Digamos que cien
procesadores en paralelo, cada uno con velocidades del orden de 100 nanosegundos podra
tener la misma potencia de clculo que una mquina Von Neumann de un nanosegundo,
pero a un costo cien veces menor.
Consideraciones sobre el limite de velocidad: digamos que para un ciclo de un nanosegundo
y la velocidad de la luz de aproximadamente 3x10
10
cm/seg.,. La distancia que recorren las
seales ser de solo 30 cm por lo que las computadoras deben construirse dentro de un
cubo de 30 cm de lados para lograr el tiempo de un nanosegundo de demora en la
transmisin de las seales. Esto requiere de una sofisticada tecnologa, actualmente no
disponible, para compactar los componentes, extraer el calor generado y para el armado de
dichos componentes.
La solucin a estos problemas son procesadores en paralelos mas lentos, que generan menos
calor y no tienen problemas en el empaquetado o el armado en espacios mayores. Esto
resuelve el problema de la transmisin de la informacin con las tecnologas actualmente
disponibles a un costo razonable y a altas velocidades .
Entonces, la tendencia actual es:
a) Bajo grado de Paralelismo (procesadores con pequeo nmero de subunidades extremadamente rpidas tipo
pipeline de procesadores vectoriales basados en la teora de Autmatas finitos.
b) Alto grado de paralelismo (basados en la teora de Autmatas celulares)
Dentro de estas ltimas tendencias se encuentran las arquitecturas conocidas como Flujo de
Datos o Data-Flow.
DATA FLOW O FLUJO DE DATOS
En los computadores de Data Flow, las arquitecturas se basa en la organizacin natural de las
computaciones en paralelo y los diferentes niveles del paralelismo que pueden obtenerse de los
distintos procedimientos a nivel instrucciones utilizados en los procesos concurrentes, como
ser los procesadores pipeline conectados en paralelo. Los computadores Data-Flow ofrecen
su potencialidad en unidades de propsitos especiales conectados a computadores de
propsitos generales.
Definimos como computaciones a las tareas o procesos que realiza un computador.
En general se los considera como computadores reconfigurables donde la arquitectura refleja
en forma natural la estructura del algoritmo que debe ejecutarse en un sistema de multiproce-
sadores. El problema se divide en partes para su ejecucin en paralelo y la decisin de sta
divisin es asumida ntegramente por el computador y su compilador de lenguaje.
En este tipo de arquitecturas, la instruccin espera para ser ejecutada hasta el arribo de sus
operandos. Las instrucciones del programa Data-Flow son activados por los datos sin
intervencin de un registro contador de programa o de una unidad de control. El programa
Data-Flow consiste en una actividad enmascarada, en la cual se dispone de un campo de
direccin separado para cada instruccin. En la secuencia operativa, cuando los datos
requeridos son obtenidos o estn disponibles, para una actividad enmascarada particular, se
coloca esta direccin en una cola y es asignada al prximo procesador disponible y ejecutado
en su correspondiente turno. Un paquete Resultado es generado, como consecuencia del
procesamiento, para cada destino del paquete de operacin.
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
12 -
controlador
del bus de
instrucciones
Fig. A1.12 Mdulos de un Data - Flow
BUS DE INSTRUCCIONES = I-BUS
MP0 MP1 MPn
controlador
del bus de
resultados
BUS DE RESULTADOS = R-BUS
Bsicamente la arquitectura se compone de mdulos de procesamiento (M.P.) idnticos,
controlados por un microcomputador M.P. que oficia como una unidad principal conectado a un
bus comn a todos, por donde fluyen las instrucciones (Bus de Instrucciones que lo
llamaremos I-BUS) y un bus por donde fluyen los resultados (Bus de Resultados R-BUS), como
se ve en la figura (Fig. A1.12). Ambos controlados especficamente mediante adecuados
controladores de Buses cuya funcin es administrar las prioridades de los pedidos de buses
que realizan los mdulos de Procesamiento (M.P.)
Ejemplo de implementacin:
Cada mdulo de procesamiento puede ser construido mediante un microprocesador del tipo
BIT-SLICE, microprogramado por el usuario dedicado a la ejecucin del programa Data-Flow y
ensamblado como dispositivo de Propsitos Generales. Bsicamente estara compuesto por el
Pipeline de Ejecucin del Programa Data-Flow, y pude ser organizado mediante la asignacin
de roles de una unidad de control de ejecucin a uno o dos mdulos de procesamiento (M.P.)
y los dems mdulos se encargaran de la ejecucin o procesamiento propiamente dicho.
Los valores de los datos circulan por el Pipeline de ejecucin como un conjunto o paquete
prearmado (como el indicado en la figura A1.14).
En la Unidad de Control de Ejecucin se ensambla este paquete: el Valor del Dato, el cdigo
de operacin y la direccin de destino del resultado, como una instruccin ejecutable la cual es
enviada a todas las unidades de procesamiento mediante el bus de Instrucciones (Fig. A1.15).
Solo la recibe aquella unidad que est libre, cualquiera de todas las disponibles y pasa al
estado de ocupado. Los resultados, despus de haber sido procesado en las unidades de
procesamiento respectivos, son devueltos mediante el bus de resultado como un paquete de
resultado.
Un Procesador Data-Flow puede ser organizado como se ve en la siguiente figura, asignando a
cada modulo de procesamiento las funciones Data-Flow:
Cada mdulo se asigna a una de las siguientes funciones:
Unidad de control de Comunicaciones (C.U.).
Unidad de control de ejecucin (E.C.U.).
Unidad de Procesamiento (P.U.).
Las funciones que se cubren son:
Unidad de control de Comunicaciones (C.U.). Esta unidad provee los ports de Entrada/salida
(E/S) del sistema con los perifricos. A travs de sta unidad se inicializa al sistema. Se dan
los valores iniciales para comenzar el Proceso, los datos de entrada y se retornan los datos
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
13 -
procesados. Generalmente esta tarea est destinada a un computador especializado y se lo
considera como una parte del computador principal M.P.
Unidad de control de ejecucin (E.C.U.): Se lo utiliza para controlar la ejecucin de una
instruccin. Para ello se necesitan tres tipos de rutinas:
E/S
Perifericos
controlador
del bus de
instrucciones
Fig. A1.13 Esquema de una arquitectura Data -Flow
BUS DE INSTRUCCIONES = I-BUS
controlador
del bus de
resultados
BUS DE RESULTADOS = R-BUS
UNIDAD DE
CONTROL DE
CIONES
COMUNICA-
UNIDADES
PROCESA-
DE
MIENTO
P.U.
CONTROL
UNIDADES
DE
E.C.U.
EJECUCIN

1. El control de apareamiento de seales (MATCHING) basado en el concepto de propulsin de
datos (DATA-DRIVEN CONCEPT).
2. La bsqueda de la instruccin.
3. La funcin de llamado de Procedimientos.
La codificacin del programa que expresa el flujo de datos es construido en el computador
principal y almacenado en la memoria de instrucciones que generalmente es implementada en
una memoria Buffer.
La ejecucin comienza cuando la seal inicial entra en el sistema a travs del Computador
Principal. Luego la seal es procesada por la rutina de control de MATCHING (que oficia de
anfitriona) mediante la instruccin que ya contiene dos operandos. La rutina de Control de
Matching agrega dos campos a la instruccin, que son: el nmero de proceso y la direccin de
destino.
Generalmente sta rutina es soportada mediante una tcnica de Software HASHING, Un
mtodo de direccionamiento abierto, para una bsqueda asociativa (ASSOCIATIVE SEARCH).
Si la instruccin no encuentra su anfitriona (falla de Bsqueda) la seal entrante es almacenada
en el registro de instruccin a la espera del arribo de su anfitriona. Cuando su anfitriona existe
(xito de bsqueda), el correspondiente Cdigo de operacin es obtenido de la memoria de
instrucciones y es armado el paquete de instruccin ejecutable que se enviar a los M.P.s para
su ejecucin.
PROC
PROC: Campo de Nmero de Proceso.
DEST: Campo de la direccin de destino.
OPC : Campo de Codigo de Operacin.
DATA: Campo de datos.
E.C.: Campo Contador de Permiso.
Fig. A1-14 Estructura de una instruccin de Data Flow
DEST OPC DATA E.C.
Donde:
El Registro de instrucciones es implementado en la memoria buffer. La estructura de este
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
14 -
registro de instruccin se ve en la figura A1.14.
El campo de Contador de permiso E.C. es inicialmente prefijado a un valor numrico
correspondiente a los arcos de entrada de cada nodo y decrece a medida que el paquete de
seales llega a su destino. Cuando E.C. es cero, la instruccin puede ser ejecutada (Cola de
Ejecucin).
Unidad de Procesamiento: Recibe el paquete de instrucciones desde el bus de entrada (I-
BUS) y ejecuta la operacin especificada con los datos acompaados y devuelve los
resultados al R-BUS.
Los formatos de las instrucciones son las siguientes:
1 )
2 )
3 )
4 )
F i g . A 1 - 1 5 F o r m a t o s d e i n s t r u c c i o n e s
P R O C O P C D E S T D A T A 1 D A T A 2
P R O C O P C D E S T D A T A 1 D A T A 2 D A T A 3
P R O C O P C D E S T 1 D E S T 2 D A T A
P R O C D E S T D A T A
Donde el 1, 2, y el 3, son paquetes de instrucciones con dos operandos (1), o tres operandos
(2), como ser una instruccin condicional o en el caso de operaciones con dos destinos (3). El
(4) es un paquete resultado.
Una implementacin posible de una arquitectura Data-Flow se muestra en la figura A1-16 en la
que se propone realizarlo mediante chips VLSI del tipo Am 2910 bit-slice para la seccin de
control y el block de la ALU mediante el microprocesador Am 2903 bit-slice de 4 bits que esta
compuesto por :
Una seccin de control
Una seccin de procesamiento
Las interfases con los buses
C o m p u t a d o r
P r i n c i p a l
E x t e r n o
C o n t r o l a d o r d e
A c c e s o d i r e c t o
a M e m o r i a
M e m o r i a
m i c r o p r o g r a m a d a
R - B U S
I n t e r f a s e
f F g . A 1 - 1 6 M d u l o s d e l a a r q u i t e c t u r a D a t a - F l o w
I - B U S
S e c c i n
d e c o n t r o l
S e c c i n d e
P r o c e s a m i e n t o
R - B U S
I n t e r f a s e
I - B U S
Este mdulo se muestra con mayor detalle en la figura A1.17, en donde se observa la
configuracin interna de las secciones. Es de destacar que esta arquitectura es solamente una
posible y no quiere decir la nica existente en el mercado de las computadoras Data-Flow.
Como cada seccin est realizado en una serie de chips del tipo VLSI. Por ejemplo la seccin
de control podra contener una memoria microprogramable, todo realizado en un chip del tipo
AM 2910, el cual puede regular la ejecucin de la microrutina que interpretan las operaciones
del programa Data Flow.
La memoria del microprograma debe tener caractersticas tales como ser del tipo RAM de fcil
acceso por un dispositivo de acceso directo a memoria (DMA), en general conviene organizarla
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
15 -
con capacidades de 1 KBy o 4 KBy y la longitud de palabra concordante con la arquitectura
(por ejemplo 32 bits).
Un rol importante juega el multiplexor del cdigo de condiciones, pues facilita los saltos
condicionales de acuerdo al contenido del registro de estado.
La seccin de procesamiento podra estar compuesta por la Unidad Aritmtica-Lgica (ALU) y
una memoria buffer.
La ALU debera disearse de acuerdo a la longitud de la palabra. Por ejemplo si se operan con
nmeros enteros podra ser de 16 bits, entonces para punto flotante se necesitarn 32 bits (por
ejemplo 24 para la mantisa y 8 para el exponente), stas consideraciones son muy
importantes pues definen las caractersticas del procesador, su procesamiento y la cantidad de
elementos bit-slice a utilizar.
I-BUS
R-BUS
SECCION DE CONTROL
Fi g . A1-17 Det al l es d e l a Sec c i n d e c o n t r o l y d e p r o c es ami en t o
I-BUS INTERFASE
BUFFER
BUS INTERNO
Dec o d i f i c ad o r Reg i s t r o
d e Es t ad o
Co n t r o l ad o r d el
mi c r o p r o g r ama
AL U
Memo r i a d el
mi c r o p r o g r ama
Reg i s t r o d el
p i p e-l i n e
Memo r i a
Bu f f er
MUL TIPL EXOR
d el CODIGO d e
CONDICIONES
memo r i a
b u f f er
Reg i s t r o d e
Di r ec c i o n a-
mi en t o d e
SECCION DE PROCESAMIENTO
R-BUS INTERFASE
BUFFER
(Bu s d e Co n t r o l )
Una implementacin prctica de este tipo de ALU se puede lograr conectando 4
microprocesadores del tipo bit-slice (Am 2903) en un conjunto, auxiliado mediante la ayuda de
un procesador EXTERNO HOST cuya funcin debera ser regular la ejecucin de las
microrutinas que interpretan las operaciones de DATA FLOW.
El control de los buses y las interfases es parte clave del diseo pues todas las operaciones
que debe realizar el mdulo son tomados del bus de instrucciones (I-BUS) y por el cual tambin
viajan los datos, no as los resultados. Una vez realizada la operacin dentro del mdulo de
procesamiento, el resultado es devuelto al buffer de la interfase y luego al Bus de Resultado por
el cual se transmite a su destino.
La lgica del controlador de los buses debera ser implementada en Hardware para permitir
manejar las prioridades y los sincronismos de todo el sistema. Si las prioridades son las mismas
para cada uno de los M.P. un esquema que podra satisfacer estas condiciones es el de la Fig.
A1.18, en que se considera las posiciones relativas de los MPs.
Sera conveniente que cada M.P. tenga dos interfases para los buses. Cada interfase debera
estar subdividida en una parte de transmisin y otra de Recepcin para poder trabajar en forma
independiente y aumentar su velocidad de procesamiento al estar conectada al bus interno por
el cual se pueden intercambiar los datos.
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
16 -
Cuando un M.P. necesita enviar un dado paquete de seales a otro M.P., el primero pondra la
informacin de control y los datos en el registro buffer de la interfase del bus. La informacin de
control debe contener el nmero del MP destino que recibir las seales.
Pedido de habilitacin del bus
por los M.P.
Controlador
de bus
BH(T)
BH
BH(T)
BH
Fig. A1-19 Esquema Daisy Chain de control
BH(T) bus habilitacion transmisor.
BH(T)
BH
BH
Donde:
BH(T) bus habilitacion transmisor.
BH bus habilitacion receptor.
MP0 MP1 MP2
A1.1.4 ELEMENTOS QUE DEFINEN UNA ARQUITECTURA
La definicin de los elementos que intervienen en una arquitectura de un equipo, determina su
potencial y sus lmites. Debido a ello los diseadores prevn, para determinados usos o
propsitos del hardware, ciertos criterios con que se seleccionan entre las diversas alternativas
de construccin, las prestaciones que har el sistema completo.
Para la arquitectura de mquinas dedicadas a propsitos generales se definirn los criterio que
sern distintos como por ejemplo para aquellas de aplicaciones en Inteligencia Artificial, cuyos
requerimientos son totalmente opuestos.
De toda forma debern preverse la variable tecnolgica, su capacidad de extensin o
compatibilidades y sus argumentos de ventas para permanecer en un mercado cada vez ms
competitivo.
Daremos una serie de elementos que creemos son importantes para dicha definicin. Estos
elementos son :
1) Tecnologa de la arquitectura.
2) Tipo de procesamiento.
3) Longitud de la Palabra.
4) Tipo de dato o informacin.
5) Cantidad de registros.
6) Manejo de las interrupciones.
7) Tipo de instrucciones.
operandos
direccionamientos
8) Memoria Interna (Cach de primer o segundo nivel)
TECNOLOGA DE LA ARQUITECTURA
Pueden ser dos:
CISC (Complex Instruction Set Computer)
RISC (Reduced Instruction Set Computer)
Los computadores de tecnologa CISC son los ms conocidos ya que se usan desde el ao 60
hasta nuestros das y se caracterizan por un gran J uego (Set) de Instrucciones, por una gran
gama de modos de direccionamientos y por un microcdigo extenso, adems de utilizar un
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
17 -
excesivo acceso a memoria central, todo ello por consiguiente redunda en un gran desperdicio
de tiempo del procesamiento.
Como se observa el concepto fundamentalmente se basa en la cantidad de instrucciones que
dispone el procesador y su optimizacin. En la prctica se ha observado que hasta el 80% del
tiempo de ejecucin de un procesador solamente suele usarse con mayor frecuencia cinco
instrucciones sencillas (LOAD, STORE, ADD, SUB y BRANCH).
Es as que en 1975 en los laboratorios de IBM en el Watson Research Center naci el concepto
RISC. Eso ha motivado que en las Universidades de Berkley y Stanford se investigue el modo
de optimizar compiladores y hardware sobre el criterio RISC.
Con el advenimiento de los chips VLSI se hicieron claros dos enfoques alternativos: un
hardware diseado para procesar funciones cada vez ms complejos y extensas, y una
simplificacin de las instrucciones para optimizar la velocidad.
El concepto RISC se basa en:
La utilizacin de un conjunto reducido de cdigos de operacin bsicos (generalmente
menor que 64).
Las instrucciones complejas se descomponen en sucesivas operaciones bsicas cuya
ejecucin es mucho ms rpida y frecuente.
El empleo de solamente un par de modos de direccionamiento a partir de los cuales se
pueden lograr otros ms complicados mediante una combinacin alternativa.
Orientadas a arquitecturas pipeline de instrucciones para lograr solapamiento de las fases
de bsqueda (fetch) y descodificacin y ejecucin.
Todas las operaciones se efectan sobre los registros (por lo que se requiere gran cantidad
de ellos) salvo muy pocas acceden directamente a la memoria central (caso de LOAD y
STORE).
Se logra mayor rapidez al ganarse el tiempo de lectura de memoria, el tiempo de
transferencia inicial y el tiempo de transferencia de los resultados debido al almacenamiento
dentro del chip.
Para mejorar la bsqueda y el secuenciamiento de las instrucciones se uniforma la longitud
de las mismas, los datos y los resultados.
La reduccin del juego de instrucciones influye sobre el hardware reducindolo bsicamente la
cantidad de componentes y simplificando a los circuitos (chips). Esto trae como consecuencia
un diseo de chips ms sencillos, econmicos y veloces, con mayor integracin, ciclo de
fabricacin ms corto y por lo tanto, se encuentra el producto ms rpidamente en el mercado
consumidor.
TIPO DE PROCESAMIENTO
Fundamentalmente se dividen en 2 grandes grupos: los monoprocesadores y los multi-
procesadores.
LONGITUD DE LA PALABRA
La longitud de la palabra se mide en bits y corresponde generalmente a la mxima capacidad
de manejo de informacin interna de la mquina y su decisin es un compromiso tecnolgico
pues el mismo define la longitud de los registros, buses, unidades aritmticas y lgicas el
direccionamiento a memoria central y tambin la estructura de las instrucciones.
TIPO DE DATOS
Bsicamente define las caractersticas que pueden tener los operandos de las instrucciones de
mquina y tambin el tipo de operaciones que puede realizar con ellos.
Algunos tipos son:
bit media palabra
pixel palabra
nibble doble palabra
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
18 -
fonema decimal empaquetado
Byte punto fijo
caracteres punto flotante
etc.
En cuanto al tipo de Dato codificado que son soportados por los microprocesadores son:
Enteros, Ordinales, Punteros, Strings, ASCII, BCD, BCD empaquetado, Punto fijo, punto
flotante, etc.
CANTIDAD DE REGISTROS
Al ser los registros un almacenamiento interno de la CPU cuyo tiempo de acceso es muy breve
debido a ello, es muy importante la cantidad de los mismos disponibles y su especialidad o
funcin.
En general se organizan en potencias de dos, es as que hay procesadores que tienen desde 2
a 256 registros (2, 4, 8, 16, 32, 64, 128 o 256) de una, dos o ms palabras de longitud.
Hay equipos que disponen de un juego completo de registros para cada nivel de interrupcin, lo
que permite disminuir notablemente las transferencias de informacin en el manejo de las
interrupciones y ganar mucho tiempo de proceso.
En las computadoras del tipo RISC se presenta como un problema los llamados a las
subrutinas debido a la pila o stack de registros necesarios para estas operaciones, en cambio
en los otros (CISC) puede utilizar parte de la memoria central como un conjunto de registros y lo
maneja mediante un solo registro puntero (stack pointer).
MANEJO DE INTERRUPCIONES
Definimos a una interrupcin como el reconocimiento de un evento anormal o no, que se
produjo en el sistema.
En general todos los microprocesadores ya traen incorporados dos o ms niveles de
interrupciones, pero el tema toma importancia cuando se trabaja en multiprogramacin, en
donde hay que conmutar un programa por otro en el uso del procesador (o por un perifrico)
donde juega un papel notable el tiempo fijo insumido en la aceptacin de la interrupcin y su
tratamiento.
En el mecanismo del manejo de interrupciones intervienen tanto el hardware como el software,
pero es importante que las variables de estado del procesador, al igual que los contenidos de
los registros, al momento en que se produce la interrupcin, sean salvados (guardados en un
lugar de la Memoria para luego poder recuperarlos cuando termina la interrupcin) por el
hardware y no por el software debido a los tiempos insumidos para el tratamiento de cada
interrupcin. Si lo hace el Hardware es muchsmo ms rpido que si se lo realizara mediante
Software. Este hardware se conoce como First Level Interrupt Handler.
TIPO DE INSTRUCCIONES
Para entender el proceso de definicin de la arquitectura de un computador estudiaremos la
importancia de como estn estructuradas las instrucciones en cunto a:
la ubicacin de los operandos de la instruccin, y
el direccionamiento de la memoria.
La forma que estos elementos trabajan se estudiar en el Mdulo 1B.
La ubicacin de los operandos de las instrucciones puede ser:
en uno o ms campos inmediatos al cdigo de operacin
en un registro de propsitos generales
en una parte de memoria central
en una pila (Stack) manejada por el hardware
en un conjunto de registros del sistema
en un dispositivo de entrada/salida.
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
19 -
Inmediatamente vemos que la ubicacin de los operandos nos determina la capacidad que
tiene la arquitectura para cumplir con las funciones bsicas y repetitivas, como ser, vincular el
cdigo de operacin con los operandos o los Procesos que se bloquean en las que hay que
salvar el estado de los registros o el procesador o ejecutar un ruteo de informacin por distintos
buses. Es evidente que si se dispone de los operandos en los registros se gana mucho tiempo
en el momento de efectuar la operacin debido a que se evita todo el proceso de bsqueda,
lectura, y transferencia desde la memoria central o desde un perifrico.
En cambio el modo de direccionamiento a la memoria es importante pues si se usa un
direccionamiento directo la capacidad estar definida por los n bits que tiene la palabra, pero
si es indirecto se deber traducir la direccin mediante algn mecanismo de clculo. Esto
ltimo, utiliza la unidad aritmtico-lgica y los acumuladores, por lo que lo hace mucho mas
lento frente a la primera.
Como en estos momentos el objetivo es ganar tiempo en el procesamiento y tecnolgicamente
los circuitos VLSI han permitido un hardware ms veloz, se tiende a simplificar el modo de
direccionamiento en las Arquitecturas del tipo RISC a solamente dos tipos: Acceso directo y
modo inmediato.
Estos conceptos lo desarrollaremos con ms profundidad cuando tratemos el tema de las instrucciones en el prximo
modulo.
A1.2.- DESCRIPCIN DE UNA ARQUITECTURA VON NEUMANN
A L U
U . C .
D a t o s +
B u s d e d a t o s
B u s d e d i r e c i o n e s
B u s d e c o n t r o l
F i g . A 1 . 1 9 I n t e r c o n e x i n d e m d u l o s m e d i a n t e b u s e s
U . d e
R e g .
U . d e
E / S
M . C .
E / S
I n t e r f .
E / S
P e r i f e r i c o s
C o n t r o l
Describiremos brevemente a una arquitectura tradicional como la que desarroll Von Neumann
que bsicamente est compuesto por:
1. Una Unidad Central de Procesos que ejecuta el programa
2. Una Memoria Central o Principal donde se almacenan los programas, Datos y Resultados,
necesarios para el procesamiento.
3. Una Unidad de Entrada/Salida conjuntamente con las interfases o canales que cumplen con
las funciones de interfase para los intercambios y comunicaciones con el exterior de datos.
4. Distintos tipos de registros.
5. Un Conjunto de buses por donde circulan los datos, instrucciones, resultados, seales, etc.
A veces se llama Sistema Informtico al conjunto: Computador ms elementos a l
conectados como perifricos.
En ste punto comenzaremos estudiando los buses para luego ir describiendo a cada mdulo integrante de una
unidad central de proceso.
A1.2.1. BUSES
Las interrelaciones entre los distintos mdulos y sus interrelaciones fsicos se efectan
mediante los buses por los cuales circulan los datos o la informacin como seales binarias. El
objeto de los buses es servir como medio de comunicacin entre los mdulos. Con el fin de
comprender las interrelaciones, lo esquematizamos en la fig. A1.19.
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
20 -
DEFINICIN DE BUS
Los buses son fsicamente un conjunto de conductores (cables) en paralelo que vinculan los
distintos bloques de circuitos del sistema y por los cuales se transfieren las seales agrupadas
por funciones iguales (datos, direcciones, etc.)
Toda la informacin se transfiere en modo paralelo por el conjunto de cables, en forma tal de
disponer simultneamente, en un instante dado, de todos los bits que componen la informacin
transferida a los dispositivos interconectados. Dicho de otro modo, la seales presentes en el
bus representan una informacin binaria particular y para que esa informacin sea completa,
requiere de la presencia simultnea de todas las lneas que componen el bus. Esto es debido a
que cada una de las lneas que transporta solamente un bit de la informacin transferida.
El hecho de que la transferencia se efecte en paralelo (como se observa en la fig. A1.20) se
debe fundamentalmente a la gran velocidad que se logra en esta modalidad frente a si se
realizara en serie o secuencialmente.
T o d o s l o s c o n d u c t o r e s p r e s e n t a n d o s e s t a d o s
( 1 b i t p o r c a b l e ) a l d i s p o s i t i v o i n t e r c o n e c t a d o
C O N J U N T O D E C O N D U C T O R E S P O R D O N D E V I A J A N
L A S S E A L E S Y S E V I N C U L A N L O S D I S P O S I T I V O S
F I G . A 1 . 2 0 C o n c e p t o d e b u s
B U S
CLASIFICACIN DE BUSES
De acuerdo a las funciones o especializacin de la informacin que transportan en:
Bus de Datos Bus de Estados
Bus de Direcciones Bus de Seales Perifricos
Bus de Control
De acuerdo al sentido de circulacin de
las seales por el bus en:
De acuerdo a su ubicacin en el sistema en:
Unidireccional o Bus Interno o
Bidireccional. Bus Externo.
La cantidad de buses que posee un sistema es variable, generalmente son tres: Bus de datos,
de direcciones, y de control. Algunos sistemas multiplexan en el tiempo para transmitir datos y
direcciones por un solo bus, llamndose en este caso UNIBUS.
Resumiendo:
C L A S I F I C A C I N
D E B U S E S
B u s d e d a t o s
B u s d e d i r e c c i o n e s
B u s d e C o n t r o l
B u s d e s e a l e s p e r i f e r i c o s .
P o r e l s e n t i d o d e
c i r c u l a c i o n d e
l a s s e a l e s
o t i p o d e s e a l e s
p o r F u n c i n
B u s u n i d i r e c c i o n a l
B u s b i d i r e c c i o n a l
p o r s u u b i c a c i n B u s I n t e r n o
e n e l S i s t e m a B u s E x t e r n o
U n i c o ( d a t o s y d i r e c c i o n e s )
P o r l a c a n t i d a d
d e b u s e s T r i p l e ( d a t o s , d i r e c c i o n e s y d e C o n t r o l
D o b l e ( d a t o s , d i r e c c i o n e s y d e r e s u l t a d o s
p o r s u v e l o c i d a d B u s A s i n c r n i c o
B u s S i n c r n i c o
USO DEL BUS
Se conecta en paralelo a las lneas del bus, todas las entradas y las salidas de los elementos o
bloques de circuitos de acuerdo a su funcin especifica. Para evitar conflictos de seales,
dichos circuitos deben tener un dispositivo electrnico de compuertas para pasarlo al estado de
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
21 -
alta impedancia (tristate) . En este estado los circuitos no cargan al bus y se dice que es un
estado pasivo en el cual se encuentran normalmente o sea que ignoran las seales que
pueden presentarse en sus entradas o salidas. El otro estado (Activo) es el de baja impedancia
y se produce cuando se lo habilita para darle acceso al bus a travs de una seal por el bus de
control. En este estado el dispositivo (Chip) puede recibir informacin (IN) del bus, o transferir al
bus informacin (OUT) de acuerdo a la funcin especifica del Chip.
La seal que habilita un circuito seleccionado (o sea lo pone activo), se llama CHIP SELECT,
ENABLE o STROBE.
Sal i d a (OUT)
CS (Ch i p Sel ec t )
Fi g . A1.21 Es q u ema d e l a l o g i c a d e s el ec c i n d e c i r c u i t o
En t r ad a (IN)
(g en er al men t e c o n ec t ad o
al Bu s d e Co n t r o l )
El desarrollo del tristate ha permitido interconectar distintos dispositivos mediante una gran
simplificacin circuital de interconexiones. La seal de control determina que la compuerta
funcione con su lgica normal (1 o 0) en el estado activo, o bien flote como virtualmente
desconectada de los elementos vinculados a ella en el estado pasivo (alta impedancia) como se
ve en la fig. A1.22 en la que solo est activa la interfase de E/S.
ALU
U. C.
Fig. A1.22 Habilitacin de circuitos mediante el bus de control
U. de
Reg.
U. de
E/S
M.C.
E/S
Interf.
E/S
Perifericos
Ejemplo: se seleccion
Bus de control
la interfase de E/S y se
habilit su funcionamiento
Control
Es importante recalcar que la longitud y la separacin de los cables o conductores en un bus
ofrecen ciertas restricciones al funcionamiento, as mismo como la frecuencia o velocidad de
trabajo. Estas restricciones originaron un profundo estudio sobre ruidos o interferencias debido
a efectos de radiacin y reflexin en las lneas. Estos estudios permitieron diseos de buses
bajo ciertas especificaciones de uso y luego generalmente culminaron en Normas o Standards
industriales tcnicamente aceptados por los fabricantes para facilitar las interconexiones de
distintas unidades, ya sea del mismo fabricante o de otros proveedores del mercado.
M . P . U .
d e l e c t u r a
B u s M O S B u s T T L d e
l e c t u r a
A d a p t a d o r
b i d i r e c c i o n a l
U n i d i r e c c i o n a l
A d a p t a d o r
U n i d i r e c c i o n a l
A d a p t a d o r
d e e s c r i t u r a
B u s M O S
B u s T T L d e
e s c r i t u r a
B u s d e
d a t o s
F i g . A 1 . 2 3 M t o d o d e s e p a r a c i n d e n i v e l e s y s e a l e s m e d i a n t e a d a p t a d o r e s
o C . P . U .
Tal es as, que no solamente se normalizan los buses, sino tambin las interfases y los
protocolos para lograr compatibilidades necesarias de seales y funciones en el proceso de las
comunicaciones.
Otra fuente de conflictos surge cuando se interconectan dispositivos integrados (Chips) de
distintas familias lgicas, como ser TTL y MOS. Generalmente se solucionan mediante Circuitos
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
22 -
Adaptadores de niveles lgicos y cargas (corrientes), que separan al bus en dos, llamados
DRIVERS (por ejemplo uno para la familia MOS y el otro para el TTL) como se ve en la figura
A1.23.
TIPO DE BUSES
BUS de DIRECCIONES: es unidireccional desde la CPU a los circuitos de acceso de la
Memoria Central por l viajan las seales binarias para localizar una posicin de memoria. La
cantidad de cables define la capacidad de direccionamiento fsico de una CPU, pues es la
potencia a la que se eleva al nmero 2. Por ejemplo: 16 cables nos permiten direccionar 64 Kilo
posiciones y 20 nos da 1 mega, mientras que 32 =4 giga posiciones.
BUS DE DATOS: Permite a la CPU enviar o recibir datos. Es bidireccional.
BUS NICO: Por el se transfieren datos o direcciones (nunca simultneas). Primero van las
direcciones durante un instante de tiempo y luego van los datos. Es poco eficiente por lo que se
lo ha dejado de usar.
BUS DE CONTROL: Lleva las seales de sincronizacin de todo el sistema. Por ejemplo
Estados de salida de la CPU (leyendo, Ejecutando, Escribiendo, detenido, etc.), o de entrada de
la CPU como ser: dato aun no disponible, direccin no habilitada, etc. Otras seales sirven para
controlar las operaciones.
BUS DE ENTRADA/SALIDA: Relacionado con las operaciones de Entrada-Salida que se
realizan con los perifricos. Por el circulan datos, direcciones, banderas de sealizacin (por
ejemplo: salen de la CPU ordenes, y entran interrupciones), etc.
BUS del SISTEMA: Agrupa seales de Control, Bus de Datos y Bus de Direcciones y es
utilizado como Bus nico en el Sistema.
BUS SINCRNICO - BUS ASINCRNICO: Se refiere si la transferencia requiere de la
sincronizacin de un reloj o no. Esto determina su velocidad de trabajo.
A1.2.2 UNIDAD CENTRAL DE PROCESOS o CPU
Podemos definir a una Unidad Central de Proceso (CPU o Central Processing Unit) como un
sistema digital de procesamiento sincrnico programable y programado.
Bsicamente la podemos dividir en dos partes, a saber:
La Unidad de Control (UC). Es la encargada de dirigir la ejecucin de los procesos,
determinando en cada caso, que funcin debe realizarse y que bsicamente est compuesto
por el Registro de instrucciones (donde se recibe el Cdigo de operacin de la instruccin a
ejecutar), el descodificador y el secuenciador.
La Unidad de Proceso (UP). Es la que, bajo el control de la UC, ejecuta la secuencias de
procesos como ser las operaciones aritmticas o lgicas).
Ambas conforman una unidad integrada tambin llamada MPU (Micro Processing Unit) o
microprocesador.
Las funciones de la unidad central de proceso son:
Controlar y supervisar todo el sistema de cmputos en base a un programa almacenado en
la memoria central.
Desarrollar las operaciones aritmticas y lgicas que sirven para procesar los datos y
controlar las secuencias de ejecucin de las instrucciones.
Controlar el envo y la recepcin de datos desde las unidades perifricas a la memoria
central y viceversa si no se dispone de DMA (Direct Memory Access).
Para realizar sus funciones la CPU se sirve de los siguientes componentes o recursos:
Unidad de Control
Unidad Aritmtica y Lgica (ALU)
Los Registros.
Los Buses.
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
23 -
La circuitera de tiempo (Reloj o CLOCK)
Los canales o interfases.
La Memoria Central.
FLIH

ACUMULADOR
MAR
Registro 0
1
2
3
n
Reg de Instruc.
Decodificador
B
u
s
I
n
t
e
r
n
o
MDR
Reset
+V
Clock
Prog. counter
Data Bus
Address Bus
MEMORY CONTROLLER
C
a
c
e
h R A M R O M
P
r
o
c
e
s
a
d
o
r
de
I
n
t
e
r
r
u
p
c
i
o
n
e
s
PAI
INTA
S
d
e

a
l
e
s
e
I
n
t
e
r
r
u
p
c
i
o
n
e
s
I / O
S
Y
S
T
E
M
P
E
R
I
F
E
R
I
C
O
S
STACK POINTER
DATA POINTER
SECUENCUENCIADOR
Bus de Control
(BC)
control y sincronismo
(BC)
ALU
(BC)
F
L
A
G
S
Fig. A1.24 Esquema bsico de una arquitectura basado en microprocesador .
Un esquema general podra ser el que se presenta en la figura A1.24 .
A1.2.3. LOS REGISTROS.
La Unidad Central de Proceso tiene incorporada una serie de registros, los cuales utiliza para
almacenarlos mientras se est ejecutando un programa. Los Registros pueden ser dedicados a
una funcin especfica o destinados a un uso general y tambin pueden ser inaccesibles o
accesibles en cuanto a la accesibilidad por los programas.
La denominacin, la cantidad y el uso a que estn destinados, dependen de cada Fabricante.
Daremos los nombres y sus aplicaciones de los ms representativos.
REGISTRO NDICE (Index Register I.R.): Utilizado para el indexado de las direcciones de
memoria Central. En l se almacena un dato (nmero) que luego se usa como referencia para
lograr la direccin efectiva. (Dedicado y Accesible).
CONTADOR DE PROGRAMA o PROGRAM COUNTER (P.C.) o tambin llamado Contador de
Instrucciones o puntero de instrucciones. En el se almacena la direccin de Memoria
Central en la cual se halla la prxima instruccin a ejecutarse o la direccin de los operandos
que se necesitan traer a la CPU o la direccin donde se debe guardar un resultado. Para las
Instrucciones su contenido se incrementa automticamente en cada ciclo de bsqueda o
FETCH que realiza el procesador en Memoria Central o se carga con la nueva direccin cuando
las instrucciones a ejecutarse son predeterminadas por instrucciones de salto. Para los
operandos se carga desde registros internos como ser el Data Pointer o el Stack Pointer
(Dedicado y Accesible).
STACK POINTER (SP). Es un registro en el cul se almacena la primer direccin libre de
memoria utilizada como pila. Es un Registro Dedicado y Accesible generalmente utilizado en el
manejo de las subrutinas o procesos.
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
24 -
El registro de pila o stack pointer es el que apunta a la zona de Memoria Central que funciona
como una PILA usado por el Sistema Operativo para tratar las interrupciones externas o
accesos de subrutinas, tambin en esta rea se guarda el estado de la CPU (P.C. Registros,
etc.) cuando ocurren estos eventos.
REGISTRO DE INSTRUCCIONES (R.I.): En l se almacena el Cdigo de Operacin de la
instruccin cuando se la trae desde la memoria central para su descodificacin por la Unidad de
Control. (Dedicado e inaccesible).
REGISTRO DE DIRECCIONES A MEMORIA (MAR: Memory Address Register).
En este Registro se cargan las direcciones a accesar donde estn almacenados las
instrucciones, datos, etc. en memoria. Se lo utiliza como un buffer para sincronizar las
transferencias de salida de la informacin binaria que determina la direccin fsica de Memoria
Central. Tambin asla la CPU del bus de Direcciones cuando est en tri-state. (Dedicado e
inaccesible).
REGISTRO DE DATOS (MAR: Memory Data Register). Es el encargado de almacenar los datos
cuando se leen desde (o escriben) en la memoria central. Tambin se lo utiliza como un buffer
para sincronizar las transferencias de datos o aislar la CPU del Bus de Datos cuando esta en
tri-state. (Dedicado e inaccesible).
PUNTERO DE DATOS (DP: Data Pointer). Es el registro cuyo contenido representa la direccin
de Memoria Central en la que se almacena el dato que deber utilizarse en la prxima
instruccin.
ACUMULADORES (AC). Son Registros de almacenamiento temporario utilizado por la Unidad
Aritmtica y Lgica para guardar los resultados, hacer transferencias de datos u operandos.
(Son de Uso general y accesible). Pueden haber uno o ms Acumuladores, segn el fabricante
del Microprocesador.
REGISTRO DE ESTADO O BANDERAS o FLAGS. En cada posicin de este Registro (Flip-
Flop) se guarda una informacin binaria del estado en que queda la CPU despus de ejecutar
una instruccin. Se lo utiliza para analizar su contenido y para tomar una decisin o para
detectar un error. Las seales que normalmente provee son (ver Fig. A1.28):
OVERFLOW: La ltima operacin aritmtica se excedi de la capacidad del Registro
Acumulador.
ZERO: Se obtuvo un resultado cero en la operacin realizada.
NEGATIVE: Se obtuvo un resultado negativo en la operacin realizada.
I/O: Usado por los Perifricos para comunicarse con la CPU.
CARRY: Suele utilizarse como bit (n+1) del Registro Acumulador o sea el arrastre en el
orden superior.
etc.
A1.2.4 LA UNIDAD DE CONTROL.
Este componente consta de un conjunto de circuitos, integrados dentro de la CPU, los cuales
cumplen funciones especficas que permiten, por ejemplo, detectar la disponibilidad o no de
algn equipo perifrico, la disponibilidad de locaciones en memoria central, prioridad de uso del
procesador por el usuario, etc. etc.
La Unidad de Control (como dispositivo fsico) junto al Sistema Operativo (como dispositivo
lgico) permiten el verdadero control y secuenciamiento de todas las acciones que se producen
dentro del computador. En el caso de las arquitecturas CISC estas acciones estn
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
25 -
microprogramadas en el descodificador mediante una matriz lgica programada (PLA) que
entrega las seales apropiadas al Bus de Control quien las distribuye a los distintos circuitos
que intervienen en la ejecucin de la instruccin. En el caso de las RISC estn cableadas
directamente para cada operacin.
Un esquema funcional de la Unidad de Control perteneciente a una CISC se ve en la siguiente
figura A1.25
PR OC E S A D O R D E I NS T R U C C I O NE S ,
PR O C E S A DO R DE O PE R A C IO N E S
P. C . ( Pr o g r a m C o u n t e r )
I n c r e m e n t a d o r
R . I .E ( R e g . I n s t r u c c i n e n E j e c u c i n )
De c o d i f i c a d o r d e l a O p e r a c i n
S e c u e n c i a d o r
PR O C E S A DO R d e DI R E C C IO N E S ,
PR O C E S A D O R d e S A L T O S
(B R A N C H P R O C E S S O R )
M . A . R .
M e m o r y
A d d r e s s
R e g i s t e r
PR O C E S A D O R d e D I R E C C I O NE S
(A D D R E S S P R OC E S S O R )
Y d e E NT R A D A / S A L I D A
(S E C U E N C E R )
( I N C R E M E N T E R )
( C U R R E N T I N S T R U C T I ON R E G I S T E R )
(D E C OD E R )
(A L B U S D E C O N T R O L )
(L L E G A E L C D . D E
D E L B U S I N T E R N O )
( A L B U S D E
D I R E C C I O N E S )
PR OC E S A D O R d e I N T E R R U PC I ON E S
(F I R S T L E V E L I N T E R R U P T H A N D L E R )
F i g A 1 .2 5 E s q u e m a d e u n a Un i d a d d e C o n t r o l
1
2a
2b
3
4
5a
5b
6
De acuerdo al orden de precedencia de las instrucciones que llegan al RIE (Registro de
Instrucciones en Ejecucin) y a su descodificacin, se obtiene la secuencia de ejecucin, que
se realiza por el SECUENCIADOR cuya funcin es ir cambiando de estados de los distintos
mdulos del computador.
La Unidad de Control esta compuesta por:
un PROCESADOR DE INSTRUCCIONES,
un PROCESADOR DE DIRECCIONES,
un PROCESADOR DE OPERACIONES y
un PROCESADOR DE INTERRUPCIONES Y DE ENTRADA/SALIDA.
Si tomamos a la Unidad de Control como un Sistema, entonces se la puede subdividir en tres
subsistemas:
a) Un procesador de lenguaje que procesa varios niveles de lenguaje.
b) El dispositivo maestro de secuenciamiento y tiempo para todo el Sistema Computacional.
c) El dispositivo de control.
El funcionamiento podra ser el siguiente (ver cada paso en la Fig. A1.25):
1. Inicialmente asumimos la existencia de una direccin de Memoria Central en donde est la
prxima instruccin a ser ejecutada ya cargada en el Registro Contador de Programa (P.C.).
Esto quiere decir que previamente se ha efectuado una copia del programa en Memoria
Central para ser ejecutado. Esta copia del programa en memoria se llama programa en
ejecucin y est dividido en procesos a realizar por la mquina y definimos a cada uno de
los procesos como una porcin indivisible del programa en ejecucin con un vector de
estado asociado al mismo.
Este concepto lo estudiaremos con mayor detalle en el mdulo 2 del Libro Notas sobre Sistemas Operativos
2. a) Esta direccin es enviada a la Memoria Central a travs del M.A.R. (Memory Address
Register) al bus de direcciones, y
b) El contenido de esa direccin de memoria es una INSTRUCCIN que tiene dos partes: Un
cdigo de operacin y operandos. El Cdigo de Operacin es colocado en el RIE (Registro
de Instruccin en Ejecucin) y los Operandos en el Acumulador o en los Registros
previamente destinados. La estructura de las instrucciones se observa en la siguiente figura:
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
26 -

INSTRUCCIN
CDIGO
de
OPERACIN
(C.O.)
Fig. A1.26 Estructura de una Instruccin
OPERANDOS
OP1
OPn
OP2
3. La Instruccin es separada en la parte de operacin y la parte de direccin. El Cdigo de
Operacin (CO) es enviado al Procesador de Operaciones y los Operandos al Procesador de
Direcciones.
4. El Procesador de Direcciones toma los Operandos y los transforma en la direccin correcta
de Memoria Central (M.C.) donde estn alojados los datos que necesitan ser procesados por
la instruccin en ejecucin. Para ello tiene dos alternativas utilizando como Puntero ndice el
contenido del Data Pointer Register o el Stack pointer u otro registro interno:
a) El valor obtenido es enviado a los registros para que la ALU obtenga la direccin efectiva
a travs del mtodo de direccionamiento involucrado en la instruccin y luego cargue el
resultado en el Registro P.C., o
b) Carga directamente al P.C. con el valor correspondiente a la direccin efectiva
involucrada en la instruccin descodificada, como en el caso de las instrucciones de
saltos por ejemplo GO TO 200, en que se carga el valor 200 en el P.C. y 200 es la
direccin de Memoria donde debe ir.
Una vez hecho esto se vuelven a repetir los pasos desde el punto 2.a) formndose un ciclo
continuo de operaciones de bsquedas de informacin en Memoria Central tambin
conocido como ciclo de bsqueda o fetch (ver parte B de ste mdulo). El ciclo de
bsqueda se realiza tantas veces como sea necesario completar los operandos que
intervienen en la instruccin.
En cuanto al Procesador de Operaciones realiza superpuesto al ciclo de bsqueda otro ciclo
conocido como ciclo de ejecucin que es el siguiente:
5.- El cdigo de operacin es descodificado. Esto es: el conjunto posicional de bits es
convertido en una secuencia de seales elctricas que:
a) dispara el secuenciador que conduce afuera las operaciones o,
b) cuando la instruccin es de salto, produce la transferencia de control hacia el
procesador de salto que es activado para procesar la direccin al cual apunta el salto.
6.- El Secuenciador propulsa a la vez a toda la mquina a travs de la secuencia especificada
por los eventos que estn codificados en la PLA (Pogrammable Logic Array) y que es
transformada por una seal adecuada en amplitud, intensidad y duracin definida por la
instruccin descodificada. Estas seales corresponden al nivel ms bajo (Nivel 0) de los
lenguajes que ejecuta un computador y,
7.- Cuando la secuencia de la instruccin en ejecucin es finalizada, ocurre:
a) Si la instruccin fue de Salto y fue derivada al procesador de saltos, ste causa una
nueva direccin que es forzada al registro P.C. (paso 4.b)).
b) de otro modo, el incrementador ajusta al P.C. para que apunte a la prxima instruccin
a ser ejecutada, o el contenido proviene del Registro Acumulador de la ALU o de un
registro interno de la mquina.
Estos ciclos (el de bsqueda y el de ejecucin) se repiten superpuestos en el tiempo (en forma
paralela) dando lugar a que el programa en ejecucin vaya realizando los procesos internos
necesarios y que la mquina devuelva los resultados de estos procesos internos al programa en
ejecucin de acuerdo a como se presentan en el orden o secuencia las instrucciones del
programa originalmente cargado en Memoria Central. Todo esto lo podemos resumir en el
diagrama de la figura A1.27 en que se observa la secuencia.
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
27 -
PR OG R A M A
E J E C UT A B L E
C IC L O DE E J E C UC ION
L A C PU E J E C UT A
L A IM A G E N DE L
PR OC E S O
R E S UL T A DO A L
PR OC E S O E N
M .C .
DE V UE L V E E L
c i c l o
d e
FE T C H
q u ed as o
b s -
C OPIA DE M .C .
DE L PR OC E S O)
( HA C E UNA IM A G E N
A L OS PR OC E S OS
E L PR OC E S A DOR
E J E C UC ION E N
E N PR OC E S OS
M .C . DIV IDIDO
PR OG R A M A E N
A M .C .
C A R G A DOR
Fi g . A 1.27 Di f er en t es c i c l o s en l a ej ec u c i n d e u n Pr o g r am a
La ejecucin de un programa requiere de la intervencin del Sistema Operativo. Esto se explica en detalle en el
mdulo 2 del presente texto.
La Unidad de Control es un conjunto de circuitos adaptados para recibir y transferir los datos,
resultados, instrucciones, direcciones, y seales de control entre los circuitos externos al
microprocesador y los internos (ver fig. A1.03 de este mdulo).
Debido a las caractersticas que cada fabricante imprime en su diseo, estos circuitos difieren
notablemente entre s pero bsicamente podemos distinguir:
SALIDA DE DIRECCIONES: Se efecta a travs del Registro MAR cuya funcin es hacer de
interfase entre los Buses internos y el Bus de Direcciones.
SALIDA Y ENTRADA DE DATOS Se efecta a travs del Registro MDR cuya funcin es
hacer de interfase entre los Buses internos y el Bus de Datos.
SEALES DE CONTROL DE BUSES: Fundamentalmente compuestos por:
R/W : Define si los datos que se transfieren en el Bus de Datos son de un Ciclo de Lectura o
de Escritura.
Seal de Reconocimiento de Datos: indica que se ha completado el Ciclo en el bus de datos.
Seal de Reconocimiento de Direcciones indica que se ha completado el Ciclo en el bus de
direcciones.
Pedido de Bus: es una seal de entrada al procesador que proviene de un dispositivo que
desea usar el bus.
SEALES DE INTERRUPCIN: Existen varias seales segn el nivel de interrupcin. Por
ejemplo si tuviramos tres seales (3 bits), el nivel 0 sera el de menor prioridad y el 7 el de
mayor prioridad o a la inversa, segn el criterio adoptado por el diseador del hardware.
SEAL DE CONTROL DEL SISTEMA: son seales de entrada al Procesador usadas para
detenerlo, arrancarlo, o que haya ocurrido un error. Bsicamente son:
Error en el Bus: se produce esta informacin cuando ha ocurrido alguno de los siguientes
eventos:
1. El dispositivo no responde,
2. Un acceso ilegal fue determinado por el Administrador de la Memoria.
3. Se produjo una falla en un dispositivo y envi una seal al vector de Interrupciones.
4. Errores (dependen del caso).
Esta seal interacta con la que produce la Detencin del procesador (HALT) como un proceso excepcional o que se
deba reiterar el Ciclo de Bus.
RESET: Esta seal bidireccional acta de dos formas:
1. Bajo una accin externa inicializa al sistema, es decir, la seal dispara la rutina de
inicializacin que pone el Registro P.C. en la primer direccin de Memoria para
comenzar a cargar el Sistema Operativo, tambin llamado BOOTSTRAPPING o I.P.L.
(Initial Program Loader).
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
28 -
2. Si la accin es interna proviene de la ejecucin de una instruccin RESET que causa la
inicializacin de todos los dispositivos externos mientras que se mantiene el estado del
Procesador sin afectarlo.
HALT: Es una seal que produce una interrupcin en la operacin del procesador despus
de haberse completado su ciclo.
SEAL DE CONTROL DE PERIFRICOS: Generalmente se las utiliza para sincronizar las
operaciones entre los dispositivos.
Enable (Habilitacin): Esta seal habilita al dispositivo cuando est activada y lo deja
deshabilitado cuando no est activada.
Ready: Esta seal indica que el dispositivo esta listo para operar normalmente cuando est
activa. Si no esta activada significa que esta indisponible.
SEAL DE ESTADO DEL PROCESADOR: Generalmente indica el modo en que est
funcionando el Procesador (Usuario o Supervisor) para ejecutar instrucciones comunes o
privilegiadas respectivamente.
Este concepto se ampliar en el mdulo 2.
SEAL DE RELOJ (CLOCK): Es una seal de frecuencia constante que sirve para
sincronizar todos los eventos que se producen en el Sistema.
Todas stas seales, salvo las Entrada-Salida de Datos y Salida de direcciones, pertenecen a
lo que genricamente llamamos Bus de Control que gobierna la Unidad de Control.
A1.2.5 LA UNIDAD ARITMTICA Y LGICA (ALU o UAL).
Es la unidad de la CPU que permite realizar las operaciones bsicas aritmticas, efectuar
comparaciones y operaciones basadas en el lgebra booleana, como ser las funciones AND,
OR, NAND, NOR, XOR, etc..
Puede disponer de uno o ms Registros especiales denominados ACUMULADORES (AC) que
tienen por funcin almacenar los datos que se requieren para realizar una operacin o depositar
los resultados producidos despus de la operacin.
Tambin utiliza el Registro FLAGS para depositar los estados singulares (binarios) producidos
durante las operaciones.
S e a l e s d e E s t a d o s q u e v a n a l B u s d e C o n t r o l
R E G I S T R O
F i g . A 1 . 2 8 C o m p o n e n t e s d e l a A L U - U n i d a d A r i t m t i c a l g i c a .
B U S I N T E R N O
d e F L A G S
E
R
G .
A
C
U
M
U
L
A
D
O
R
O V E R F L O W Z E R O N E G A T . I / O C A R R Y E T C .
A L U
Un esquema de una ALU que utiliza un solo Acumulador se esquematiza en la fig. A1.28.
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
29 -
A1.3. MEMORIA CENTRAL (M.C.)
Es comn que a la memoria del computador se la denomine central o principal para
diferenciarla de otro tipo de almacenamiento, por ejemplo los discos, cintas, etc.
A1.3.1. DEFINICIONES DE CONCEPTOS UTILIZADOS EN MEMORIAS.
Las memorias: son dispositivos que permiten almacenar la informacin (datos, resultados,
programas, imgenes, seales, etc.) y recuperarlos cuando cualquier elemento del computador
lo requiera.
Se denomina Punto de memoria (o celda) al dispositivo que almacena un bit. Fsicamente est
representado por un biestable (Flip-Flop), o por un capacitor, una Burbuja magntica, un
ncleo de ferrite, etc.
El punto de memoria puede tomar solamente dos estados binarios, 1 o 0.
Byte equivale a un trmino binario (Binary termin) generalmente compuesto por 8 bits.
Carcter: es el conjunto de bits necesarios para representar un smbolo de un cdigo
(alfabtico, numrico, especial, etc.).
Palabra: es una unidad lgica de informacin. Generalmente est compuesto por un nmero
entero de Bytes o caracteres.
El tiempo se mide en segundos. Los submultiplos mas utilizados en computacin son:
Milisegundo(ms): milsimo de segundo =10
-3
segundos.
Microsengundo(s): millonsimo de segundo =10
-6
segundos.
Nanosegundo(ns): mil millonsimo de segundo =10
-9
segundos.
Picosegundo (ps): billonsimo de segundo =10
-12
segundos.
Lectura de memoria: es el proceso de extraccin (recuperacin) de la informacin, que fue
previamente almacenada en una determinada posicin.
Escritura en memoria: es el proceso mediante el cual se registra (guarda) la informacin en
una posicin dada.
Direccin de memoria: es la ubicacin fsica (posicin) de la palabra en la memoria.
Direccionamiento: es la funcin usada para localizar una informacin dentro de la memoria.
Tiempo de acceso: es el tiempo que transcurre entre el instante en que se lanza una operacin
de lectura y el instante en que se dispone de la primera informacin buscada.
Capacidad de memoria: Es el nmero mximo de bits que puede contener la memoria.
La capacidad se expresa en unidades que son potencias de dos. Es binaria.
Es comn referirse a la capacidad de almacenamiento que es la cantidad de caracteres,
smbolos de un cdigo o palabras de 8 bits que se puede contener una memoria en un sistema.
Las unidades convenidas son: el KBy (KiloByte) que representa a 2
10
=1024 Bytes, el MBy (Megabyte que equivale
a 10
6
), el GBy (GigaByte =1000 MBy =10
9
), y el TBy (Tera =10
12
). (Ej. 64KBy, 128 KBy, 256 KBy, 512 KBy, 1 MBy,
etc.)
Ciclo de memoria:
a) En el caso de ncleos magnticos: la lectura es destructiva en estos dispositivos, y
requiere de un proceso para regenerar y reescribir la informacin en cada lugar; por lo
que esta operacin se realiza en dos fases:
a.1. grabacin =puesta a cero +grabacin
a.2. lectura =lectura +regrabacin.
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
30 -
Al conjunto de ambas fases en cada caso, se lo llama ciclo de memoria que es algo mayor
que el tiempo de acceso.
b) En los circuitos integrados: se toma el proceso de una lectura; (la escritura es
semejante):
El bus de direcciones tiene la informacin de la posicin de la palabra de memoria a
leer que le fuera enviado o por la CPU o por un Procesador DMA (Direct Memory
Access).
Esa direccin es fsicamente descodificada por el controlador de la Memoria.
Por el bus de control llega la orden de leer
Inmediatamente se habilita el bus de datos por donde sale el contenido de esa posicin
de memoria sin destruirse la informacin que estaba almacenada.
A todo este tiempo se lo denomina ciclo de memoria que utiliza varios ciclos de mquina para
completar la operacin (sea de lectura o de escritura).
Ciclo de almacenamiento: Es el tiempo necesario para transferir un carcter (o byte) desde o
hacia la memoria central.
A1.3.2. JERARQUAS DE ALMACENAMIENTOS.
Para seleccionar las memorias a instalar en un sistema de computacin, se debe considerar los
siguientes factores:
a) Capacidad de almacenamiento.
b) Tiempo de acceso.
c) Velocidad de transferencia.
d) Densidad de almacenamiento.
e) Tipo de memoria y tecnologa
f) Precio.
Este ltimo punto (precio o costo) determina los diferentes niveles o jerarquas del
almacenamiento en un sistema de cmputo y resulta directamente de la velocidad (a menor
tiempo de acceso mas caras).
Dentro del sistema se distinguen los siguientes niveles de memorias:
M em o r i as Sec u n d ar i as
M em o r i as Pr i m ar i as
a) M em o r i a d e Reg i s t r o s (g en er al m en t e d en t r o d e l a CPU
b ) M em o r i a In t er n a a l a CPU o Cac h d e p r i m er n i v el
c ) M em o r i as i n t er m ed i as o d e 2d o . n i v el (Cac h ).
el ec t r n i c o s d el t i p o Fl i p -Fl o p s es t t i c as d e al t a v el o c i d ad )
(c o m p u es t o s p o r Fl i p -Fl o p s , es t at i c as o d i n am i c as )
e) M em o r i a A u x i l i ar (Di s c o s , T am b o r es , Ci n t as , et c .)
f ) M em o r i a Ex t er n a (T ar j et as , Ci n t as , Cas s et es , et c .)
d) M em o r i a Cen t r al
Las memorias de registros: son el almacenamiento fundamental que utiliza la CPU para la
operacin de la mquina. Es una memoria de semiconductores muy rpida, cuyo tiempo de
acceso es muy pequeo. Los acumuladores, flags, registros y contadores, entran en esta
categora.
La memoria interna: es aqulla construida internamente dentro del chip de la CPU, en que se
almacenan todas las instrucciones del programa usuario y los datos que estn bajo proceso
inmediato, adems de ciertas instrucciones pertenecientes al Sistema Operativo; a esta
memoria tiene acceso la CPU y tambin se la conoce con el nombre de Memoria Cach de
primer nivel. En el caso del procesador P6 Se integra un banco de memoria cach de 256 KBy
o mas dentro del mismo Chip. En ese caso esta memoria es de segundo nivel.
La Memoria Cach es una memoria intermedia externa al procesador, generalmente se la
designa como de segundo nivel, entre la CPU y la memoria Central. Es de alta velocidad de
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
31 -
acceso, utilizada bsicamente para disponer de las instrucciones y datos cerca de la CPU
cuando las necesite.
Memoria Central es la que recibe los programas y los datos para su ejecucin. Solamente se
puede ejecutar si est cargado en sta memoria. Generalmente est compuesta por varios MBy
y es algo mas lenta que la cach. Es una memoria de Lectura y escritura que se llama RAM y
una parte es solamente de lectura (ROM). Ser tratada a continuacin.
La memoria auxiliar o secundaria: es aquella memoria utilizada durante el procesamiento en
la que se almacenan todos aquellos programas, subrutinas, datos, etc. que no han podido ser
almacenados en la memoria interna debido a las limitaciones de capacidad. A pesar de que su
tiempo de acceso es superior a las memorias internas, permite almacenar una gran cantidad de
bits en forma muy econmica. Los discos, cintas, tambores, cassettes, etc. pertenecen a este
nivel.
Memoria externa: es aqulla que permite almacenar cantidades ilimitadas de informacin a
muy bajo costo en el caso de que se requiera un bajo tiempo de acceso (caso de las tarjetas o
cintas o discos pticos).
En este mdulo solamente nos referiremos a las memorias centrales o primarias.
A1.3.3. CARACTERSTICAS DE LAS MEMORIAS:
a) Volatilidad: es la facilidad con que las memorias pueden perder la informacin almacenada
cuando se interrumpe la alimentacin (Ej.: los Flip-Flops de semiconductores). Los
materiales magnticos no son voltiles (Ej.: discos).
b) Forma de acceso:
1- Acceso aleatorio o RANDOM o directo: cualquier informacin contenida en la memoria
y cuya direccin sea conocida, puede ser alcanzada en un determinado momento. (Ej.
las matrices de Flip-Flops)
2- Acceso secuencial: la informacin aparece en forma de una secuencia, de manera que
para acceder a una determinada posicin, debe pasarse previamente una serie de
ellas, no requeridas (Ej. cintas magnticas).
c) Destructivas de la informacin (en la lectura):
1- Destructiva: la informacin almacenada se pierde cuando es leda y se debe volver a
re-escribir
sobre ella para mantenerla. (Ejemplo: ncleos magnticos).
2- No destructiva: la informacin no se pierde cuando es leda. (Ejemplo: los Flip-Flops).
A1.3.4. ORGANIZACIN DE LA MEMORIA INTERNA (CENTRAL o PRINCIPAL):
La organizacin se efecta lgicamente en palabras cuya longitud puede ser de 4, 8, 12 o ms
bits, dependiendo del tipo de Hardware y de la arquitectura del computador.
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
32 -
n -es i m a p o s i c i n
DI RECCI ONES
(FI L A S)
PA L A B RA DE n -B IT S A L M A CENA DA
EN ESA DIRRECCION
B US DE DI RECCI ONES (Un i d i r ec c i o n al )
Fi g u r a A 1. 29 El em en t o s c o m p o n en t es d e l a m em o r i a c en t r al
B I T n
POSICION CERO
B US DE DA T OS (B i d i r ec c i o n al )
COL UM NA (L SD)
COL UM NA (M SD)
DECODIFICA DOR DE
DIRECCIONES
B I T 0
M SD = M o s t Si g n i f i c an t Di g i t
L SD = L as t Si g n i f i c an t Di g i t
En la Fig. A1.29 se representa una organizacin tpica en forma matricial. Las columnas van
desde el bit 0 (posicional), hasta el bit de peso n. Esto es el ancho de la palabra, o sea, su
tamao, tambin llamado resolucin, que debe coincidir con el ancho del bus de datos. En las
filas vienen representadas las direcciones o posiciones en forma vertical, siendo la primera
posicin, la direccin cero, luego la segunda, la direccin uno y as hasta alcanzar la ensima
que representa su tamao o capacidad mxima, expresada en x-palabras para almacenar
informacin.
Para referirse a una cierta palabra de la memoria, se accede mediante el bus de direcciones,
quien va conectado a un descodificador, que selecciona en ltima instancia, la posicin fsica de
la fila en que est ubicada dicha palabra.
En la figura no se incorpor los elementos que actan como control. Ejemplo las seales de
lectura - escritura, de seleccin de circuitos, reset, registros separadores de bus, etc.
A1.3.5. DISTINTOS TIPOS DE MEMORIA INTERNA (CENTRAL O PRINCIPAL)
A) Memoria de ncleos magnticos:
La mencionaremos slo a modo anecdtico como curiosidad histrica, debido a que se usaron
vastamente en los equipos de Segunda y Tercera generacin de computadoras. Actualmente
fueron reemplazados por los circuitos integrados (C.I.) o CHIPS en las de tipo: RAM y ROM.
El ncleo: la unidad elemental del sistema es un pequeo anillo o ncleo de material magntico
de alta permeabilidad (ferrite por ejemplo), de 4 mm de dimetro externo y 2 mm de dimetro
interno, que se magnetiza en uno u otro sentido, constituyendo as un dispositivo biestable,
capaz de almacenar un bit de informacin.
B) Memoria de semiconductores o circuitos integrados:
Son aquellos que utilizan el biestable electrnico o Flip-Flop como elemento de memoria. Un
biestable es un sistema que no puede presentar ms que dos estados lgicos diferentes que,
en ausencia de estmulos externos, no tienen porque evolucionar, razn por la cual este
dispositivo puede servir como elemento de memoria.
Cada bit est constituido por un biestable y sus circuitos asociados de lectura y escritura. Una
diferencia fundamental que presenta esta tecnologa es que la lectura no es destructiva y la
escritura no exige puesta a cero previa como los ncleos magnticos .
El tiempo de acceso de este tipo de memoria es de varias decenas de nanosegundos (10 a 120
ns, tpicamente 70 ns).
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
33 -
Clasificacin de las memorias internas de circuitos integrados:
M E M OR IA S
IIIa: C C D
IIIb : B UR B UJ A S M A G NE T IC A S
IIIc : S IS T E M A S OPT IC OS
Ia : E S T A T IC A S
I A C T IV A S
Ib : DINA M IC A S
IIa : R OM - PR OM
IIc : E A R OM - E E R OM
II PA S IV A S IIb : E PR OM - R PR OM
III OT R OS T IPOS
I) ACTIVAS: (RAM: Random Access Memory - Memoria de acceso aleatorio)
Son las de lectura y escritura. Su contenido puede ser modificado mediante un programa, en
cualquier instante. Su mayor desventaja es la volatilidad, dado que al interrumpirse la
alimentacin, pierde la informacin almacenada en su interior.
Ia) Las RAM estticas o SRAM:
Est construida mediante circuitos Flip-Flop (o Biestables), en un circuito integrado. Cada Flip-
Flop almacena un bit de informacin, por lo que se especifica el valor de Kbits (Kilo=1024 bits)
por chip. Y no debe confundirse con la organizacin de los bancos de memoria, cuya unidad
responde a Kilo-palabra o generalmente Kilo Byte (KBy).
Un banco de memoria utiliza uno o varios chips conectados adecuadamente en forma de matriz
cuyas columnas determinan la capacidad de la palabra (o resolucin) y cuyas filas, la
capacidad del almacenamiento o direccionamiento posible (o rango).
Otra caracterstica es que son asincrnicas, o sea, que no es necesario un reloj para mantener
la informacin, mientras no se interrumpa la alimentacin. Sin embargo, el chip tiene una
conexin de reloj que es utilizada por la unidad de control cuando se efecta el ciclo de
lectura/escritura.
Las memorias estticas se llaman as, por su propiedad de mantener y conservar la informacin durante todo el
tiempo en que se mantengan las condiciones estables de su funcionamiento.
Ib) Las memorias dinmicas o DRAM:
Su construccin se basa en la capacidad de entrada de un transistor MOS (metal oxid
semiconductor) que es utilizado como un punto de memoria. Debido a su tamao pequeo y su
geometra (un transistor frente a un Flip-Flop) se logran grandes densidades de integracin
(varios Mbits) y buenas velocidades. Es comn encontrar velocidades del orden de 40 a 200 ns
(tpico 60 - 70 ns).
Estas memorias se denominan dinmicas debido a que su contenido vara o se pierde con el tiempo.
Esta es su principal desventaja.
Cada bit se escribe en un pequeo capacitor del transistor MOS, pero debido a las fugas que
tiene este capacitor, se pierden estas cargas despus de un tiempo, y tal es as, que en pocos
milisegundos desaparecen totalmente. Para evitar estas prdidas de informacin almacenada,
se procede a refrescar la memoria cada 1 o 2 milisegundos, mediante un procedimiento cono-
cido como ciclo de refresco (Refresh Cycle). Este consiste en leer la informacin
almacenada en la memoria y volver a escribirla en la misma posicin que ocupaba.
Este proceso produce algunos inconvenientes, dado que debe efectuarse mediante un circuito
especial que puede estar comandado por la unidad de control de la CPU o incluirse un circuito
dentro del chip de la memoria. Estas soluciones presentan grandes complejidades en el
Hardware. Otro inconveniente es que el ciclo de refresco puede interferir el tiempo de acceso
o de lectura/escritura de la memoria por la CPU. De todas formas, el tiempo de incidencia de
este proceso sobre el tiempo operativo, es del 1 al 5% y generalmente se busca optimizar las
tcnicas de refresco mediante operaciones de leer una columna (o fila) completa por vez,
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
34 -
(dependiendo de la organizacin interna de la memoria) para luego regrabar la misma infor-
macin en el mismo lugar.
T a b l a A - 1
C o m p a r a c i n e n t r e l a s m e m o r i a s
E S T A T I C A S
A L T O
R E F R E S C O
E N U N S I S T E M A
P E Q U E O
E N U N S I S T E M A
M E D I A N O O G R A N D E
V E L O C I D A D E S
D E N S I D A D D E
I N T E G R A C I N
D I N A M I C A S
C O S T O B A J O
N O N E C E S I T A S I N E C E S I T A
M A S B A R A T O
M A S C A R O
M A S C A R O
M A S B A R A T O
1 0 a 2 0 0 n s 4 0 a 4 0 0 n s
G R A N D E
M U Y G R A N D E
Ciclo de lectura y escritura de una memoria esttica (ver Figura A1.30 y A1.31)
a) Para leer en un dado circuito integrado (C.I.) de memoria (chip), es necesario referirlo
mediante una seal de seleccin (generada en la Unidad de Control de la CPU), llamada Chip
select (CS) o habilitacin Chip Enable (CE) a travs del bus de control que tiene el sistema y
luego:
b) dar la direccin de la palabra elegida en la memoria, a travs del bus de direcciones (Ao a
An) que se encuentran fsicamente conectados al C.I.. Esta direccin proviene del Program
Counter (P.C.) de la CPU a travs del bus de direcciones.
c) transcurrido el tiempo de acceso, aparecer por el bus de datos la informacin buscada, la
cual puede ser transferida por el bus, siempre que la seal de habilitacin que inhabilita la
salida c est bajo (en este caso) porque se verifica entonces, la presencia de los datos y
cuando se hace alto (valor =1), supone que es correcta. Mientras tanto se deben mantener
durante un tiempo, las seales de la direccin (1) y las seales de seleccin o habilitacin del
circuito (2) como se ve en la Fig. A1.30.
b ) D i r e c c i o n e s
( 1 )
a )
H a b i l i t a c i o n
d e C i r c u i t o
( C E 1 , C E 2 , e t c . )
( 0 )
c )
( 3 )
( 1 ) = A L T O
( 0 ) = B A J O
d )
S A L I D A D A T O S V A L I D O S
( 4 )
F i g u r a A 1 . 3 0 L e c t u r a e n u n a M e m o r i a E s t a t i c a .
( 2 )
I n h i b i c i o n d e
s a l i d a
( 1 )
( 1 )
( 1 )
( 1 )
( 0 )
( 0 )
( 0 )
C I C L O S D E R E L O J
quedado escrito en la posicin de memoria deseada por la direccin cuando la seal de la
unidad de control habilita la lnea Escritura (STORE) (seal 5).
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
35 -
b ) D i r e c c i o n e s
( 1 )
a )
H a b i l i t a c i o n
d e C i r c u i t o
( C E 1 , C E 2 , E T C . )
( 0 )
c )
( 3 )
( 1 ) = A L T O
( 0 ) = B A J O
d )
L e c t u r a / E s c r i t u r a
F i g u r a A 1 . 3 1 E s c r i t u r a e n u n a M e m o r i a .
( 2 )
I n h i b i c i o n d e
s a l i d a
( 1 )
( 1 )
( 1 )
( 0 )
( 0 )
C I C L O S D E R E L O J
( 4 )
( 1 )
( 0 )
D A T O S E S T A B L E S
E N T R A D A / S A L I D A
e )
( 1 )
( 0 )
( s e a l 5 )
M o v i m i e n t o d e D a t o s
( B u s d e D a t o s )
( L O A D / S T O R E )
5
La Escritura (figura A1.31) es semejante a la lectura en cuanto a los pasos a) y b). En c)se
inhabilita la salida de datos de la memoria puesto que se va a almacenar en ella (3).
d) El dato a escribir debe ser presentado a las terminales correspondientes del circuito
integrado (I/0o a I/On) dentro de un tiempo t1 y al cabo de un tiempo t0, el dato habr llegado a
los respectivos Flip Flops que fueran seleccionados por la direccin en b). Entonces hecho esto,
los datos presentados al bus de datos (4) y e) se habilita mediante la seal (5) la escritura .
Volatilidad de las RAM: Se refiere a la prdida de la informacin cuando se corta la corriente
elctrica que alimenta a la memoria. Se puede solucionar mediante dos tcnicas:
a) mediante una batera como alimentacin de seguridad que suministre energa en el caso de
que se corte la alimentacin al sistema. Aqu tiene importancia el tipo de tecnologa de integra-
cin utilizada en las memorias, por el consumo. En general, el CMOS (Complementary Metal
Oxid Semiconductor) es de muy bajo consumo y admite una batera durante un perodo de
tiempo prudencial, pero suficiente como para reparar el problema del corte de energa. Esta
tecnologa es algo lenta.
b) Mediante memorias alterables elctricamente (EAROM). A pesar de que son memorias
preferentes de lectura solamente, admiten escrituras mediante un proceso sofisticado. Debido
a que es una memoria muy cara, su uso est restringido a aplicaciones especiales donde se
requiera que la informacin se almacene durante perodos crticos de corte de energa, como
ser procesos industriales, cohetera, etc.
II) Memorias pasivas:
Se denominan as aquellas memorias en las que se ha predefinido el contenido de las mismas,
y se permite solamente la lectura de dicha informacin.
No admite modificacin de su contenido, una vez instalada en el computador. Esta definicin es
vlida para las ROM, PROM y EPROM, pero ltimamente han aparecido en el mercado las
EAROM y las EEROM, las cuales se pueden modificar (su contenido), mediante programas a
pesar de que se las considera por excelencia memorias de lectura preferentemente.
IIa) ROM (Read Only Memory) o PROM (Programmable ROM): Esta memoria se programa
previamente mediante una mscara elaborada por el fabricante de los circuitos integrados en el
momento de su construccin a pedido del cliente. Debido a ello, esta memoria no es voltil,
puesto que se han depositado previamente y en forma permanente, los unos y los ceros
dentro de cada celda de la memoria, as se establece si hay o no conexiones entre las filas y las
columnas de la memoria. Debido al costo de la elaboracin de los Circuitos Integrados, el
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
36 -
fabricante exige una gran cantidad a fabricar en serie, que por lo general, supera las mil
unidades. Las ROM de mscara estn destinadas a grandes volmenes de produccin.
A0 An
DECOD. Y
C
S
0
C
S
1
C
S
2
C
S
3
BUFFER DE SALIDA
BUFFER DE ENTRADA DE DIRECCIONES
DECOD. X
Fig. A1.32a Estructura de un chip de memoria de solo lectura - ROM
Matriz de
almacenamiento
En el siguiente ejemplo representaremos la estructura interna de una ROM en la fig. A1.32a y
su diagrama de tiempo en la figura A1.32b.
Debido a que no es posible modificar el contenido, si se desea corregir o modificar el programa
escrito en ella, se generaron alternativas de ROM llamadas EPROM o PROM, en las que el
usuario puede programar varias veces sus necesidades o aplicaciones.
Di recci n
Sel ecci n
de Ci rcui to
(CS0, CS1, ETC.)
CICLOS DE RELOJ
ESTABLES
SALIDA de DATOS Movi mi ent o de Dat os
(Sal i da Bus de Datos)
TIEMPO CICLO DE MEMORIA
SALIDA ALTA
IMPEDANCIA
V OH
V OL
fi gura A1.32b Di agrama temporal de una memori a ROM
IIa) PROM: Este Circuito Integrado admite una programacin a travs de un equipo especial,
destinado a grabarle directamente, mediante un proceso de fusibles que se queman en las
uniones de las filas y columnas, que previamente fueron seleccionados por las direcciones del
programa (la ausencia o existencia de la unin, representa el bit en cero o uno cuando se lo
lee respectivamente).
Es evidente la ventaja que representan estos dispositivos, por la comodidad de desecharlos si
han sido mal programados o si las cantidades a producir, no superan a varios cientos de uni-
dades.
La tecnologa utilizada en la elaboracin de estos chips es la bipolar, que es de gran velocidad
(tiempos de acceso desde 40 a 100 ns).
IIb) Memorias pasivas EPROM-RPROM: (EPROM: Erasable Programmable ROM = Memoria
borrable y programable) (RPROM: Reprogrammable-Programmable ROM =Memoria borrable y
reprogramable).
Ambas memorias funcionan bajo el mismo principio, salvo en el mecanismo de borrado. En las
EPROM como se ve en la figura A1.33, se utiliza una luz ultravioleta que incide sobre una
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
37 -
ventana de cuarzo que expone a la pastilla durante unos diez minutos, para borrar la
informacin de la memoria
.
LUZ ULTRAVIOLETA
VENTANA
EPROM
Fig. A1.33 Borrado de una memoria EPROM
Todas las celdas pasan a contener un cero (se descargan) y mediante un aparato grabador
especial que aplica una tensin de aproximadamente 25 volts a un terminal del Circuito
Integrado llamado prg, y se lo regraba con un nuevo programa. El programa se mantiene dentro
del circuito durante varios aos, (generalmente ms de cinco) siempre que se tape
adecuadamente a la ventana. Adems el Chip admite ser usado o regrabado ms de 100
veces.
Su mayor inconveniente radica en el costo del dispositivo, que es relativamente caro y en no
tener siempre compatibilidad entre las conexiones de sus pines con las distintas marcas de
PROM o ROM. Su tiempo de acceso oscila entre 100 y 600 ns. La capacidad de estas
memorias varan desde unos 32 kbits a 1 o 2 Mbits actualmente. Las RPROM se pueden borrar
directamente por medios elctricos. Es de reciente aparicin en el mercado. La tecnologa
usada es la MOS (Metal Oxido Semiconductor). Son algo ms lentas que las bipolares.
IIc) EAROM - EEPROM: (EAROM: Electrically Alterable ROM - Memoria alterable
elctricamente) (EEPROM: Electrically Erasable PROM).
Esta memoria permite leer y escribir informacin con distintos grados de dificultades. La lectura
es veloz del orden de los de algunos nanosegundos) mientras que la escritura es muy lenta (del
orden de los milisegundos). El proceso de borrado es del orden de los cien milisegundos. Por
eso se dice que son preferencialmente de lectura ya que para usos generales se requieren
ciclos de memoria con duracin semejante.
Es una memoria no voltil cuya aplicacin an no se ha difundido, debido a su elevado costo,
baja densidad de integracin y grandes tiempos de escritura. La tecnologa usada para su
elaboracin es la de MNOS (Metal Nitruro Oxido Semiconductor).
III Otros tipos de dispositivos de memorias:
IIIa) CCD: Estas memorias son dispositivos de cargas acopladas, construidas segn la figura
A1.34 que aplica una seal de aproximadamente 25 volts que permite rehabilitar las celdas para
grabar la informacin nueva..
Fi g u r a A 1.34 C o n ec c i n es d e u n a M em o r i a C C D
c o n ec t o r es m et l i c o s
d e al u m i n i o
X IDO
N
Sobre una base de semiconductor de silicio del tipo N, se disponen pequeas capas de xidos
semiconductores sobre los que se depositan contactos de aluminio para las conexiones.
Debido a su sencilla geometra es fcil repetirla y se logran grandes densidades (es normal 64 k
bits o ms por mm
2
). Pero su tiempo de acceso es muy grande (del orden de los 50 a 100
mseg). Se ha pensado utilizarlas en reemplazo de los discos en el almacenaje auxiliar, pero su
elevado costo frente a la evolucin los dispositivos magnticos, lo han relegando sin
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
38 -
posibilidades. Hoy da se los utiliza como conversores de objetos iluminados a seales
electrnicas en las cmaras de televisin, tambin se usan como sensores pticos de
videocmaras o en pizarrones electrnicos
IIIb) Burbujas magnticas: Una tableta de material magntico que posea una marcada
anisotropa
(Anisotropa: Cuerpos cuyas propiedades pticas, fsicas o mecnicas no son las mismas en
todas las direcciones) en su estructura cristalina (ortoferritas, garnets, etc.) posee una serie de
dominios magnticos, distribuidos de manera tal que las reas de los dominios magnetizados
en cada una de las dos direcciones son iguales). Sin embargo aplicando un campo magntico
perpendicular a la tableta se crean dominios estables de forma casi circular y de magnetizacin
opuesta.
Estos dominios o burbujas pueden ser desplazados a travs de la tableta, sobre la que
previamente se han impreso los caminos (loops) que han de seguir, aplicando un campo
magntico rotatorio.
La presencia o ausencia de burbujas indica si hay un 0 o un 1 almacenado, y el
desplazamiento de las burbujas transforma a la tableta en un registro de desplazamiento.
Colocando sensores en los extremos, es posible usar al dispositivo como un sistema de
memoria de muy alta densidad (1,5 Mbits/cm
2
) con un tiempo de acceso medio del orden de los
500 microseg. La lectura es no destructiva. Se usa un imn permanente para producir la
polarizacin magntica.
Desde el punto de vista del sistema, este tipo de memoria puede asimilarse a un tambor o
disco, en el que el movimiento mecnico de rotacin ha sido reemplazado por el
desplazamiento de las burbujas en la tableta.
Una ventaja adicional en este tipo de memoria, es la posibilidad de efectuar operaciones lgicas
entre dos trenes de burbujas. El almacenamiento es no voltil por lo que su uso preferencial
eran los juegos en cassettes a los que se les haba eliminado la posibilidad de grabar. De
todas formas esta memoria se dejaron de usar por problemas de velocidad, costo y su patente
propietaria.
IIIc) Sistemas pticos de memoria: Uno de los sistemas que se haba desarrollado es el
UNICON 690, que tambin ha sido usado de manera experimental en la computadora ILLIAC
IV, (actualmente ya fuera de servicio y desarmada) y que fuera la base de investigacin para
los actuales CD-ROM.
El UNICON se usaba como un almacenamiento primario y consista en un rayo lser que se
enfocaba sobre una planchuela metlica en un punto que representa un bit. Para escribir un bit,
el rayo se enfocaba en el lugar seleccionado y al mismo tiempo, se aplicaba un campo
magntico cuya direccin dependa de la informacin a escribir en ese bit. El rayo calentaba la
superficie en el punto, lo que provocaba una reduccin de la fuerza coercitiva del material. Con
la aplicacin simultnea del campo magntico se produca una conmutacin del material. Al
enfriarse se restableca la fuerza coercitiva y el punto seleccionado permaneca magnetizado en
el sentido deseado.
Para la lectura, se estableca un pulso lser (luz polarizada) de muy baja intensidad, de manera
que no se produzca un apreciable incremento de temperatura. Con una analizador y un
fotodetector se meda la magnitud de la rotacin Faraday. Un 1 o un 0 almacenado, produca
valores diferentes de la rotacin Faraday.
Actualmente con los sistemas pticos, bajo investigacin, se espera lograr densidades del
orden de 1,5 Mbits/cm
2
, con un tiempo de acceso relativamente elevado (del orden de los
milisegundos), pero con una alta velocidad de transferencia. Es un tipo de memoria no voltil y
de lectura no destructiva.
A1.3.6. PROTECCIN DE PARIDAD
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
39 -
Generalmente cada posicin de memoria principal tiene asociada un bit adicional, inaccesible
para el usuario, a efectos de poder efectuar un control de paridad. El estado de este bit se
calcula automticamente despus de cada operacin y se compara con el que tena antes de
realizar la misma a modo de verificacin. Un ejemplo de este tipo de memorias son las EDO.
A1.3.7. ORGANIZACIN DE LA INFORMACIN EN LA MEMORIA
Los conceptos sobre las distintas Estructuras de Datos lo estudiaremos en el Mdulo 1-C
La informacin puede organizarse, en la memoria de un computador, segn distintos conceptos:
los ms comunes son:
Vector: es la organizacin ms clsica de las informaciones en memoria. Consiste en
almacenarlas sucesivamente, una detrs de otra. Generalmente sta es el caso de las
instrucciones de un programa, un conjunto de nmeros diferentes, etc. Se necesita entonces,
para buscar las informaciones sucesivas, de un pointer o puntero cuyo valor sea igual a las
direcciones de las informaciones almacenadas en secuencia. Este puntero generalmente es el
contador de Programa (P.C.) cuyo contenido apunta a la direccin de memoria. Si son datos el
puntero a los datos (data pointer) y si es una pila el stack pointer.
Lista: en la estructura de la lista cada dato va acompaado por un pointer que contiene la
direccin del dato siguiente. Todas las operaciones se realizan entonces, por manipulacin de
pointers.
Tabla: en este tipo de organizacin se establece una correspondencia entre dos tipos de
informacin: la informacin propiamente dicha y la informacin de entrada que permite localizar
la misma. En el caso general, la tabla se almacena bajo la forma de un vector, cada una de sus
elementos contendr la informacin de entrada o identificadora y la informacin significativa
buscada. La bsqueda en tabla exige sucesivas comparaciones de la informacin de entrada
con todas las posibles informaciones de entrada, hasta llegar a la coincidencia. En ese caso, ya
est disponible la informacin propiamente dicha. Un ejemplo de este tipo de estructura es
usada en las memorias cach.
Cola: las informaciones agrupadas segn el concepto de cola funcionan segn el principio
Primero en Entrar Primero en Salir (PEPS y en ingls FIFO: First In First Out). Es decir, se las
ha procesado en el mismo orden en el cual ingresaron.
Pila: la informacin agrupada segn un pila (STACK) funciona segn el principio: ltimo en
entrar, primero en salir (LIFO: Last In First Out). Es decir, la informacin se procesa en orden
inverso al cual ingresaron.
A1.3.8. JERARQUAS DE MEMORIAS DE UN COMPUTADOR:
Las jerarqua mas comunes son las indicadas en la figura A1.35.
Las razones para establecer una jerarqua en las memorias dentro de un computador reside
fundamentalmente en tres reas: tamao, tiempo de acceso y relacin precio-desempeo. De
estas tres la fundamental es el tiempo de acceso que determina la velocidad en el
procesamiento de los datos almacenados por consiguiente el costo del bit almacenado.
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
40 -
a ) d o s n i v e l e s :
b ) t r e s n i v e l e s :
F i g . A 1 . 3 5 D i s t i n t o s n i v e l e s j e r a r q u i c o s d e m e m o r i a s e n u n c o m p u t a d o r
C P U
C E N T R A L
M E M O R I A M E M O R I A
S E C U N D A R I A
C P U
C E N T R A L
M E M O R I A M E M O R I A
S E C U N D A R I A
M E M O R I A
C A C H E
c ) V a r i o s n i v e l e s d e m e m o r i a c a c h e
C P U
C E N T R A L
M E M O R I A M E M O R I A
S E C U N D A R I A
M E M O R I A
C A C H E d e
M E M O R I A
C A C H E d e
C A C H E d e
P r i m e r N i v e l
( I n t e r n o )
S e g u n d o N i v e l
T e r c e r N i v e l
Generalmente, los computadores modernos implementan un sistema de Memoria Virtual
consistente en una estructura jerarquizada, de por lo menos dos niveles, que es administrado
por el Sistema Operativo, de manera que aparece ante los usuarios como una gran memoria
central directamente direccionable.
Existen tres razones principales para emplear memorias virtuales:
1. Libera a los usuarios de la necesidad de ocuparse de la administracin de la memoria.
2. Hace que los programas sean independientes de la configuracin y capacidad de los
sistemas de memoria empleados durante su ejecucin.
3. Permite compartir eficientemente el espacio de memoria entre usuarios diferentes, y permite
frecuencias de acceso elevadas con un costo por bit bajo, segn el tipo de jerarqua
empleada
Respecto a cmo se administran estos espacios de almacenamiento mediante el Sistema Operativo lo estudiaremos
en detalle en el mdulo 5.
La mayora de los sistemas de memoria virtual emplean una jerarqua de dos niveles (M
1
, la
memoria central, de capacidad S
1
relativamente pequea, y M
2
, normalmente discos, de mucho
mayor capacidad S
2
).
El usuario corriente que programa en lenguaje de alto nivel, ve el sistema como una nica
memoria virtual de capacidad acotada por S
1
+S
2
. El sistema provee mecanismos automticos
para convertir las direcciones lgicas del programa del usuario (dir) en direcciones de memoria
fsicas P entonces distinguimos dos elementos bsicos:
1. Una funcin de traduccin de direcciones (f : dir P)
2. Una jerarqua de memoria.
Los distintos elementos de un sistema de memoria tpico pueden pensarse como constituyentes
de una jerarqua de memorias: M
1
, M
2
, M
3
, ....., M
n
donde cada elemento Mi est en cierta forma subordinado al precedente de la jerarqua M
i
- 1.
La CPU (y otros procesadores si los hubiera) se comunican directamente con el primer miembro
de la jerarqua M
1
; M
1
se comunica con M
2
, y as sucesivamente, a travs de los mecanismos
de referencia y extensiones.
Si llamamos:
C
i
al costo por bit de la memoria M
i
, y
T
ai
al tiempo de acceso al nivel
i
y
S
i
a la Capacidad de almacenamiento del nivel
i
,
las siguientes relaciones se verifican normalmente entre los miembros de la jerarqua :
C
i
>C
i
+1;
T
ai
<T
ai
+1;
S
i
<S
i
+1.
El objetivo de diseo de una jerarqua de memoria es obtener un desempeo prximo a la del
dispositivo ms rpido (M
1
) con un costo por bit cercano al mas barato (M
n
).
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
41 -
El desempeo de la jerarqua depende de una variedad de factores que interactan en forma
compleja. Los ms importantes son los siguientes:
1. La estadstica de referencias a memoria, es decir, el orden y frecuencia con que los
programas generan direcciones lgicas que usan la jerarqua.
2. El tiempo de acceso T
ai
de cada nivel M
i
con respecto a la CPU.
3. La capacidad de almacenamiento de cada nivel.
4. El tamao de los bloques de informacin transferidos entre representantes
sucesivos de la jerarqua.
5. Los algoritmos de asignacin de memoria que determinan a que reas de memoria
se asignan los bloques de informacin transferidos desde otros niveles.
Todos estos factores interactan en forma que an no est del todo comprendido. Los estudios
realizados, mediante mtodos de simulacin, revelan solamente las relaciones generales entre
estos factores. Las tcnicas de simulacin, son herramientas fundamentales para el diseo y
evaluacin de sistemas de memorias.
Para simplificar la exposicin, nos restringiremos en adelante a tratar las jerarquas de dos
niveles: M
1
y M
2
. Las consideraciones sobre costo y desempeo pueden fcilmente generalizar-
se a una jerarqua de n niveles.
El costo promedio por bit de memoria est dado por:
C =
C
1
S
1
+C
2
S
2
+
(1)
S1 S
2

donde C
i
denota el costo por bit de M
i
, y S
i
la capacidad de M
i
.
Para lograr el objetivo de hacer c muy prximo a c
2
, es claro que S
1
debe ser pequeo
comparado con S
2
.
Una de las medidas del desempeo de una jerarqua de dos niveles suele medirse mediante el
cociente de aciertos H que se define como la probabilidad que una direccin lgica
generada por la CPU se refiere a la informacin almacenada en M
1
. El cociente de aciertos
generalmente se obtiene en forma experimental mediante la ejecucin de un conjunto de
programas suficientemente representativos, o mediante la simulacin de la ejecucin de los
mismos, y se registra el nmero de referencias a M
1
y M
2
(denotados como N
1
y N
2
respectivamente). Entonces:
N 1
H =
N 1 + N 2
Es claro que H depende fuertemente de las caractersticas del programa as como de los
algoritmos de asignacin de memoria y el tamao de M
1
.
Si T
a1
y T
a2
denotan los tiempos de acceso a M
1
y M
2
respectivamente con respecto a la CPU, el
tiempo promedio TPA para que la CPU acceda una palabra cualquiera en el sistema de
memoria es:
TPA = H T
a1
+ (1 - H) T
a2
(3)
En la mayora de los sistemas de dos niveles, al hacerse una referencia a una palabra que no
est en M
1
, un bloque completo de informacin es transferido a M
1
desde M
2
. Solo cuando sta
transferencia ha sido completada, la palabra buscada es accedida en memoria central. El
tiempo de transferencia o reemplazo de bloques TB es tal que:
T
a2
= T
a1
+ (1 - H) TB (4)
Como la transferencia de bloques usualmente involucra operaciones de entrda-salida lentas,
entonces TB es muy grande comparado con T
a1
, y similar a T
a2
.
Si llamamos r a la relacin del cociente entre los tiempos de accesos a dos niveles de
memoria:
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
42 -
r = (5)
T
a2
T
a1
T
a1
TPA
e = (6)
Podemos indicar al factor e como indicador de la diferencia del tiempo de acceso promedio
respecto al primer dispositivo de la jerarqua, de la ecuacin (3) obtenemos la eficiencia de los
procesos como:
1
e =
r + ( 1 - r ) H
( 7 )
T a 1
e =
T P A
La figura A1.36 grafca a e como funcin de H y muestra la importancia de obtener elevados
valores de H para que e sea prximo a uno, es decir, TPA similar a T
a1
.
Otro indicador de la eficiencia de un sistema se puede obtener mediante el factor de
utilizacin u de la memoria. La eficiencia con que la memoria est siendo utilizada en un
instante dado puede determinarse como:
Su
S
u = (8)
donde S
u
es el tamao de la memoria ocupada con partes activas de programa del usuario, y S
es la capacidad total de ese nivel. Dado que la memoria central es mucho ms valiosa que la
memoria secundaria, u es til para medir el empleo de la memoria central. Las zonas que son
comprendidas por (S - S
u
) son las que se desperdician debido al fenmeno llamado de
fragmentacin externa o fragmentacin interna, o que estn ocupadas por el Sistema
Operativo, o reas de datos del sistema administrador de memoria, etc., o las ocupadas por los
programas de usuarios que no estn ejecutndose activamente.
El concepto de fragmentacin se ampla en el mdulo 5
1.0 _____________r=1___________
+
0.8
+
r=2
0.6 +
+

0.4
0.2
r=100
0 0.2 0.4 0.6 0.8
cociente de aciertos
Fig. A1.36 Grfico de cociente de aciertos
+
+
+
+
+
+
+
+
+
+
+
r=10
+

x
x
x
x x
x x x
x x x
x x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
+
Por ejemplo si r =100, para que e>0.9, H debe ser H>0.998.
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
43 -
1.3.9. MEMORIAS DEL FUTURO
Habr computadores con celdas vivientes que piensan como las mentes humanas. Segn el Dr.
Lewis Branscomb (I.B.M., jefe de Investigaciones en 1982), estamos en el ocaso del chip y
predice que en 100 aos las computadoras tendrn en promedio una memoria equivalente a
16.000 personas, y concluye que la densidad de informacin ser an mayor que la del
cerebro. Adems suena irnico que sera mas barato alcanzar nuevos conocimientos que
almacenarlos hasta su uso y acceso va satlite a grandes bancos de conocimientos
estacionados en el espacio.
La primera generacin de estos nuevos componentes (que dejarn a los chips obsoletos)
estarn basados en el efecto J osephson, descubierto por el cientfico britnico Brian
J osephson, premio Nobel de Fsica de 1973.
Estas investigaciones se basan en la sustitucin del transistor de silicio por un diminuto
sandwich de ciertos compuestos metlicos que se congelarn a una temperatura de 0 grado
Kelvin (cero absoluto -273 grados Centigrados) y funcionan como una compuerta elctrica, al
igual que un transistor, que deja pasar la corriente o la bloquea pero con mayor velocidad y
eficacia.
En otro orden de cosas, el concepto de memorias de las computadoras, va a modificarse
dramticamente hasta semejarse en la forma a las memorias vivientes. En lugar de usarse
compuestos metlicos se pueden utilizar, por ejemplo, molculas de D.N.A. (cido
desoxirribonucleico) para almacenar conocimientos.
El D.N.A. est contenido en todos nuestros tejidos celulares y es el portador de la informacin
gentica caracterstica que es transferida de una generacin a la otra.
Cada molcula de este cido puede contener una enorme magnitud de informacin, en forma
tal que se calcula que 400 molculas de D.N.A. podrn contener un enorme caudal de
informacin como la de toda la Biblioteca Nacional. Cuando los expertos descubran como
controlar y manejar esta tecnologa, estaremos en el inicio de una era de grandes cambios
sociales cuyos aspectos y consecuencias son casi imposible de predecir o imaginar hoy da.
A1.4. ARQUITECTURA DE UNA PC (Personal Computer)
Este punto se incluye en este texto a los fines de que el lector conozca la terminologa utilizada en la arquitectura mas
popular.
OBSERVACIN: No confundir PC (de Personal Computer) con P.C. (del registro Program Counter dentro de la
CPU).
La tarjeta del sistema (motherboard)
La parte ms importante de una PC es la tarjeta del sistema. Esta es una tarjeta grande, de
circuito impreso, que tiene los chips de silicio que hacen que funcione la PC. Estos chips
incluyen al procesador y al coprocesador matemtico opcional, as como los chips de soporte
que necesita el procesador para que le ayuden a realizar su tarea, como el chip de reloj, que
marca el ritmo de trabajo para toda la computadora.
Tambin en la tarjeta del sistema est el complemento bsico de la computadora, que es la
memoria de trabajo y los chips de memoria especial de slo lectura (ROM), con programas
integrados. Como la tarjeta del sistema es, claramente, la parte ms importante de la
computadora, a veces se la llama tarjeta madre. Otro trmino que puede encontrarse,
especialmente leyendo literatura de IBM, es Tarjeta Planar.
La tarjeta del sistema es el componente electrnico ms grande de la computadora y, por
mucho, la ms grande de todas las tarjetas de circuito impreso que hay en la mquina. Esta
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
44 -
llena prcticamente todo el fondo de la caja de la unidad de sistema (CPU). El espacio que est
encima de la tarjeta del sistema es donde se colocan todos los dems componentes del
sistema.
Al frente de la unidad de sistema estn las unidades de disco, disketteras, CD-ROM y,
posiblemente, una unidad de cinta. Diferentes miembros de la familia de la PC tienen diferentes
tamaos y tipos de dispositivos de almacenamiento en discos. Las unidades de disco y cinta
son las nicas partes mecnicas de la unidad de sistema y se denominan perifricos. Ellas
consumen ms corriente que la mayora de las partes electrnicas, por lo que se conectan
directamente a la fuente de poder.
Las Fuentes de Poder o de Alimentacin proveen las distintas tensiones con que funciona el
sistema.
En las PCs , las distintas unidades perifricas se conectan a un conector que tiene acceso
directo a la fuente de poder, en las computadoras que siguen el diseo antiguo (todava usado
por la mayora de los clones compatibles con IBM), las unidades estn conectadas a la fuente
de poder mediante cables.
Las unidades y la fuente de poder ocupan la mayor parte del volumen del gabinete del sistema.
La mayora del espacio restante est reservado para partes opcionales, llamadas adaptadores
u opciones. Estas son tarjetas que se enchufan en una serie de sockets llamados ranuras de
expansin, integradas en la tarjeta de sistema. Las ranuras de expansin representan una de
las ms importantes caractersticas de la PC: ARQUITECTURA ABIERTA.
Evolucin histrica de la tecnologa x86
En esta parte nos referiremos a la arquitectura de las computadoras, o sea la forma en que las
mismas son estructuradas sobre la placa madre.
Obviamente estos formatos han variado un gran nmero de veces desde que fue diseada la
primer computadora digital, por lo tanto trataremos de especificar de por qu las mismas fueron
cambiando.
A fines de los aos setenta y principio de los ochenta se logr uno de los ms importantes
hechos en la historia de la computacin: la miniaturizacin. Esto se logr con la llegada de los
microprocesadores y con ellos una nueva serie de generacin de computadoras.
En el ao 1978 eran las ms difundidas las minicomputadoras, creadas por Tandy, Apple,
Texas Instrument (TI) y Commodore, y vendidas en su mayora a particulares y pequeas
empresas. Por esta razn es que IBM (que en aquel momento era reconocido por sus
Mainframes) decidi entrar en el mercado de las minicomputadoras. Fue entonces cuando se
dise el primer procesador 8086 el cual poda procesar hasta 16 bits (compitiendo contra los 8
bits manejados por las otras marcas) pero el cual tena un inconveniente, y era que los
perifricos an trabajaban con 8 bits, por lo tanto IBM produjo su primer gran xito, el 8088, el
cual se conectaba con el mundo exterior mediante unidades de datos de 8 bits, pero que
internamente procesaba los datos en grupos de 16 bits. Es esta la llegada a principios de los
ochenta de los primeros PCs.
Poco tiempo despus que fuera introducido en el mercado este nuevo dispositivo otras
empresas importantes empezaron a fabricar sus propios PCs compatibles o clones, por esto
y por otros pequeos fracasos es que IBM se vi obligada a desarrollar otra nueva lnea, y es
as como a mediados de los ochenta se vuelve a la idea del 8086 y se saca al mercado la
nueva 80286, haciendo su aparicin la nueva PC-AT .
Para esta nueva era de computadoras se ingresa la idea de las placas con un bus de datos de
16 bits de ancho, y un bus de direcciones de 24 bits, y llamaron al sistema de bus de la placa
madre ISA BUS (Industrial Standard Architecture), incrementando el espacio de direcciones a
16 Mbytes. As tambin ingresan nuevas tecnologas de placas donde el usuario es capaz de
cambiar los atributos de su computadora simplemente con el hecho de sacar o poner una
tarjeta que se inserta al bus.
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
45 -
El tiempo de las 286 no fue muy extenso ya que pronto ingres al mercado el nuevo y mejorado
80386 de Intel que es el primer proveedor de procesadores de la empresa Compaq, que
alrededor del ao 1986 disea una mquina donde se podan procesar datos con una anchura
de 32 bits. La mayora de stos PCs incorporaban a la placa un coprocesador matemtico, lo
que aumentaba an ms las velocidades del procesamiento. Pero esto produjo un
encarecimiento, no slo por la compra del nuevo computador sino tambin porque los
dispositivos que se le deban adaptar que tambin tendran que aceptar estos avances, por lo
que se desarroll un procesador ms barato, el 80386SX el cual poda procesar internamente
los datos con un ancho de 32 bits pero tena hacia afuera las mismas conexiones del 80286.
A estas alturas las innovaciones tecnolgicas progresaban a pasos realmente gigantescos,
pero en esta ltima etapa, y por una necesidad, se vera reflejado en un primer momento no en
la parte de los microprocesadores sino en su capacidad de transmitir los datos, y es as que
hace su aparicin el nuevo sistema EISA BUS (Extended Industrial Standard Architecture) el
cual posee capacidades de Master Bus, esto significa que el procesador central no tiene por
qu ser partcipe de las acciones desarrolladas en el bus.
Las necesidades de las que hablamos se refieren a un simple hecho: nada sirve el empeo de
aumentar la velocidad en que un microprocesador puede trabajar sus datos, sin tambin
mejorar la capacidad de transmisin de los mismos, ya que el trabajar con 32 bits dentro del
microprocesador, pero desperdiciar tiempo de procesamiento en tratar de direccionar esos
datos, no permiten resaltar las virtudes del conjunto de la mquina.
La separacin de funciones introducida con la tcnica EISA llev, como era de esperar, a una
nueva estructuracin de la placa madre. El procesador central dej de ser el elemento director
en el sistema de bus. Por eso pudo ser separado de la placa madre y ser colocado en una
placa especial para l. Con eso se cre una arquitectura abierta que permite el desarrollo
continuado del procesador mediante la instalacin de una tarjeta en el sistema del computador.
Es entonces cuando aparece un nuevo microprocesador, el 80486, con un mayor poder de
integracin y que trae incorporado un coprocesador que es el 80387 de INTEL , que por lo tanto
ya no est en la placa madre ni depende del bus para entrar en contacto con el procesador
central. Tambin trae incorporado una memoria cach con el correspondiente controlador,
elementos que ya no se vern reflejados en forma de integrados en dicha placa. Esto trajo al
mercado el nuevo procesador 80486 que fuera lanzado a la venta a principios de los aos
noventa.
Uno de los ltimos cambios que introdujo Intel para abaratar los precios del procesador en el
mercado es la versin del bus estrecho, el INTEL 80486SX, que dispone al igual que su
hermano mayor , de un bus de 32 bits para su enlace exterior. La forma en la que est
construido corresponde a la del 486DX, con la nica diferencia de que el 486SX no dispone de
coprocesador matemtico. El coprocesador se sac del chip, pero se pudo adquirirse aparte
(su nombre era el 80487SX).
En el sistema del 486 se utilizaban tres tipos diversos de placa que se denominaban placa
standard, placa altamente integrada y passive blackplane.
Una placa standard tena una arquitectura parecida a la de una AT-286 y bsicamente estaba
compuesto por los mismos, o casi de los mismos elementos, incluyendo el bus ISA.
La placa altamente integrada surgi del desarrollo de la tecnologa del Laptop (computadoras
portatiles), donde lo que se persegua era crear un sistema que ocupara el menor espacio
posible. En estos modelos no se tuvo en cuenta la posibilidad de ampliacin con nuevas tarjetas
o ms unidades.
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
46 -
D
R
A
M
(1)
(2)
(3) (4)
(5)
(6) (7) (8) (9) (10) (11) (12)
RESET
(1) - CONTROLADOR DRAM
(2) - QUARTZ - RELOJ
(3) - CONTROLADOR DMA
(4) - CONTROL DE BUS LOCAL
(5)- CONTROLADOR DE
INTERRUPCIONES
(6) - TEMPORIZADOR / CONTADOR
(7) - CONTROLADOR DE Diskette
(8) - CONTROLADOR DE DISCO
(9) - CONTROLADOR DE RED
(10) - PUERTOS
(11) - GRFICOS (MONITOR)
(12) - EPROM
Figura A1.37 DIAGRAMA DE BLOQUES DE LA ARQUITECTURA DE UN COMPUTADOR y486 (PC)
bus de
datos
bus de
direcciones i486
Bus de Control
El tercer tipo de placa madre, llamado passive blackplane, ofreca una arquitectura muy
abierta. En la placa madre se encuentraban, bsicamente, el sistema de bus con las piezas
necesarias para su administracin y sus controladores, as como un soporte bsico de
memoria de trabajo. El procesador principal se encontraba en una tarjeta de procesador propia
que se conectaba a la placa madre por medio de un slot. Estos sistemas suelen disponer de
muchas conexiones para tarjetas de ampliacin, lo que los haca muy modulables y
especialmente apropiados como computador central de una red, tambin denominado LAN
server o servidor de Archivos file server.
Puesto que la arquitectura del bus EISA todava no se encontraba al alcance de todos los
productores de computadores, y se queran lanzar al mercado rpidamente la nueva generacin
de PCs, los primeros 486 se montaron sobre el bus ISA, cuya eficiencia ya estaba probada.
An ahora, por ser ms barato y no siendo necesario la utilizacin de recursos ms modernos
para las aplicaciones generales, la mayora de esta generacin de computadoras se monta
sobre placas con arquitectura standard.
Pero el desarrollo del nuevo bus ofreca a los fabricantes muchas ms posibilidades de emplear
diferentes arquitecturas de la placa madre, por ofrecer el bus EISA la separacin entre la
direccin del bus y el procesador central. Pronto llegaran al mercado los primeros
computadores que dispondran de una tarjeta especial para el procesador. Acompaando a
estos avances de comunicacin de datos mas rpidos, en los ltimos tiempos las computadoras
con procesadores superiores al Pentium tambin necesitan usar nuevas generaciones de
buses, logrando as trabajar con datos de 32 bits, 64 o 128 bits. a altsimas velocidades.
Este nuevo diseo de placas, donde es factible trabajar con mdulos, impuls la fabricacin por
parte de diversas marcas de nuevas arquitecturas. Por ejemplo la que Compaq cre fue uno de
los primeros modelos de PC capaces de multitarea. Se basa en la arquitectura FLEX/MP
(Flexible Advanced System Architecture with Multiprocessing Support). Este sistema permite la
instalacin de dos o mas procesadores centrales en la placa de procesadores, y el campo de
aplicacin sobre todo queda cubierto por sus funciones como servidor de red o computador
central multiusuario.
Los PC corrientes basan su arquitectura en un solo microprocesador. La lnea de productos
desarrollada por INTEL, desde el procesador 8088 hasta el Pentium, pasando por el 80286,
80386 y el 80486, es una lnea compatible siempre hacia adelante, esto es, un procesador 486
puede ejecutar sin errores el cdigo de un programa creado para un 8088.
Estos procesadores tambin se llaman procesadores CISC (Complete Instruction Set
Computer). Pero debido a que diversas aplicaciones (por ejemplo el procesamiento de grficos)
se necesitan de un complejo y muy extenso juego de instrucciones es que se saca al mercado
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
47 -
microprocesadores como el i860, el cual solo puede ejecutar un nmero limitado de rdenes
mecnicas. Si bien las ejecuta a gran velocidad ya que pose una integracin tan compacta
como el 486, el juego de rdenes posibles de interpretar es menor, dndole el nombre a estos
procesadores RISC (Reduced Instruction Set Computer).
A manera de comentario y volviendo al tema de las placas para multiprocesamiento, existen
computadores que utilizan los dos tipos de procesadores el 486 y el 860, por ejemplo el BORSU
4860 presentado por la casa BORSU, donde el i860 fue instalado especialmente para
actividades grficas, dndole una capacidad de grficos alucinante. Otros diseos incorporan
hasta 64 procesadores 486, generando un multiprocesamiento en paralelo.
NOMBRE AO LONGITUD DEL
REGISTRO
CAPACIDAD DEL
BUS DE DATOS
CARACTERSTICAS
8086 1978 16 16 Primer CPU con un integrado de 16 bits
8088 1980 16 8 Procesador usado en la PC
80286 1982 16 16 Primer PC con un bus de datos de 16 bits
80386 1985 32 32 Autentico CPU de 32 bits en un integrado
80386SX 1988 32 16 80386 con un bus de 80286
80486 1989 32 32
Versin ms rpida de 386 con coprocesador incorporado
80486SX 1991 32 32
Versin ms rpida de 386 sin coprocesador matemtico
80486DX,
DX2, DX4
1992 32 32 Versin con relojes muy rpidos
Pentium 1994 32/64 32/64 Mezcla de RISC y CISC
Pentium Pro 1996 32/64 32/64 Mejora el anterior
Pentium II 1997 32/64 32/64 idem
Pentium MMX
1997 32/64 32/64 Agrega un set de Instrucciones Multimedia
Pentium II + 1998 32/64 32/64 Idem con interfases mejoradas
Merced
1999 64 64 Diseado para el entorno UNIX
Tabla A1.2 familia de procesadores INTEL
No se puede asegurar cuando llegar y dnde estar el lmite de estos continuos avances
tecnolgicos, pero ya se estn viviendo algunos resultados reflejados en esta nueva era, donde
no se puede, a estas alturas, pensar en hacer un trabajo sin la ayuda de una computadora con
un procesamiento veloz.
Conceptos bsicos de bus en PC
Como se ha explicado, un bus es un conjunto de conexiones elctricas que siguen una ruta
comn en la computadora. En lugar de describir cada conexin individual separadamente, los
usuarios se refieren a todo el grupo de conexiones como el bus. Tradicionalmente se suele
distinguir entre el bus de direccin, el de control y el de datos. El bus de direcciones consiste de
tantas lneas de conexin como bits compongan el nmero utilizado para localizar los datos (su
direccin en memoria central). En el microprocesador 8088 el bus de direcciones tiene
solamente 20 conexiones paralelas diferentes, y cada una de ellas esta conectada desde un pin
en el microprocesador hasta un pin en la memoria en la PC. Los buses de control y de datos
son similares al bus de direcciones en cuanto a que cada seal de ellos esta conectada desde
un pin en el microprocesador hacia un pin en cada dispositivo de la PC. Mientras que el bus de
control incluye seales que indican cuando, por ejemplo, los datos estn disponibles para ser
ledos, los buses de direcciones y de datos se utilizan para acceder a dispositivos y la
memoria.
Los dispositivos que se agregan a la computadora lo hacen a travs de una plaqueta de
expansin que se inserta en un slot de expansin en la motherboard. En la plaqueta de
expansin se encuentran los circuitos que aumentan la funcionalidad de la PC, por ejemplo, los
modems internos o los adaptadores de red. El slot de expansin al cual se enchufan es un
conector externo que contiene pines que se comunican con el bus de control, de datos y el de
direcciones. El conjunto de las seales que conectan los slots de expansin es conocido como
el bus de expansin el cual incluye los buses de control, de datos, de direccin, as como
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
48 -
tambin conexiones adicionales que proveen energa y conexin a tierra para la plaqueta de
expansin.
En las primeras PCs el bus de expansin era la nica forma de expandir la capacidad de
memoria y de incorporar dispositivos adicionales. Actualmente las computadoras diferencian la
memoria de los otros dispositivos y proveen buses separados para cada uno de ellos. Los slots
de expansin no han sufrido cambio alguno pero existe un bus adicional llamado bus de
memoria en la computadora que suele ser una parte integral de la motherboard.
El bus es un concepto de ingeniera que permite una arquitectura abierta que es
extremadamente importante para los usuarios y los fabricantes que deben disear adaptadores
que se acoplen con cualquier computadora compatible con IBM. Se disearon ranuras de
expansin generales, cuyos usos no estaban definidos. Lo que estaba definido era el tipo de
conexin que deba hacerse con cada una de las patas de la ranura de expansin. Un juego de
patas se destina para la corriente, por ejemplo, otro para la E/S de datos, otro para las
direcciones, etc. Todos las seales, frecuencias, tensiones, posiciones y en el aspecto
mecnico estn NORMALIZADAS.
Bus de memoria
El aumento de la velocidad de los microprocesadores torn imprescindible que se mejorara la
conexin con la memoria ya que la velocidad del bus de expansin no resultaba suficiente. Para
ilustrar esta situacin consideremos lo siguiente: las plaquetas de expansin tpicas soportan
dispositivos en los cuales el tiempo requerido para transferir datos desde y hacia el
microprocesador es descartable comparado con el tiempo que lleva juntar los datos para
transferir. Por ejemplo, el tiempo de acceso a un disco rgido es de 10 milisegundos mientras
que un solo ciclo de bus tarda 125 nanosegundos. Por otra parte, el tiempo de acceso a la
memoria RAM es de 50 a 200 nanosegundos. Esto llev a que se separara el bus de memoria
del bus de expansin. Compaq fue la primera computadora en hacerlo, seguida rpidamente
por la mayora de los fabricantes. El diseo de Compaq cre el bus de memoria separado que
corre a la velocidad completa del microprocesador y se mantiene el bus de expansin
compatible con las plaquetas de expansin existentes. Las plaquetas de expansin de memoria
de Compaq se enchufaban en un zcalo propietario especial que era controlado a la velocidad
completa del microprocesador en lugar de la velocidad menor del bus de expansin.
Este zcalo propietario no impide que las plaquetas de memoria se puedan enchufar a los
zcalos de expansin pero habilita que se agregue en memoria un bus dedicado que opere ms
rpidamente. El bus de memoria puede utilizar conectores en apariencia similares a los slots de
expansin y la memoria adicional puede estar incluida en plaquetas con circuitos impresos o,
ms comnmente, en mdulos de memoria (SIMMs) que se insertan en pequeos slots en la
motherboard.
Bus de expansin
La eleccin de una plaqueta adicional para la PC est determinada por el tipo de bus de
expansin con que cuenta la computadora. Los buses disponibles actualmente han surgido en
respuesta a los avances en la velocidad y rendimiento de otros componentes de la arquitectura
de las microcomputadoras.
Tipos de buses de expansin
1981 - Primer bus de expansin
En 1981 hace su aparicin el bus de expansin original IBM PC de 8 bits y 4,77 MHz.
Posteriormente con la introduccin de la IBM AT y su procesador 80286 de 16 bits, el bus
original se transforma en lo que hoy conocemos como diseo ISA (Industry Standard
Architecture), extendindose a 16 bits y 6 MHz.
El bus ISA se ampliara posteriormente a 8 MHz. Este bus es compatible con el bus PC. Se le
puede utilizar igualmente con tarjetas de ampliacin de 8 bits. O sea que se pueden insertar
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
49 -
indistintamente tarjetas de 8 y 16 bits. Pero eso crea el problema de como reconocer el
procesador de que tipo de tarjeta se trata. Por ese motivo se aadieron mas lneas de control,
estas le indican por seales al procesador si la siguiente transmisin de datos ha de ser de 8 o
de 16 bits. La compatibilidad del bus ISA/ATes interesante, pero tiene la desventaja de que,
para transmitir con tarjeta de 16 bits, el procesador ha de esperar hasta recibir una seal antes
de empezar la transmisin.
El bus ISA de 16 bits es un bus de datos basado en un diseo de conector de expansin de 98
patas, emplea conectores de doble lado, es decir que cuando se le enchufa en una tarjeta de
expansin, cada posicin del conector son, de hecho, dos conexiones, una en el lado A de la
tarjeta y otra en el lado B. Los conectores del lado B llevan seales como las lneas de 12 y 5
volts para la corriente, lneas de interrupcin y otras . Este diseo, como se puede ver, separa
las lneas de seal y lneas de direcciones de las lneas que proporcionan corriente y otros
datos al sistema, reduciendo la posibilidad de interferencias. Generalmente no todas las tarjetas
utilizan las 98 patas; si es as el fabricante ahorra dinero eliminando la pista dorada para esa
posicin de conector.
El bus ISA proporciona soporte de direccionar hasta 16 MBy, mientras que el bus de la PC solo
direcciona 1 MBy ( ya que solo tena disponible 20 lneas de direccin: 2
20
=1.048.576 bytes). El
incremento en la capacidad de direccionamiento fue logrado con las 4 lneas de direccin de
memoria que fueron aadidas al conector extendido de la AT (2
24
=16.777.216 bytes) por el
80286.
Si bien se han hecho numerosos presagios acerca de su desaparicin a medida que fueron
apareciendo tecnologas ms avanzadas, continua siendo hoy en da el bus de expansin para
PC ms popular y compatible, con algunas adecuaciones a la norma.
1987 - IBM introduce la arquitectura Microcanal (MCA)
IBM introduce el bus de arquitectura microcanal (MCA : Micro-Channel Architecture) de 16 y 32
bits en sus modelos PS/2. La caracterstica ms destacable es la absoluta incompatibilidad con
el bus ISA. Puesto que se realiz con principios nuevos, este bus era ms rpido y ms
sencillo. Como un bus consiste en un conjunto de lneas de seal y la definicin de un bus debe
especificar el objetivo de cada lnea y las relaciones de temporarizacin de las seales
elctricas. IBM defini un Nuevo Standard.
El bus MCA de 16 bits est diseado para aceptar adaptadores que tengan 58 patas (con
conectores de ambos lados). De las 116 conexiones, 16 son de datos y 24 son lneas de
direccin que permite direccionar hasta 16 MBy. Este bus es adecuado para procesadores 286
y 386 SX. Sin embargo los procesadores 386 y superiores pueden transferir hasta 32 bits a la
vez y direccionar hasta 4 GBy. Para obtener ventaja de esto se necesita un bus de 32 bits.
El bus MCA de 32 bits acepta adaptadores con 93 conectores. Hay 32 lneas de direccin que
proporcionan 2
32
direcciones diferentes, lo que significa que el procesador puede direccionar
hasta 4 GBy de memoria.
Una de las ventajas del MCA es que usa adaptadores que generan menos interferencia
elctrica que los adaptadores antiguos, proporcionando por lo tanto una integridad mejorada de
datos. En segundo lugar MCA puede responder mejor a las peticiones de atencin del hardware
lo que aumenta la confiabilidad y minimiza la prdida de datos.
Los sistemas y las tarjetas MCA no necesitan ser configurados con jumpers y DIP, pues poseen
un nmero caracterstico inconfundible denominado POS (Programmable Option Select). El
POS hace ms fcil la instalacin, ya que utiliza un archivo, el ADF (Adapter Definition File) en
el que estn guardadas todas las configuraciones posibles para todas las tarjetas.
La performance de este bus resulta muy superior a la del bus ISA pero al no ofrecer
compatibilidad con la amplia gama de perifricos creados para dicha arquitectura, no tuvo el
xito que IBM haba vaticinado.
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
50 -
La firma IBM anunci al MCA junto con su lnea PS/2 de PC el 7 de abril de 1987. Al principio
solamente la IBM fabricaba computadoras MCA. La mayora de los fabricantes de mquinas
compatibles con la IBM inicialmente se resistieron al cambio hacia MCA.
1988 - Compaq incorpora la arquitectura EISA en sus modelos Compaq Desk Pro
El 13 de septiembre de 1988, un consorcio de nueve compaas, dirigidos por Compaq, anunci
que estaba desarrollando una alternativa al MCA. Este consorcio vot para mantener la venta
de computadoras del estilo anterior, que estaban basadas en ISA. La alternativa a MCA fue
denominada EISA (Extended Industry Standard Architecture). Desde el principio estuvo claro
que el desarrollo del EISA estaba basado en las necesidades de venta y no en las de ingeniera
Los slots EISA mantenan el diseo bsico de ISA, pero son mas profundos, caracterstica que
les permite acomodar una segunda fila mas corta de contactos. De esta forma es posible
conectar tarjetas ISA en slots EISA, los cuales se acomodan en la primera fila de contactos
compatibles con ISA. Las tarjetas EISA, en cambio, pueden alcanzar las dos filas de contactos.
Hay un dispositivo de seguridad que impide que las tarjetas ISA puedan introducirse hasta las
conexiones EISA.
El hecho de haber mantenido la compatibilidad con el bus ISA significa que el bus EISA tambin
tiene una frecuencia de 8 MHz. Es un bus completo de 32 bits y con 32 lneas de direcciones,
de modo que esta pensado para las prestaciones de los procesadores de 32 bits como el 386 y
486.
Desde el punto de vista tcnico, la diferencia principal entre MCA y EISA es que el bus MCA es
asincrnico y el EISA es sincrnico. Los buses sincrnicos trabajan con una frecuencia de reloj
invariable e independiente de la velocidad con que puedan transmitir datos los mdulos. Un bus
asincrnico, por el contrario, obtiene su frecuencia de la unidades encargadas de la
transferencia de datos. A travs de las lneas del bus, la unidad receptora le comunica a la
unidad emisora que ha recibido los datos y que ya puede enviarle ms. Este modo de
transmisin de datos presupone una estructura mucho ms complicada en el bus asincrnico
que en el sincrnico. El bus asincrnico tiene, a cambio, un potencial de rendimiento mucho
mayor.
Cada tarjeta de ampliacin EISA lleva un nmero de referencia, inconfundible determinado por
la sociedad EISA. Este nmero puede ser ledo por el procesador para saber qu tarjeta se
encuentra en dnde. De esta manera la configuracin del hardware y software resulta mucho
ms sencilla.
Si bien en principio el bus EISA logro resolver el problema de compatibilidad con los
dispositivos ISA, debido a lo costoso y complejo que resulta incluir estos buses en las
motherboards, EISA tampoco logro desplazar al bus ISA, como estndar entre PCs.
Bus local
Con los diseos convencionales, casi todo lo que viene y va del procesador se enva a travs
del bus principal del sistema. Incluso los nuevos diseos de bus, que pueden llevar 32 o 64 bits
de datos generalmente funcionan a baja velocidad en comparacin con la capacidad del
procesador. Las mquinas de bus local quitan del bus principal aquellas interfases que
necesitan una respuesta rpida: memoria, vdeo y unidades de disco.
Las primeras implementaciones de bus local fueron desarrolladas para el trfico de datos
grficos; el sistema era provisto con capacidades grficas de bus local que los fabricantes
ponan en sus motherboards. En 1991 apareci el primer estndar de bus local cuyo objetivo
era facilitar el upgrade (actualizacin) de los perifricos (tales como plaquetas grficas y
controladoras de disco) y aprovechar la interconexin del bus local. Se trataba del bus local
VESA, una adaptacin de la estructura del bus para el 486. Posteriormente la especificacin del
bus PCI de Intel abri la puerta a nuevas capacidades en materia de local bus.
1992 - Aparece la norma VESA como estndar para la arquitectura del bus local.
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
51 -
Video Electronics Standard Association (VESA) anuncia el lanzamiento de la especificacin
VESA Local Bus (VL-Bus). El estndar de bus VL 1.0 fue ratificado en agosto de 1992; el
estndar VL 2.0 se adopt cerca de un ao despus. El bus VL es de diseo abierto, lo que
significa que cualquiera que quiera construir productos que se adhieran a la especificacin es
libre de hacerlo.
El VL 1.0 soporta una ruta de datos de 32 bits, pero tambin puede usar dispositivos que
transfieren 16 bits a la vez. En cambio VL 2.0 es un bus de 64 bits que concuerda con los
procesadores de PC ms recientes. El bus esta implementado mediante un conector tipo MCA
con 112 patas. Es un conector de 16 bits con las patas redefinidas para soportar una ruta de
datos de 32 bits. El VL 1.0 soporta velocidades de hasta 40 MHz en cualquier ranura de
expansin y la especificacin 2.0 est limitada a 50 MHz. La arquitectura de 32 bits permite una
alta tasa de transferencia de datos de hasta 132 MBy por segundo. Un bus VL puede tener
hasta 10 dispositivos (bajo la revisin 2; la revisin 1 soporta solamente tres ranuras). Los
conectores VL estn colocados en lnea con los conectores existentes ISA, EISA o MCA en la
tarjeta de sistema.
Otra caracterstica de diseo interesante y til del bus VL es que un dispositivo de 64 bits opera
en una ranura VL de 32 bits como un dispositivo de 32 bits, y que un dispositivo de 32 bits
puede trabajar en una ranura de 64 bits pero, por supuesto, solamente soporta 32 bits.
La configuracin de dispositivos de bus VL es manejada completamente en hardware, lo que
significa que el software de aplicacin y de sistema no tiene que comprender al bus VL para
trabajar adecuadamente con l.
Las primeras controladoras de vdeo de bus local no eran compatibles con todos los perifricos
y solo podan implementarse en las motherboards de determinados fabricantes. El estndar
VESA Local Bus cubre un espectro mas amplio de diseos pero no logra resolver todos los
problemas de compatibilidad. Por esta razn, suele venir acompaado con una o varias ranuras
de arquitectura ISA o EISA.
1993 - Intel introduce PCI como alternativa a VL Bus.
El estndar PCI est diseado y mantenido por el Peripheral Component Interconect Special
Interest Group o PCI SIG. El bus local PCI puede tener una ruta de 32 o 64 bits para
transferencias de datos de alta velocidad. El foco del PCI SIG es mantener un estndar que
pueda crecer con el diseo de hardware y tambin sea funcional a travs de plataformas
mltiples. Como el diseo no depende de la familia 86 de procesadores, puede trabajar con las
PC actuales y con diseos futuros sin tomar en cuenta el procesador utilizado. Es un bus
intermedio es decir que no esta conectado directamente al bus de la CPU sino que acta como
buffer, con circuitos que permiten puentear el camino entre la CPU y los perifricos. La
independencia del bus PCI del bus de la CPU posibilita que ambos corran a velocidades
diferentes.
El bus PCI es como una autopista de datos paralelos que corre a lo largo de un bus ISA, EISA,
o MCA. El procesador del sistema y la memoria se conectan directamente al bus PCI, y hay una
conexin separada a travs de un puente PCI con el bus estndar(ISA, EISA,o MCA).
El diseo de 32 bits es capaz de transferir datos a velocidades de hasta 132 MBy por segundo,
mientras que el diseo de 64 bits puede transferir informacin a una velocidad de hasta 264
MBy por segundo. La especificacin proporciona hasta 120 conexiones para una tarjeta
estndar de 32 bits y 184 para las tarjetas de 64 bits. Este es un diseo multiplexado, donde
varios tipos de seal se transportan por las mismas patas. De hecho las direcciones y los datos
estn multiplexados en las mismas patas. Por lo tanto, una sola transaccin del bus PCI consta
de dos fases: una de direccionamiento, seguida por una o mas fases de datos. El dispositivo
dueo enva una direccin por medio de un juego de patas. El dispositivo sealado se pone en
modo adecuado para recibir datos o instrucciones, y luego el dueo le manda una rfaga de
datos en las mismas patas usadas para la llamada despertadora. Despus de que las
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
52 -
direcciones estn establecidas, el dueo puede continuar enviando datos sin necesidad de
repetir la direccin, debido a que el dispositivo de destino ya esta escuchando.
Otra caracterstica de diseo que simplifica al bus bsico es la descodificacin distribuida de
direcciones. Esto significa que cada dispositivo conectado al bus local PCI, se encarga de su
propia descodificacin de direcciones.
Una pieza fundamental en el diseo de PCI es el chip de puente que conecta al bus PCI al bus
del microprocesador. Los perifricos PCI son conectados directamente al bus PCI permitiendo
lograr la independencia del microprocesador. Es decir, cuando aparece un nuevo
microprocesador no es necesario modificar y reemplazar la estructura del bus y de los
perifricos conectados a l; solo es necesario reemplazar el chip que acta como puente entre
el bus PCI y el host.
Es posible conectar al bus PCI otros buses de expansin: de esta forma, los dispositivos que
han sido diseados para los buses mas populares pueden emplearse en los sistemas con bus
PCI.
Las plaquetas PCI cuentan con las especificaciones de configuracin impresas en la memoria;
las mismas proveen informacin al sistema durante la etapa de booteo permitiendo que las
rutinas de BIOS puedan configurar automticamente cada dispositivo PCI en funcin de los
recursos que ya estn siendo utilizados por otras plaquetas. Estas caractersticas resultan en
que ya no es necesario configurar los switches o jumpers de las plaquetas.
PCI presenta muchas ventajas si se lo compara con las otras tecnologas de bus local, ya que
ofrece una performance mas elevada, mayor compatibilidad y la posibilidad de configurar
automticamente los perifricos PCI. Adems, promete ser la mejor alternativa para aprovechar
al mximo la capacidad del procesador Pentium.
Principales diferencias entre el bus VESA y PCI
1) PCI es un bus intermedio, el VL de VESA est conectado directamente al bus de la CPU. Al
aislar el bus PCI de la CPU, el diseo PCI puede soportar ms dispositivos que el VL
porque los mismos no recargan el bus de la CPU.
2) Las tarjetas PCI son de menor tamao que las de VL.
3) Las especificaciones originales de VESA y PCI describan buses de 32 bits, pero ambas han
aumentado esta barrera para coincidir con la introduccin de la nueva generacin de
procesadores de 64 bits.
4) Tanto el bus VESA 64 como el PCI 2.0 utilizan lneas de direcciones y datos multiplexadas.
5) Una ventaja del PCI es su configuracin automtica.
Memorias en PC
En una computadora, preguntar cunta memoria es capaz de soportar es equivalente a
preguntarse cunta memoria es capaz de direccionar. No es el lmite fsico del chip lo que
establece el mximo de memoria posible sino la capacidad de asignar a cada byte una
direccin diferente. En general la cantidad de Bytes estn directamente relacionados por el
costo, o sea, la cantidad de Megas que se pueden pagar.
Existen 3 tipos de memoria en un Computador Personal:
Memoria RAM: Es un espacio de almacenamiento temporal de datos o instrucciones del
procesador. El trmino temporal es porque al apagar el equipo todos los datos se pierden o sea
que es voltil. Esta memoria esta dedicada a guardar programas y datos mientras la
computadora esta trabajando con ellos. La cantidad de RAM instalada determina en muchas
formas el tamao y el alcance de las operaciones que puede realizar una computadora.
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
53 -
Memoria ROM: Es un espacio de almacenamiento pregrabado de instrucciones y datos. Para el
usuario es un rea de memoria permanente. Son chips grabados y no puede ser cambiado el
contenido que se encuentra en ellos .
Hay una derivacin moderna de la ROM que se llama flash-rom : se pueden grabar y cambiar
los datos mediante un hardware y software especial.
Memoria CMOS: Es una memoria de muy bajo consumo alimentada por bateras, que permite
en la PCs guardar informacin bsica de su configuracin y los perifricos que tiene conectados
el equipo. El programa setup es el que graba el contenido de esta memoria.
Introduccin al chip de Memoria:
Los datos se almacenan en bytes (ocho bits), cada uno de los cuales puede tomar valor de 0 1.
Las memorias contienen pequeas celdas de bits que pueden estar con carga (valor 1) o sin
carga (valor 0). Para que la carga se mantenga constante en las celdillas se debe realizar un
proceso continuo de recargar las celdas con carga. Si no se realiza y se deja mas del tiempo
estipulado, la celda puede descargarse y pasar del valor 1 al valor 0 . Como se ha explicado,
este proceso se llama ciclo de refresco de la memoria y es el que mantiene la integridad de
los datos. Existen memorias que tienen la ventaja de no necesitar refresco y gracias a ello son
mas rpido (teniendo en cuenta la perdida de tiempo que implica el refresco). Las memorias
con refresco se llaman dinmicas y las memorias sin refresco son estticas.
Del chip al SIMM:
Las viejas IBM PC tenan la posibilidad de agregarle hasta 256 KBy en la motherboard
utilizando chips de memoria sueltos que se instalaban en zcalos. Para expandir el equipo se
colocaban mas chips, se movan switches y se configuraba el sistema para que se utilizaran
esas memorias adicionales.
La ventaja de los zcalos con respecto a otros equipos era que las memorias ya estaban
soldadas. Sin embargo, la barrera de los 256 KBy era la limitacin del equipo y slo mediante
tarjetas especiales y bastante costosas en su momento, se poda expandir la memoria hasta los
640 KBy. De esta forma, en un espacio reducido, se poda concentrar mucho espacio de
memoria.
Los Circuitos Integrados con patitas o Chips, que se introducan en los zcalos en la plaqueta
madre son los llamados SIPs.
Los mdulos de memoria que vienen en plaquetas preimpresas similares a las que se colocan
en los slots de ampliacin pero mucho mas pequeos son los SIMM. Estos ltimos son los mas
comunes. Si bien se ha perdido la posibilidad de reparar un solo chip (estn soldados), se gana
en cambio la facilidad del recambio, precio y capacidad de ampliacin en forma sencilla.
Los SIPs y los SIMMs de las PCs tienen 9 chips de memoria que conforman todo un banco. El
noveno chip se utiliza para chequeo de paridad de cada byte de memoria; y es un bit que
permite detectar errores de hardware de las memorias.
Los SIMMs se colocan en bancos. La cantidad de bancos vara de acuerdo a la arquitectura del
motherboard. Por lo tanto, dependiendo de la cantidad de bancos que haya, se puede
aumentar la memoria en la computadora. Cada motherboard tiene una combinacin especfica
para la distribucin de los SIMMs en los bancos.
Los ltimos desarrollos son las memorias SDRAM (Syncronic DRAM) ESDRAM (Enhanced
Syncronic DRAM), DDR-SDRAM ( Double Data Rate - SDRAM), RDRAM (Rambus Direct
RAM), y SLDRAM (SyncLink Direct RAM).
Las SDRAM brindan tasa de rfagas de transferencia de datos de hasta 150 MHz que lo hacen
operar entre 10 y 20 ns.
Las ESDRAM (SRAM Mejoradas) tienen bajos tiempos de espera y alto ancho de banda
continuo.
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
54 -
Para mejorar el ancho de banda, es posible transferir datos en cada ina de las transiciones del
reloj (Subida y bajada del pulso). Esta tecnologa se denomina DDR tasa doble de datos que
aprovecha la DDR-SDRAM tambien llamada SDRAM II.
La memoria que revolucionar el almacenamiento es sin dudas la RDRAM desarrollada por una
pequea firma de California llamada Rambus. Utiliza un bus de memoria de 500 MHz de 8 bits y
transferencias en ambas transiciones de reloj.
La SLDRAM fabricada por SyncLink es un nuevo standard semejante a las RDRAM con un
ancho de banda de 800 Mbits por segundo a 400 MHz con un bus de datos doble, manejado
por rdenes y orientado a paquetes de datos de 16 bits y 200 MHz.
La barrera de los 64 KBy en las PC
Todos sabemos que el nmero 64 KBy provienen de la cantidad mxima de memoria que
puede ser direccionada con un valor de segmento de registro que no cambia. Cuando un
programa se esta ejecutando tiene que encontrar su camino a las diferentes partes del
programa y a sus datos. Utilizando el registro de segmento de cdigo para las partes del
programa y el de segmentos de datos para localizar los datos.
Si cualquiera de estos registros es fijo, entonces ese cdigo de programa o datos no puede ser
mayor de los 64 KBy que puede direccionar un solo valor de segmento de 16 bits. Pero si
cualquiera de ellos puede ser cambiado dinmicamente durante la operacin del programa, no
hay lmite sobre el tamao del cdigo del programa ni los datos.
Organizacin de la memoria de la PC.
El sistema operativo DOS fue desarrollado para procesadores 8088 y 8086 que direccionan
hasta 1 MBy (20 bits). Para ello se dividi el espacio de direcciones completo de 1 MBy en 16
bloques de 64 KBy cada uno, se reservaron 640 KBy (10 bloques) para las aplicaciones de los
usuarios y el sistema operativo; y el resto esta destinado para la memoria del Sistema
compuesta por la que necesita el Video, la ROM del sistema y la ROMs de expansin.
Bloque
Espacio de Direcciones
Uso
0 1 64 KBy Memoria comn para el usuario hasta 64 KBy
1 2 64 KBy Memoria comn para el usuario hasta 128 KBy
2 3 64 KBy Memoria comn para el usuario hasta 192 KBy
3 4 64 KBy Memoria comn para el usuario hasta 156 KBy
4 5 64 KBy Memoria comn para el usuario hasta 320 KBy
5 6 64 KBy Memoria comn para el usuario hasta 384 KBy
6 7 64 KBy Memoria comn para el usuario hasta 448 KBy
7 8 64 KBy Memoria comn para el usuario hasta 512 KBy
8 9 64 KBy Memoria comn para el usuario hasta 576 KBy
9 10 64 KBy Memoria comn para el usuario hasta 640 KBy
A 11 64 KBy Memoria de vdeo
B 12 64 KBy Memoria de vdeo
C 13 64 KBy rea de extensin o expansin de RAM
D 14 64 KBy rea de extensin o expansin de RAM
E 15 64 KBy ROM-BIOS del sistema
F 16 64 KBy ROM-BIOS del sistema y ROM-BASIC
Tabla A1.3 Bloques y direcciones de Memoria central en una PC.
Expansin de la memoria
Lotus, Intel y Microsoft definieron un estndar (EMS por Expanded Memory System) para usar
con un hardware especial y de esta forma expandir la memoria y guardar en esa expansin una
mayor cantidad de datos (pero no correr programas ).
La solucin propuesta era reservar un rea de memoria de 64 KBy (marco) que se divida en
varias pginas de 16 KBy cada una.
Toda la memoria adicional estaba en una tarjeta especial independiente de la memoria de la
computadora .
La tarea de acceder a este tipo de memoria, es decir a mas de 64 KBy en datos, involucra un
software que se ocupaba de:
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
55 -
encontrar las pginas ;
traerlas al marco;
transferir los datos;
luego repetir la operacin para el resto de los datos.
Este tipo de memoria es lo que se denomina memoria expandida.
Desde el 80386 en adelante los procesadores permiten utilizar la memoria de la PC, simulando
memoria expandida sin necesidad de tarjeta especial.
Extensin de la memoria:
Es la memoria que supera el primer megabyte dentro de la PC.
Los procesadores 286 en adelante permiten trabajar en un modo que se llama protegido para
alcanzar direcciones mayores al megabyte. Para trabajar como una 8088 vuelven al modo de
direccionamiento mximo denominado modo real ( hasta un megabyte).
La memoria que se puede acceder en modo protegido se llama memoria extendida. En una
486, por ejemplo, sta podra llegar, a 4096 MBy e inclusive hasta 4 Gigabyte.
Hay tres formas de usar la memoria extendida bajo D.O.S.:
1- Como almacenamiento.
2- Como emulacin de memoria expandida.
3- Para aplicaciones con acceso a memoria expandida en modo protegido.
Memoria virtual en la PC.
Este concepto se estudia en el mdulo 5
La memoria virtual es un servicio proporcionado por un sistema operativo en modo protegido
(como el OS/2 o el MS DOS ), que trabaja en conjuncin con las caractersticas integradas del
procesador para usar almacenamiento externo (como un disco) y simular grandes cantidades
de memoria real.
Cuando un programa se ajusta para ejecutar en la computadora, el sistema operativo crea un
espacio de memoria virtual, que es un modelo de la cantidad de memoria y de las direcciones
de memoria que el programa tiene a su disposicin. luego el programa de apoyo de la memoria
virtual del sistema operativo le dice al procesador que haga que la memoria real que tiene
asignada parezca estar en otra direccin, que es en realidad la direccin virtual que el programa
usar.
La parte mas interesante de la memoria virtual es cuando un programa trata de utilizar mas
memoria virtual que la memoria real existente.
Un programa comienza con algo de su espacio de memoria virtual (grande) mapeado en una
parte de la memoria real de la computadora (mas pequea) .
Mientras el programa trabaja con slo esa parte de la memoria virtual, todo funciona bien. El
programa de hecho esta usando diferentes posiciones de memoria de lo que piensa que es.
Ahora, cuando el programa trata de usar algo de la memoria virtual que no ha sido asignada a
una parte de la memoria real, la tabla de mapeo del procesador descubre que el programa esta
tratando de usar una direccin que actualmente no existe, y el procesador genera lo que se
llama una falla de pgina. Cuando esto ocurre entra en accin un programa de soporte especial
de la memoria virtual. Este, escoge alguna parte de la memoria virtual que esta actualmente en
la memoria real y guarda su contenido en disco temporalmente. A esto se le llama intercambio o
swapping. Esta parte de la memoria real liberada es reciclada, para que acte como la parte
que se necesita de la memoria virtual.
Cuando se vuelve a necesitar la parte de la memoria que fue intercambiada se vuelve a copiar
del disco.
Memoria cach.
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
56 -
Las memorias cach se disponen de distintas formas y tamaos, pero todas son diseadas
para realizar una sola cosa: Aumentar la velocidad de acceso a la CPU para datos de uso
frecuente o instrucciones.
La secuencia trabaja de la siguiente manera: Cuando la CPU carga informacin de la memoria
RAM , el controlador de la memoria cach copiar esa informacin.
El resultado ser que la prxima vez que la CPU necesite esa informacin, sta estar
probablemente en la memoria cach.
Debido a que la memoria cach externa (o de tercer nivel - ver figura A1. 35) es mas rpida que
la RAM, la informacin estar disponible en forma mas rpida para la CPU.
La arquitectura que tenga la memoria cach determinar de qu modo se debe organizar y
localizar la informacin de la RAM dentro de la cach.
Hay tres tipos de diseos que son los mas populares:
De mapeo directo.
Set Associative
Completamente asociativa.
El diseo de escritura de la memoria cach determina cada cuanto y de qu manera la cach
graba en la memoria central la informacin que ha sido modificada por la CPU.
Los diseos principales son: WRITE-THROUGH y WRITE-BACK.
Con respecto a las arquitecturas:
Con la memoria cach de mapeo directo, una direccin especfica dentro de la cach
corresponde a varias direcciones especficas dentro de la memoria central.
Lo que significa que cuando la CPU pide un dato determinado, la memoria cach tiene que ir a
esa direccin dentro de ella misma para encontrar la informacin; por lo que ahorra mucho
tiempo.
Con la memoria Completamente Asociativa, los bloques de informacin de la memoria central
pueden estar ubicados en cualquier bloque libre dentro de la memoria cach. Lo bueno de esto
es que la mayora de la informacin a la cual se tuvo acceso recientemente, est a menudo en
la memoria cach. Lo malo en cambio, es que la bsqueda de la informacin es lenta, dado que
la memoria cach debe iniciar una bsqueda indexada para hallar la informacin.
La memoria con SET ASSOCIATIVE , combina elementos de las otras dos arquitecturas:
Se la divide en 2, 4, u 8 celdas que tienen mltiples direcciones, cada una de ellas, sostiene un
block de informacin. Cada bloque dentro de la memoria central puede estar en cualquiera de
las celdas pero pueden estar en una sola direccin dentro de la celda.
El tiempo de bsqueda es reducido y es menos probable que los bits mas frecuentemente
utilizados por la informacin se sobrescriban entre s.
WRITE-THROUGH vs WRITE-BACK
La informacin de la memoria cach es a menudo actualizada por la CPU. La memoria cach
transmite estos cambios a la memoria central a travs de uno de los dos principales diseos de
escritura: WRITE-THROUGH o WRITE-BACK. En una memoria cach de WRITE-THROUGH
cada vez que la CPU devuelve un bit modificado de informacin a la cach , sta ltima
actualizar esa informacin dentro de ella misma y en la memoria central.
Una WRITE-BACK cach, almacena la informacin modificada en su memoria, pero lo har en
la memoria central, slo bajo determinadas circunstancias :
cuando todo el bloque de informacin deba ser sobrescrito porque un nuevo bloque debe
entrar en el anterior.
Cuando otra parte del sistema intente acceder al bloque de informacin desde la memoria
central.
Cuando el algoritmo de control determine que la informacin estuvo esperando demasiado
tiempo para ser actualizada.
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
57 -
LA MEMORIA CACH EN PC:
La memoria DRAM (dinmica) es un tipo de memoria econmica, de bajo costo. El tiempo de
acceso de una memoria DRAM, es el tiempo que tarda el chip de memoria en estabilizarse
antes de pasar al siguiente acceso. Generalmente definido en unos cuantos nanosegundos (la
mil millonsima parte de un segundo), este nmero es el que caracteriza la velocidad del chip
de memoria.
La memoria de tipo SRAM (esttica) posee un tiempo de acceso mejor, lo que elimina
totalmente el tiempo de espera. Su desventaja es el alto costo que posee en el mercado.
Debido al elevado precio de la SRAM, la mayora de las computadoras poseen memorias
DRAM, que son ms lentas. Ya que no es conveniente ninguno de los dos extremos, se pens
que haba que buscar una solucin intermedia, algn dispositivo que permitiera comunicar al
microprocesador con la memoria por medio de elementos estticos. De ah surge la memoria
cach, que no es otra cosa mas que una cantidad pequea de memoria SRAM (esttica)
ubicada entre el procesador y la memoria principal, obviamente acompaada de un controlador
correspondiente (controlador de cach).
En el microprocesador 486 posee incorporadas dentro del mismo chip este tipo de memorias.
Cabe aclarar que la memoria cach puede estar presente en el motherboard, hasta incluso de
mayor tamao, pero sta resulta menos efectiva debido a que la comunicacin entre ella y el
procesador depende de un bus externo.
La memoria cach interna del 486 posee un formato de 128 bits de ancho, lo que asegura una
transmisin ms veloz de direcciones e instrucciones.
Las ventajas de esta memoria se ponen en evidencia con el uso de aplicaciones con clculos
complejos o programas CAD (Computer Aided Design), donde el tiempo de acceso a la
memoria es de vital importancia. El uso de estas memorias proporciona en la mayora de los
casos un acceso libre a la memoria principal, sin que se produzcan tiempos de espera, usuales
en mquinas con memorias de tipo DRAM.
Si tomamos como ejemplo una memoria de 100 nanosegundos de acceso, un microprocesador
que trabaja a 100 MHz no puede realizar dos accesos consecutivos a memoria debido a que
debe esperar a que la memoria se estabilice, perdiendo as diez ciclos de reloj.
En los desarrollos de memorias cach se destaca las CDRAM (Cach Dinamic RAM) de
Mitsubishi que viene en dos tipos de chips 4 16 Mbits que emplea una pequea cach interna
de 16 KB conjuntamente con un bus de datos de 128 bits que le permite trabajar a 100 MHz y
un tiempo de acceso de 7 ns.
BIOS
Existe en la computadora PC dos cosas a las que se les llama BIOS:
ROM-BIOS: es una caracterstica de software integrado.
DOS-BIOS: la parte del DOS que ejecuta un servicio similar (pero a un nivel bastante
diferente) para el DOS.
Las informaciones sobre los perifricos estn en una memoria espacial llamada RAM-CMOS
como ya se explic. Esta tiene una serie de registros donde se guarda, con ayuda del
programa SETUP, toda la informacin sobre los distintos perifricos. El BIOS los necesita para
el trabajo conjunto y sin fricciones de los diferentes componentes del sistema.
ROM-BIOS es una abreviatura de Read Only Memory Basic Input/Output System (memoria de slo lectura, sistema
bsico de entrada/salida).
El ROM-BIOS consiste en un conjunto de programas integrados a la computadora que
proporciona el control y las operaciones de supervisin ms bsicos, de bajo nivel e ntimos
para la computadora.
La tarea del ROM-BIOS es encargarse de las necesidades inmediatas del hardware y aislar a
todos los dems programas de los detalles sobre la manera en que funciona el hardware.
El ROM-BIOS es una interfase, un conector y un traductor entre el hardware de la computadora
y los programas de software que se ejecutan. Es sencillamente un programa como cualquier
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
58 -
otro, y se lo puede considerar como si fuera algo a medio camino entre el software y el
hardware.
Todos los sistemas operativos se acogen a la BIOS para los procesos de entrada y salida, y la
BIOS trabaja de acuerdo con la informacin guardada en la RAM-CMOS.
Contenidos del ROM-BIOS
Todos los programas del ROM-BIOS estn contenidos en forma muy compacta dentro del
rea de los 128 KBy de los bloques E y F de memoria, pero la cantidad que se usa de este
bloque vara de modelo en modelo puesto que cuanto mas complejas son las computadoras
necesitan ms software adecuado en el ROM-BIOS. El ROM-BIOS no puede estar ubicado en
cualquier lugar, tiene que estar en una posicin nica donde no entre en conflicto con otra
extensin del ROM-BIOS.
Hay tres partes principales de los programas del ROM-BIOS:
a) Programas de prueba e inicializacin: se usa solamente cuando se enciende la
computadora (ya sea despus de conectar la alimentacin o despus de hacer un reset),
ejecuta una serie de rutinas que verifican si los componentes de la computadora estn en
buen estado de funcionamiento. La demora que se produce desde el momento en que se
enciende el computador hasta el momento en que el usuario comienza a trabajar es causada
principalmente por estos programas de revisin e inicializacin, a los cuales suele
llamrseles autoprueba al arranque (Power On Self Test, POST).
El POST examina, por orden, los siguientes componentes:
ROM (Read Only Memory) con la BIOS.
RAM (memoria).
Conectores en la placa principal (por ejemplo temporizador).
Teclado.
Disco duro.
Unidades de disco.
Busca las ampliaciones del bus del sistema con una BIOS propia (por ejemplo las
tarjetas EGA y VGA).
b) Rutinas: estos programas proporcionan el control detallado e ntimo de las diversas partes
de la computadora, en particular de los dispositivos perifricos de E/S, como las unidades de
disco, que requieren una supervisin cuidadosa. Incluye tambin la revisin de errores,
reintentar las operaciones para ver si el problema es solamente temporal (como
frecuentemente sucede) y solo en caso de una falla permanente, reportar el problema al
programa.
Es importante destacar que el ROM-BIOS proporciona una lista de servicios que puede ser
usado tanto por el sistema operativo como tambin por los programas de aplicacin.
c) ROM-BASIC integrado: ste fue diseado en la poca en que las mquinas todava no
tenan unidades de disco (usaban cintas) y obviamente no tenan sistema operativo DOS,
entonces la mquina arrancaba en BASIC utilizndolo como ambiente de operacin.
Actualmente las nuevas PC no incluyen el ROM-BASIC (cabe destacar que el actual QBasic
no depende del ROM-BASIC).
El ROM-BIOS esta diseado para controlar el hardware directamente y responder a cualquier
demanda que ste haga. La manera en que lo hace es a travs de puertos (un puerto es un
conector externo que conecta una computadora con un perifrico como ser modems, impresora
u otro dispositivo).
Hay muchos aspectos del hardware que no trabajan mediante puertos, ejemplo las direcciones
de memoria, en general son las partes que pueden trabajar directamente con los programas, a
estas partes el ROM-BIOS no las supervisa.
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
59 -
El ROM-BIOS se ocupa tambin de otra funciones, como por ejemplo la temporizacin, o sea,
controla que los circuitos estn listos para recibir un comando puesto que entre un comando y
otro existe un tiempo para procesar dicho comando.
ABIOS: EL BIOS AVANZADO: Con las PC ms recientes, el 286, el 386, el 486 y el Pentium, el
DOS ejecuta en modo real o en modo virtual 86. Esto significa que, a menos que se usen
programas de control especiales, el DOS no puede aprovecharse de las caractersticas del
modo protegido de estos procesadores, como las facilidades de memoria grande, multitareas,
etc.
Sin embargo, tales S.O. requieren una gran cantidad de soporte del sistema que el BIOS
regular no proporciona. Este soporte es proporcionado por el BIOS avanzado al que se lo llama
ABIOS.
Los 486 o Pentium con BIOS-AMI reconocen la capacidad de memoria y los componentes RAM
utilizados.
AWARD-BIOS: Las PCs con 486 o superiores con BIOS Award no slo muestran el test de
memoria al arrancar sino que dejan correr ante sus ojos todo el programa completo POST.
BIOS-MR: Los BIOS-MR son relativamente nuevas en el mercado de las PC. Con su SETUP
est preparado para soportar las caractersticas de los modernos juegos de chips.
GRUPOS
Una de las consideraciones de diseo que deben satisfacer las rutinas del BIOS es suspender
las interrupciones lo menos posible, utilizando la menor cantidad de pasos para ello.
Para evitar pasar sobre sus propios pasos o confundir el trabajo que se est realizando en una
llamada de servicio con otra, las rutinas del BIOS deben ser programadas siguiendo una
disciplina especial llamada cdigo reentrante. Los programas reentrantes, como el ROM-BIOS,
estn diseados para guardar los datos de trabajo y la informacin de estado que se refiere a
cada llamada de servicio separada de las otras. Esto se logra manteniendo todos lo datos en
pila (stack) o en registros.
Otro tema separado pero relacionado es que los servicios del BIOS deben ser organizados en
forma modular, en grupos.
ORGANIZACIN DE LOS GRUPOS DEL BIOS
Los servicios del BIOS estn organizados en grupos, teniendo cada grupo su propia
interrupcin dedicada. Los servicios del BIOS estn identificados por un nmero hexadecimal.
SERVICIO DE VDEO: Hay 16 servicios separados de la pantalla en los servicios del ROM-
BIOS bsicos de la familia de la PC. Estos estn numerados del 00 al 0F. Adems de estos
servicios bsicos, hay otros nueve usados con los miembros ms recientes de la familia de la
PC. Algunos de los servicios de vdeo controlan y reportan caractersticas del cursor, como por
ejemplo 00, 01, 02 y 03.
Desplaza la pantalla de arriba hacia abajo. Tanto el servicio 06 como el 07 permiten a una
aplicacin definir una ventana rectangular en la pantalla y desplazarla. Actualmente casi todos
los programas soportan alguna forma de interfase de ventanas, por lo que la capacidad de
controlar (y desplazar) varias ventanas es una caracterstica importante.
El servicio 08 descodifican el trazado de pixeles de un carcter y obtienen el cdigo de dicho
carcter, y el 09 es el inverso.
El servicio 0F reporta el estado actual del vdeo, para que el programa pueda ajustar su
operacin al modo de vdeo o registre el modo actual para que pueda reponerlo despus de
haber cambiado el modo. Este servicio le dice qu modo de vdeo est puesto.
El uso de estos servicios tiene la ventaja de asegurarse de que la salida a pantalla es manejada
de manera estndar y puede ser adaptada automticamente al hardware nuevo. Sin embargo,
muchos programas evitan estos servicios, debido a que la sobrecarga involucrada es muy alta.
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
60 -
La salida a pantalla puede ser ejecutada mucho ms rpido cuando los programas la hacen por
s mismos, en vez de usar los servicios del ROM-BIOS.
SERVICIO DE IMPRESIN DE PANTALLA: Est diseado para leer de la pantalla la
informacin que est desplegada y enviarla a la impresora. Se puede solicitar este servicio
directamente oprimiendo la tecla PrintScreen que se encuentra en el teclado. Lo que hace a
este servicio particularmente interesante es que est hecho a partir de otros servicios del ROM-
BIOS. No hace nada nico por s mismo. Slo combina servicios para ejecutar un servicio
nuevo y til. El servicio de impresin de pantalla no solo se obtiene oprimiendo la tecla
PrintScreen. La impresin de pantalla es un servicio estndar del ROM-BIOS que puede ser
llamado dando una INT (instruccin de interrupcin (05)). La tecla PrintScreen funciona debido
a que las rutinas de teclado del ROM-BIOS monitorean la actividad del teclado para ver si se ha
oprimido esta tecla.
SERVICIO DE DISCO: Todos los servicios de disco se llaman con la interrupcin 13. Se puede
dividir a estos servicios en tres grupos:
a) aquellos que se aplican a discos flexibles y discos duros.
b) aquellos que son solamente para discos duros.
c) aquellos que son solamente para discos flexibles.
Entre las diferentes funciones de los servicios estn: reinicializar el sistema de disco, leer,
escribir, verificar sectores, formatear, etc.
Este tipo de conocimiento es interesante pero generalmente se usan caractersticas del DOS
para facilitar las operaciones. Un ejemplo es el comando FORMAT con sus diversas y variadas
opciones. Y conforme el DOS se ha vuelto mas sofisticado, ha llegado a ser menos necesario
para los usuarios el conocer las posiciones y llamadas especficas del BIOS que hacen que
todo esto suceda.
OTROS SERVICIOS:
14 - Puertos: El uso del puerto serial es muy simple. Todo es comparado con la pantalla y
las unidades de disco.
16 - Teclado: Se usa para obtener informacin. Por ejemplo: lee el siguiente carcter del
buffer de entrada del teclado, indica si hay algo listo en la entrada del teclado, indica si las
letras estn en maysculas o minsculas, etc.
12 - Reporta la cantidad de memoria que tiene la computadora hasta un mximo de 640
KBy.
15 - Reporta la cantidad de memoria expandida.
1A - Proporciona servicios tales como puesta de la hora y la fecha, el uso de un
temporizador y el uso de una alarma. El DOS proporciona comando como el TIME y el
DATE para actualizar la hora y el da en su PC.
18 - Control de la tarjeta de interfase de red (NIC).
19 - Carga de arranque: presionando las teclas CTRL-ALT-DEL.
A1.5. BREVE DESCRIPCIN DE MICROPROCESADORES:
ORGENES DE LOS MICROPROCESADORES
El "rbol genealgico" del microprocesador comenz en la dcada del setenta, pero se est
desarrollando a una velocidad fenomenal. Si el desarrollo continua a la velocidad actual,
estaremos aadiendo hojas al rbol cada ao.
El primer C.I., circuito integrado, fue desarrollado en los comienzos de los aos sesenta.
Hasta la dcada del setenta los microprocesadores no eran econmicamente accesibles para el
gran publico. En esa dcada, Lo que hoy es la firma Intel desarroll su primer microprocesador
de 8 bits, el 8008 (anteriormente lo haba hecho uno de 4 bits el 4004). En 1974 fue
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
61 -
desarrollada la segunda generacin de microprocesadores, el 8080, que fuera el gran precursor
de la gigantesca industria actual de computadoras compatibles. Los competidores entraron
rpidamente expandiendo el mercado con productos tales como el Zilog Z-80 o Motorola con el
6800.
Las mquinas de aquellos tiempos requeran mucho trabajo para ser operadas y resultaba muy
difcil configurar un sistema.
Por la misma poca aparecieron las APPLE II basadas en el procesador MOTOROLA 6502.
La tercera generacin de microprocesadores lleg exactamente cuatro aos ms tarde. En
1978 Intel desarroll el 8086. Aunque contena algunas compatibilidades con su antecesor el
8080, fue un diseo mucho ms avanzado, con muchas caractersticas nuevas.
IBM tambin introdujo a su tecnologa para PC's el procesador INTEL 8088 como una variacin
del 8086 pero no tan significativa como la que hubo entre el 8086 y el 8080. El 8088 permita un
diseo ligeramente ms simple e inclua compatibilidad con dispositivos actuales de E/S. De
esta manera nos acercbamos a la tecnologa actual.
Casi al mismo tiempo, apareci la pastilla del coprocesador matemtico de nmeros reales
8087, que estaba asociado tanto con el 8088 como con el 8086. Este procesador de datos
numricos estaba dedicado a alta velocidad y clculos matemticos de alta precisin.
Poco tiempo despus las empresas de hardware y software implementaron modificaciones para
compatibilizarlos.
A medida que creca el xito de las PC's de IBM, los precios de las compatibles comenzaron a
caer y sus performances a incrementarse.
La primer compona en desarrollar un BIOS con una compatibilidad casi perfecta con la PC de
IBM fue COMPAQ en el ao 1984. El periodo de bsqueda de la compatibilidad se completo
cuando la compona de software PHOENIX produjo su propio BIOS compatible y comenz a
vendrselo a fabricantes de clones.
El primer computador costaba del orden de 1300 dlares y tenia una capacidad de memoria de
4 KBy. Desde entonces ha habido un desarrollo explosivo del "micro-computador", como se
denomina tambin al computador personal, de manera que hoy en da, a mas de diez y seis
aos, solo podemos esbozar una sonrisa frente a la capacidad del primer computador PC de
ese Mercado.
Mientras tanto la normalizacin de los computadores ha seguido adelante. IBM ya ofreca por
aquel entonces varios tipos de computadores para usuarios que no podan permitirse, o no
queran, un mainframe. Sin embargo, hasta el ao 1978 no surgi un verdadero proyecto.
A mediados de los ochenta ya existan unas 200 casas en el mercado con modelos propios de
computadores, pero eran muy pocos los que tenan salida y los que siguieron desarrollndose.
Adems del APPLE II, los mas extendidos eran, sobre todo, el PET de COMMODORE ( o las
versiones de la 64 y 128 posteriores), la TI 99 de Texas Instrument y el TRS-80 de TANDY, que
solo soportaban el BASIC como lenguaje de programacin incorporado en un Chip.
En el uso personal se fue introduciendo cada vez mas, junto con el hardware, el software. Un
hito fue, por ejemplo, la primera hoja de calculo, que llevaba por nombre VisiCalc y que fue
escrita en 1979 por Dan Bricklin para APPLE II. esta empresa pudo integrar VisiCalc para la
quinta parte escasa de los 130.000 computadores que circulaban en ese momento.
A finales de 1980 el volumen de ventas de los computadores personales haba aumentado
hasta 900 millones de dlares.
En aquellos tiempos se reconoca que nadie haba llegado a abrir el mercado industrial.
TANDY, APPLE Y COMMODORE vendan sus computadores principalmente a particulares,
pequeas empresas y a gente con profesiones liberales, mientras otros no encontraban sentido
en el hecho de producir computadores pequeos.
Como los investigadores pensaban que una mquina que procesara 8 bits a la vez sera
demasiado lenta, incorporaron en el PC un microprocesador de 16 bits. INTEL haba creado,
apenas dos aos antes, su 8086, un procesador de 16 bits que responda enteramente a las
exigencias de ese momento de IBM. Sin embargo, los chips para administrar perifricos solo
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
62 -
podan procesar 8 bits, y esto fue lo que provoco que INTEL modificara ese chip creando el
8088. Su conexin con el mundo exterior se realizaba mediante unidades de datos de 8 bits,
pero internamente procesaba los datos en grupos de 16 bits.
Fue a partir de este procesador cuando IBM desarrollo su prototipo. Y al hacerlo estaban
recorriendo nuevos caminos lo que les diferenciaba de otros productores. La nica pieza
definitiva era el procesador, pero para los dems elementos haba que aceptar al mejor
proveedor.
El principio del sistema de arquitectura abierta no haba conocido ejemplo en el mundo de las
grandes computadoras, ya que aqu era difcil mantener el secreto de la arquitectura para evitar
la competencia de otras casas productoras que podan desarrollar su propio hardware y
software. IBM pretenda forzar la expansin de los computadores personales.
Un ao despus de la presentacin de su prototipo, el PC ya haba alcanzado la madurez del
mercado.
A cambio de 10.000 dlares que costaba la licencia, cualquier productor de hardware poda
incorporar a su computador la BIOS, sin restricciones.
INTEL no se detuvo en sus xitos pasados. A mediados de 1984 IBM present el computador
de la siguiente generacin, el AT (advanced technology). Su elemento principal era el
microprocesador 80286 de INTEL, que realiz otro salto importante en el diseo de
arquitecturas. Esta CPU de nueva generacin fue diseada principalmente para aplicaciones
que requeran altas prestaciones. Era compatible con el 8088 y el 8086 debido a su conjunto
comn de modos de direccionamiento e instrucciones bsicas. La arquitectura base soportaba
lenguajes de alto nivel como Pascal y C. El 80286 soportaba diferentes tipos de datos muy
potentes, como cadenas, BCD y formatos de tipo flotante. El diseo tambin soportaba
estructuras complejas de datos, como arrays estticos dinmicos, registros y arrays de
registros.
Mas tarde IBM se vio obligada a desarrollar una nueva lnea de computadores que fue sacada
al publico en 1987. Uno e los modelos contena el 8086, una variante del 8088 utilizado en el
primer computador, otros dos modelos el procesador 80286 utilizado en los AT , y un modelo
estrella tenia como base una nueva generacin de procesadores: los 80386.
IBM no fue la primera en introducir este nuevo chip, anteriormente COMPAQ ya haba
presentado dicho 386.
Cuando a mediados de los ochenta INTEL desarrollo el procesador 386, COMPAQ ya planeaba
una nueva generacin de computadores.
Antes que fuera presentado el nuevo chip, COMPAQ se ali con INTEL y sacaron un sistema
de computador a la altura del procesador.
El 80386 supuso un verdadero paso hacia adelante. Poda procesar datos de 32 bits y a la vez
comportarse como uno de sus procesadores predecesores, de modo que mantuvo la
compatibilidad. Poda administrar una memoria 256 veces mayor que el 80286 y era capaz de
ejecutar hasta cuatro millones de instrucciones por segundo (mips).
A lo largo del ao de 1988 INTEL sac al mercado una nueva versin "econmica" del 80386, el
80386sx. Este procesador tenia hacia afuera las mismas conexiones que el 286, pero
internamente todos los atributos del 386.
Tambin el 386 fue superado. A principios de 1989 INTEL presento el 80486: la variante
altamente integrada del 80386.
El 486 ha sido el primero en extender un bus adecuado al procesador de 32 bits: EISA.
Luego se construyeron variantes del 486: el 486sx. La diferencia con el 486 "autentico" es que
en el 486sx el coprocesador integrado no trabaja y el procesador tiene una frecuencia de reloj
mas baja. Otras Variantes fueron el DX, DX2, DX4 que aumentaban las frecuencias de sus
relojes 33 MHz a 100 MHz.
El 486 tambin fue superado por el Pentium.... y as continuar la carrera.
BUSES , BYTES Y REGISTROS en PC
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
63 -
Un bus es bsicamente un canal de comunicacin. En las computadoras personales IBM, el bus
est formado por una serie de cables o pistas de cobre que transmiten bits en forma paralela.
Por ejemplo, los sistemas IBM PC, XT y AT tienen tres buses: el bus de direcciones, el de datos
y el de control. En los sistemas IBM PC y XT, el bus de direcciones est formado por 20 lneas
paralelas (una para cada bit), y el de datos por 8 lneas paralelas. El bus de control tiene una
fragmentacin mayor. Cada circuito integrado puede utilizar grupos selectos de cables de cada
bus que necesite para su operacin. El sistema IBM AT tiene una arquitectura de bus un poco
mayor con 24 lneas de direcciones y 18 de datos.
Un byte es un grupo de n bits donde n es generalmente 8 bits.
Muchos circuitos integrados estn configurados para aceptar como entrada slo un byte; de
aqu que la estructura de los sistemas IBM PC y XT est diseada alrededor de un bus de datos
de ocho bits. Es costumbre especificar la memoria en bytes. La mitad de un byte (cuatro bits)
recibe el nombre de nibble mientras que un grupo de dos bytes se conoce como palabra (word).
Los microprocesadores 8086 y 8088 son microprocesadores de 16 bits porque los registros
internos de la CPU tienen una longitud de una palabra. El 80286 tiene registros muy similares y
se hace referencia a l como una computadora de 16 bits. A mediados de la dcada del
ochenta comenz la tendencia hacia el uso de circuitos integrados con arquitecturas de 32 bits,
es decir de palabra doble (double word). El 80386 y el 486 son microprocesadores de 32 bits.
Actualmente los diseos permiten 64 y hasta 128 bits.
MICROPROCESADORES EN LAS PC
Decamos que a fines de la dcada de 1960 y principios de la de 1970 se produce el nacimiento
del microprocesador. Este dispositivo permiti reemplazar un mdulo conteniendo entre 5 y
10.000 transistores por una pequea pieza de material semiconductor de tamao menor de 1
cm llamado chip. Hoy da se integran millones de transistores en un chip.
MODELO DE COMPUTADOR PC (en la figura A1.37 presentamos los mdulos componentes
de una PC). Un sistema computador PC esta formado bsicamente por cinco elementos:
1) Un microprocesador
2) Una memoria RAM
3) Una memoria ROM
4) Un Reloj (Clock)
5) Una interfase de dispositivo de E/S.
El microprocesador es aquel que se encarga de ejecutar instrucciones en forma ordenada,
realizar funciones aritmticas, lgicas y de control. Como el microprocesador debe comunicarse
con otros dispositivos del sistema, debe tener alguna forma de decidir cul de ellos desea
seleccionar. El problema se resuelve agregando lneas (cables) a cada dispositivo del sistema.
Estas lneas seleccionan el dispositivo con el cual el microprocesador quiere comunicarse, y se
denominan bus de direcciones. La direccin se genera colocando algunas de las lneas en el
nivel lgico 1 y otras en el nivel lgico 0. El dispositivo que se identifique como suya esa
direccin se comunicar con el microprocesador.
As como el microprocesador necesita direccionar el dispositivo con el que se quiere comunicar,
necesita tambin algn medio a travs del cual transferir la informacin hacia o desde el
dispositivo seleccionado. Esta transferencia de informacin se establece a travs de una serie
de lneas llamadas bus de datos.
Un tercer grupo de lneas configuran el bus de control del microcomputador. Sus lneas
controlan la secuencia de eventos en totalidad del sistema; por ejemplo, ante la presencia de un
dato sobre el bus correspondiente, es responsabilidad del bus de control informar a los
dispositivos si el microprocesador esta tratando de obtener informacin de alguno de ellos, o si
alguno de esos dispositivos debe almacenar la informacin que el microprocesador ha colocado
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
64 -
sobre el bus de datos, esto es, si se trata de una operacin de informacin de lectura o de
escritura. El bus de control de cualquier sistema microcomputador puede cumplir distintas
funciones, que varan de un microprocesador a otro.
La cantidad y tipo de registros dependen del tipo de microprocesador. Algunos registros son:
- Registros de almacenamiento de datos.
- Contador de programa (P.C.).
- Registro ndice
- Registro de puntero a pila (Stack Pointer)
- Registro de cdigo de condicin.
- etc.
LAS FAMILIAS DE MICROPROCESADORES
Microprocesadores pertenecientes al grupo de 8 bits son el 8080 de Intel, el Z-80 de Zilog y el
M-6800 de Motorola, entre los mas destacados.
MICROPROCESADOR Z-80
Para este microprocesador, el mdulo de la C.P.U. consiste en un circuito integrado de 40 pines
llamado CPU Z-80.
Tal como la CPU Z-80 ejecuta un programa residente en su memoria asociada, se lee cada
instruccin en secuencia desde la memoria colocando la direccin contenida en el registro
contador de programa, (P.C.) en el bus de direcciones, generando las apropiadas seales de
control en el bus de control para activar la memoria y leyendo entonces el dato en el bus de
datos para situarlo en el registro apropiado dentro de la CPU. Las funciones de control de la
CPU coordinan estas tareas y aseguran que los cdigos de operacin de las instrucciones sean
colocados en el registro de instruccin y descodificados apropiadamente. As mismo esta
funcin controla la ALU para que realice todas las operaciones aritmticas y lgicas soportadas
por el conjunto de instrucciones del Z-80. Estas operaciones incluyen, suma, resta, operacin
lgica AND, etc.
Al realizar estas operaciones la ALU, se comunica mediante el bus de datos interno con los 22
registros internos, el registro de instruccin, y el controlador del bus de datos. Los controladores
de los buses de datos y direcciones vigilan todas las operaciones relacionadas con el
intercambio de datos entre la CPU y el mundo exterior mediante sus buses respectivos. Ntese
que mientras que el bus de datos es bidireccional, el bus de direcciones es unidireccional en la
salida de la CPU. La CPU no recibe datos desde el bus de direcciones.
El CPU del Z-80 tiene las siguientes funciones:
AO-A15 (bus de direcciones) DO-D7 (bus de datos)
M1 (ciclo maquina uno) MREQ (peticin de memoria)
IORQ (peticin de E/S) RD (lectura de memoria)
WR (escritura de memoria) RFSH (refresco)
HALT (estado de paro) WAIT (espera)
INT (peticin interrupcin) NMI (interrupcin no enmascarable)
RESET BUSRQ (peticin de bus)
BUSAK (reconocimiento de bus)
FAMILIA DEL MICROCOMPUTADOR MC 6800
Descripcin general del sistema
La unidad central de procesamiento M6800 es el ncleo de la familia, y entre los integrados de
apoyo bsico se cuentan:
1) Memoria RAM MCM6810
2) Adaptador de perifricos (PIA) MC6821
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
65 -
3) Memoria ROM MCM6830
4) Adaptador asincrnico de comunicaciones (ACIA) MC6850
El microprocesador selecciona estos dispositivos a travs del bus de direcciones de 16 bits,
realizndose la transferencia de informacin y datos a travs de del bus de datos de 8 bits.
Las direcciones que aparecen sobre el bus de direcciones se generan en la unidad central de
procesamiento. Cuando el microprocesador genera una direccin, solo un dispositivo la
reconoce y se comunica con este (MP).
El bus de datos es de 8 bits y es comn a todos los dispositivos.
Existe una lnea de lectura/escritura, que vincula al microprocesador con todos los dispositivos.
Esta lnea permite que el microprocesador controle el sentido del flujo entre dispositivos. Si la
lnea toma un nivel lgico alto, el dispositivo debe enviar informacin al microprocesador; si la
lnea esta baja, el dispositivo debe recibir informacin desde el microprocesador.
El sistema M6800 puede operar a frecuencias de reloj que van desde 100 KHz hasta 2MHz,
funcionando con nica fuente de alimentacin de 5V.
Unidad de microprocesamiento
La familia de microcomputadores M6800 es la unidad de microprocesamiento M6800. Este
elemento viene encapsulado en un circuito integrado, de cuarenta terminales, y tiene seis
registros internos accesibles al usuario:
1. Acumulador A 4-Contador de programa (P.C.)
2. Acumulador B 5-Registro de puntero de pila (SP)
3. Registro ndice (X) 6-Registro de cdigos de condicin (CC)
Registros internos del MC 6800
- Acumulador A: El acumulador A es un registro de 8 bits que se usa como elemento de
almacenamiento temporario para las operaciones realizadas por la unidad aritmtico-lgica.
- Acumulador B: El acumulador B tambin es un registro de 8 bits que se usa como elemento de
almacenamiento temporario para las operaciones realizadas por la unidad aritmtico-lgica.
- Registro ndice (X): Este registro es de 16 bits y se usa fundamentalmente para modificar
direcciones en el modo de direccionamiento indexado. Puede, incrementarse, decrementarse,
cargarse desde memoria, almacenarse en memoria o compararse con algn valor dado por
programa.
- Contador de programa (P.C.): Registro de 16 bits que contiene la direccin del prximo byte
de la instruccin a leer de memoria. Su valor se incrementa automticamente cada vez que se
transfiere al bus de direcciones.
- Puntero de pila (SP): registro de 16 bits que contiene una direccin de comienzo, normalmente
en memoria RAM, para almacenar el estado de los registros del microprocesador cuando ste
debe realizar otras funciones, como la atencin de una interrupcin o salto a subrutina. La
direccin almacenada en este registro es la direccin de comienzo de un conjunto de
posiciones de memoria ubicadas consecutivamente en la memoria RAM, en las que se
almacenan los contenidos de los registros en el siguiente orden: byte inferior de P.C., byte
superior de P.C., byte inferior de X, byte superior de X, A, B, CC
Despus de almacenar en la pila el contenido de los registros, el puntero de la pila se
decrementa automticamente. Cuando se descarga la pila la recuperacin se realiza en orden
inverso al almacenamiento.
-Registros de cdigo de condicin (CC): Registro de 8 bits utilizado por las instrucciones de
bifurcacin, para determinar si el microprocesador debe romper la secuencia de ejecucin de
las instrucciones. Las bifurcaciones se producen (o no) de acuerdo al estado de determinados
bits del registro CC.
Otras Caractersticas del M6800
El MC6800 es un microprocesador monoltico de 8 bits. Requiere solo 5 volt de poder. Puede
manejar 64K de memoria con lneas de 16 bits.
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
66 -
Las Caractersticas mas destacables son:
- Procesa 8 bits en paralelo
- Bus de datos bidireccional
- Bus de direcciones de 16 bits - 64K bytes de memoria
- 72 instrucciones
- Siete modos de direccionamiento - Directo, Relativo, inmediato, indexado, extendido,
implcito, y de acumuladores
- Tamao de Pila variable
- Vector de interrupcin enmascarable
- Interrupciones no enmascarables separadas
- Seis registros internos - 2 acumuladores, registro ndice, Contador de programa, Puntero de
pila, y Registro de cdigo de condicin.
- Acceso a memoria directa y capacidad de procesador mltiple
- Caractersticas de reloj simplificado
- Velocidad de reloj 2.0 MHz.
Como consecuencia de los avances tecnolgicos ha aumentado el nmero de transistores que
se pueden integrar dentro de una sola pastilla. Esta mayor densidad de integracin ha sido
utilizada por los fabricantes para construir nuevos microprocesadores con nuevos diseos que
tienden a facilitar la programacin en lenguajes de alto nivel.
En 1985 se lleg a integrar la cantidad de 1.000.000 de transistores en una pastilla y hoy en
da se alcanza la cifra de 15 millones de pequeos y diminutos transistores. En la actualidad
existen microprocesadores de 64 bits construidos con la finalidad de aprovechar al mximo las
ventajas de la capacidad de integracin actual.
FAMILIA MOTOROLA 68000
Las primeras muestras aparecieron a finales de 1979. Posee las siguientes caractersticas:
Fabricado en tecnologa HMOS, contiene alrededor de 68000 transistores siendo su
arquitectura interna lo suficientemente modular como para permitir variaciones cuando los
avances tecnolgicos permitan un mayor grado de integracin.
Capacidad para direccionar 16 Megabytes (16.777.216 bytes)
Su juegos de instrucciones consta de 56 instrucciones muy potentes. Con 14 modos de
direccionamiento y la posibilidad de trabajar con diferentes longitudes de datos, originaban
mas de 1000 cdigos de instruccin diferentes.
Los Buses son sncronos y sin multiplexar.
ARQUITECTURA DEL 68000
Dos grandes bloques de registros de 32 bits, uno destinado a datos y otro a direcciones,
constituyen los cimientos sobre los que se levanta el hardware y, consiguientemente, el
software de este microprocesador. Adems, existe una unidad Lgica -Aritmtica, un Registro
de estado y el registro de instrucciones, junto con la lgica de control y tiempos.
La ALU capaz de realizar operaciones lgicas y aritmticas con datos de 32 bits, incluye la
multiplicacin y divisin, con y sin signo.
Aunque se encuadre entre los micros de 16 bits, se puede decir que es un autentico
microprocesador de 32 bits.
En este procesador se realizaron innovaciones que produjeron grandes mejoras:
Se ha ampliado el juego de instrucciones, incorporando las propias de los micros de 16 bits,
como multiplicar y dividir.
Se ha elevado a 14 el nmero de modos de direccionamiento, entre los que se encuentra
alguno de indudable operatividad.
Adaptacin del 6800 al 68000.
Se ha permitido el manejo de datos, cuyo formateo puede variar entre 1 y 32 bits.
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
67 -
Incorporacin de seales especficas como ser para manejo de perifricos y memoria
virtuales: VPA, VMA y E.
La organizacin interna del 68000 es similar a la del 68008, versin de 48 patitas, con un
bus de datos de 8 lneas y un contador de programa con solo 21 bits validos.
Tambin Motorola dise una lnea de procesadores denominados 88000.

FAMILIA DE MICROS INTEL:
CPU INTEL 8086
Fue el primer microprocesador de 16 bits que Intel fabric a principios del ao 1978. Los
objetivos en la arquitectura de dicho procesador fueron los de ampliar la capacidad del i-8080
de forma simtrica, aadiendo una potencia de proceso no disponible en los micros de 8 bits.
Algunas de estas caractersticas son: aritmtica en 16 bits, multiplicacin y divisin con o sin
signo, manipulacin de cadenas de caracteres y operaciones sobre bits.
Realmente pensamos que el i-8086 ha sido un paso intermedio para la construccin de un
microprocesador de 32 bits que soporta directamente instrucciones del lenguaje de alto nivel
como el ADA.
CPU INTEL 8088
Caractersticas generales :
- Bus de datos externo de 8 bits.
- Bus de datos interno de 16 bits.
- Capacidad de direccionamiento de 1 MByte de memoria.
- Software directamente compatible con la CPU 8086.
- 14 registros de 16 bits.
- 24 modos de direccionamiento.
- Operaciones con byte, palabra y por bloques.
- Operaciones aritmticas con y sin signo, en binario y en decimal, de 8 y 16 bits de longitud,
incluyendo multiplicacin y divisin.
- Compatible con los chips perifricos multiplexados 8155, 8755, 8185.
CPU INTEL 80186 Y 80188
Poco se sabe pblicamente de estos procesadores de INTEL.
Estos chips incluyen el mismo set de instrucciones que los 8086 y 8088, pero con el agregado
de acceso directo a memoria (DMA) y soportes de interrupciones y timers. Al principio se
disearon computadoras basadas en ellos, pero no eran totalmente compatibles por lo que no
se popularizaron.
Hoy en da se utilizan mas que nada en placas de entrada/salida.
CPU INTEL 80286
El set de instrucciones del 80286 incluye todas las instrucciones de los procesadores 8086 y
8088, mas algunas adicionales.
La diferencia fundamental reside en que el bus de datos es de 16 bits, en comparacin con el
del 8086/88, que tenia un bus de 8 bits y un bus de direcciones de 24 en lugar de 20 bits. Este
chip incorpora, adems el manejo de la memoria en dos modos: Protegido y Real.
Trabajando en modo real el chip es compatible con los procesadores 8086/88 y puede acceder
a 1 MBy de RAM.
El modo protegido, por otra parte, es parcialmente compatible con el modo real, aunque puede
direccionar hasta 16 MBy de RAM.
CPU INTEL 80386
Este procesador agrega un set adicional de instrucciones al existente 80286 y mantiene la
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
68 -
compatibilidad con sus predecesores. Por otra parte, agrega un nuevo modo de memoria, el "86
virtual". Las instrucciones del 80386 operan tanto en un ambiente de 16 como 32 bits. Su bus
de datos de 32 bits le permite transferir el doble de bits que su predecesor.
CPU INTEL 80486
Este puede verse como tres chips en uno: la CPU - que utiliza el mismo set de instrucciones
que el 80386 - , un coprocesador matemtico y un controlador de memoria cache. Adems, hay
una memoria cache interna de 8 KBy incorporada, y Pipelines de instruccin.
El 386 puede definirse como un 486 de menor complejidad, as como al 486 se lo puede llamar
"un 386 ms desarrollado".
Debido a que la base de estos dos procesadores es similar, y que resulta interesante analizar
en paralelo la historia de ambos, optamos por pasar a describir el 486, haciendo referencia al
386 cuando sea necesario.
Cuadro comparativo
El siguiente es un cuadro demostrativo del avance logrado por el 486 sobre el 80386 +80387.
Tarea 80386 + 80387 i486DX
- Leer valor de la memoria
- Escribir valor en la memoria
- Transferir valor entre registros
- Bifurcacin condicional ejecutada
- Bifurcacin condicional no ejecutada
- Llamada a subprograma
- Guardar valor de punto flotante
4 ciclos de reloj
2 ciclos de reloj
2 ciclos de reloj
9 ciclos de reloj
3 ciclos de reloj
9 ciclos de reloj
15 a 20 ciclos de reloj
1 ciclo de reloj
1 ciclo de reloj
1 ciclo de reloj
3 ciclos de reloj
1 ciclo de reloj
3 ciclos de reloj
3 ciclos de reloj
Tabla A1.4 Cuadro comparativo entre procesadores 386/387 y 486
Intel i486 Este procesador, tambin llamado 80486, posee registros y bus de datos de 32 bits.
As como el 386, es capaz de trabajar en dos modos: real y protegido.
Est altamente integrado, a tal punto que contiene alrededor de 1,2 millones de transistores
distribuidos en una superficie de 1,7 x 1,7 cm.!. Esto se logr gracias al proceso de elaboracin
utilizado por Intel llamado CHMOS-IV, con el cual es posible crear estructuras del tamao de 1
micrn (la millonsima parte de un metro). La carcaza est compuesta de cermica PGA, cuyas
dimensiones son de 44,83mm x 44,83 mm.
Sus componentes bsicos son cuatro:
una unidad de procesamiento compatible 80386
una unidad aritmtica compatible 80387
dos memorias cach de 4 KBytes cada una (que luego fuera ampliada al doble)
y los correspondientes controladores cach 82385.
Un adelanto con respecto al 386 es la incorporacin de un coprocesador dentro del mismo chip,
que no es otro ms que el Intel 80387, coprocesador del 386. Este cambio hace que el 486 sea
sumamente ms rpido, ya que la comunicacin entre el procesador y el coprocesador no
depende de un bus de datos externo, en el cual la velocidad de transferencia es varias
magnitudes menor.
El i486 contiene, adems, dos memorias cach de 4 KBytes integradas en el chip, lo que
mejora su rendimiento.
Cabe mencionar que existe adems la posibilidad de conectar un coprocesador adicional,
especialmente desarrollado por la empresa Weitek para el 486, conocido como WT 4167, que
es ms potente que el 80387 de Intel.
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
69 -
Otra ventaja que posee el 486 es que la mayora de las instrucciones se ejecutan en 1 ciclo, o
sea que algunas operaciones como cargar datos en un registro, sumar o comparar registros, se
llevan a cabo en un solo pulso de reloj (clock).
Una "medida" del adelanto logrado con respecto al 386 es la siguiente: el 386 con su
coprocesador 80387 (bus externo de por medio) logra realizar 50.000 operaciones de punto
flotante por segundo, mientras que el 486 alcanza 400.000.
Mediante el bus de 32 bits, el 486, es capaz de direccionar 4 GigaBytes de datos (4 mil millones
de bytes). Si adems se lo hace funcionar con el modo operativo virtual, puede direccionar 64
TeraBytes (64 billones de bytes) virtualmente. Estas caractersticas las hereda de su antecesor
80386.
Otra razn de supremaca es la tcnica de PipeLine en cinco niveles. Esta tcnica permite el
procesamiento paralelo de cinco instrucciones en diferentes niveles de ejecucin (con distintas
prioridades).
i486 SX
La consigna de la industria de las PCs ha sido "ms rpido, ms barato, mejor". Entonces, por
qu Intel sac un chip 80486SX de 20- MHz que costaba ms y era ms lento que un 80486DX
de 33- MHz?.
Ciertamente cuando Intel sac el chip 80386SX, ste se convirti momentneamente en el
nuevo estndar de computacin de nivel bsico. Y adems se convirti en el microprocesador
PC de mayor venta de todos los tiempos.
El 386SX se convirti en un xito porque le brind a los compradores de PCs un acceso de
menos costo al juego de instrucciones de la serie 386. Mucho antes de que el 386SX
apareciera en escena, estaba claro que este juego de instrucciones dominara la computacin
personal compatible con IBM hasta bien entrada dcada de los 1990. La gran ventaja que
ofreca era que por un costo apenas menor al de un 286 poda correr programas escritos
especialmente para 386, como por ejemplo el Windows en modo extendido.
Los compromisos del 386SX en favor de la economa eran dos: Su reloj era ms lento (16-MHz
al principio y 20-MHz ms tarde), y aunque tena el bus interno de 32 bits del 386, usaba un bus
externo de 16 bits. En contraste, el verdadero chip 386 (conocido como el 386DX) estaba
disponible en versiones de 16, 20, 25 y 33 MHz, y usaba buses de 32 bits interna y
externamente.
An ms importante en la opinin de muchos compradores, el 386SX ofreci una alternativa al
286, un chip limitado por problemas irreconciliables de diseo y que claramente era parte de la
historia, y no del futuro, de las computadoras personales.
El 486SX no ofreca ninguna de estas ventajas. Todos los chips 486 utilizan el juego de
instrucciones 386 slo con extensiones pequeas y de relativamente poca importancia: no hay
un nuevo estndar creado por un "juego de instrucciones 486".
Las diferencias ms importantes entre el 386 y el 486 son el coprocesador matemtico que este
ltimo tiene a bordo y su cach interno de 8K. Adems, el 486SX es en realidad una versin
ms lenta del CPU i486 de Intel con el coprocesador matemtico desactivado.
El 486SX no nos salva de un predecesor defectuoso; como muestran diversas pruebas
realizadas, las PCs basadas en el 386 de 33-MHz superan a las 486SX de 20-MHz, y a precios
ms bajos. Aunque Intel alega que el 486SX/20 es superior al 386/33 en un 5 al 10 por ciento
en aplicaciones de 16 bits, se encontr que los sistemas con los procesadores 486SX
demoraron casi un 10 por ciento ms en completar las pruebas que los sistemas 386/33 que
haban sido evaluados en el pasado. El 386 de 40-MHz de Advanced Micro Devices (AMD, un
fabricante de chips competidor) tambin parece reducir la velocidad de operacin en casi un 25
por ciento en comparacin al 486SX. Motivo por lo cual se dejaron de usar.
El 486SX deba trabajar bien para alguien, sino porqu lo sac lntel? Haba dos bandos que
se deban beneficiar del 486SX: Intel y sus clientes fabricantes de PCs. Intel esperaba que al
extender su lnea 486 hacia abajo, podra disminuir el avance de los rpidos clones 386/40 de
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
70 -
AMD. Intel destruy su propio 286, al introducir el 386SX y luego sacando anuncios que
desprestigiaban al 286, una vez que AMD y Harris comenzaron a producir 286 superiores.
Ahora a Intel le convena destruir los 386.
La idea de Intel era lanzar al mercado un procesador que fuera ms barato que el 486DX y que
tuviera menor performance para no arrebatarle el mercado a este ltimo. Por una cuestin de
diseo, Intel decidi eliminar el coprocesador matemtico integrado.
Pero lo que resulta cmico es que el coprocesador no se elimin realmente, sino que est
presente en el chip... pero desactivado!. Si uno pudiera abrir el chip y activar el coprocesador,
en realidad lo que tendra es un 486DX. Pero an hay ms. En los motherboards de 486SX hay
un zcalo para colocar un coprocesador matemtico, que adivinen cul era? - el 486DX. S, el
mismo procesador, que al ser instalado, desactivaba completamente al 486SX. Segn la lgica,
se podra cambiar directamente un procesador por el otro y tirar el 486SX... pero Intel no
permiti esto, ya que al hacerlo, la garanta perda validez.
Esto sucedi debido a que el costo de fabricar un nuevo chip era mucho ms alto que
desactivarle el coprocesador al chip ya existente. Pero por abaratar costos, Intel cav la tumba
de su propio 486SX. La gente usuaria se siente defraudada cuando se entera de que lo que
est comprando "tiene algo ah adentro pero desactivado" y por eso anda ms lento.
Por esto y por una cuestin de mercadeo fue que el 486SX de 20-MHz de Intel no tuvo xito y
se dej de producir.
Posteriormente, Intel lanz al mercado el 486SX/25, un segundo intento de sacar del mercado a
las 386 de otros fabricantes. Los nuevos argumentos de Intel para vender este chip eran los
siguientes:
Precio competitivo: es equivalente o ligeramente superior al de un 386;
Capacidad de mejora: el zcalo del motherboard para el coprocesador fue reemplazado por
el Overdrive, que permite instalar un chip adicional que duplica la velocidad interna del
procesador;
Mejor rendimiento: el 486SX/25 de Intel tena un muy buen rendimiento comparado con sus
competidores en cuanto a su capacidad de procesamiento.
Este nuevo chip tuvo xito sobre los restantes 386, debido a que adems de ofrecer mejor
performance, el comprador tiene la posibilidad de mejorar an ms la velocidad con el chip
Overdrive adicional.
i486 SL
Este microprocesador de Intel ofrece el mismo rendimiento que un 486DX, siendo en realidad,
de diseo similar a ste, pero de menor consumo y voltaje. Fue diseado especialmente para
computadoras porttiles. Se ofrece en versiones de 20, 25 y 33 MHz.
i486DX2
Esta nueva versin del 486 duplica la velocidad dentro del procesador con respecto a su
antecesor 486DX, pero se comunica con la memoria y el bus local a la mitad de velocidad que
dentro del procesador (la que equivale proporcionalmente a la velocidad del 486DX). Esto
permiti una insercin rpida de este nuevo chip en el mercado, debido a que los fabricantes de
motherboards no deban realizar cambios demasiado significativos (hasta nulos en muchos
casos) en el diseo de los mismos.
Este chip se ofrece en versiones de 50 y 66 MHz, con 25 y 33 MHz externos respectivamente.
i486DX4
La denominacin de este procesador resulta confusa, ya que no cuadruplica la velocidad del
486DX sino que la triplica. Se ofrece en versiones de 75, 83 y 100 MHz. La de 75-MHz est
destinada principalmente a las computadoras porttiles. En la versin de 83-MHz, no se triplica
la velocidad respecto al 486DX, sino que ejecuta a dos veces y media la velocidad del mismo.
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
71 -
Una diferencia importante es que el DX4 posee un cach de 16K, el doble que el de los 486
anteriores. Esto eleva el cach interno a un nivel de los procesadores Pentium, pero como los
DX4 no dividen el cach en secciones de datos e instrucciones, el "caching" no es tan eficiente.
Para ser ms precisos, debemos destacar que el verdadero nombre de este procesador es
"DX4", sin el "486" delante. Intel decidi eliminar el nombre "486" de sus procesadores de esta
lnea, ya que ha fracasado en su intento de esforzar los derechos legales al nombre "486".
CPU INTEL P5 (80586)
Este procesador es el representante de la ltima generacin.
Sus caractersticas generales son:
- contiene mas de tres millones de transistores, casi el triple de los que posee el y486. Esto
se debe a que utiliza tecnologa de 0,8 micrones, en lugar de 1 micrn del 80486.
- posee un bus de datos de 64 bits.
- alcanza velocidades cercanas a los 100 MIPS.
- incorpora caractersticas de los procesadores RISC.
- su primera versin fue de 66 MHz.
- agrega una memoria cache interna de 16 KBy, dividida en cache de instrucciones y cach de
datos.
- posee una unidad de prediccin de bifurcaciones.
- la mayora de sus instrucciones se realizan en un solo ciclo de reloj, e inclusive mas de una
por ciclo de reloj. Para esto utiliza dos Pipelines de instruccin.
Luego de realizar los pasos IF(Bsqueda de instruccin de memoria central) y ID
(Descodificacin de la Instruccin), el P5 decide si la instruccin puede ejecutarse en paralelo
con la instruccin siguiente. Si el procesador no detecta dependencias, se despacha una
instruccin por cada pipeline, y estas se ejecutan en paralelo.
Finalmente cabe aclarar que, para obtener la mayor cantidad de beneficios a partir de este chip
las empresas deberan recompilar su software con compiladores especiales para adaptarlo a la
nueva plataforma.
LAS ARQUITECTURAS RISC
El descubrimiento RISC se realiz en IBM, quienes en octubre de 1975, un grupo de 20
personas se puso a trabajar para implementar las ideas de J ohn Cocke. Este haba concebido
la posibilidad de obtener una computadora de alta performance en base a un diseo sencillo y
barato, apoyado por compiladores sofisticados y lenguajes de alto nivel.
Cuatro aos despus, haban armado un prototipo en base a simples chips ECL Motorola que
desbordaba la performance del mainframe S/370-168 (caro, voluminoso y difcil de programar).
El monopolio se perdi y fue as como en 1980, en la Ctedra de Diseo de microprocesadores
de la Universidad de California se acu la sigla RISC.
Para 1985 un puado de pequeas y medianas compaas, entraron de lleno a competir y
crecer en el mercado de las Workstation y el rango medio (intermedio entre PC y Mainframes):
Ridge, Pyramid, MIPS, Sun y HP entre otras. Para 1988 nadie compraba Workstations que no
fueran RISC; mientras tanto el IBM AS/400 quedara como el nico ejemplar sobreviviente de
CISC en el rango medio. Con los anuncios de chips RISC de Intel, Motorola y la arquitectura
POWER de IBM, se declara oficialmente que la nueva tecnologa haba venido para quedarse.
Las motivaciones que llevaron al RISC se pueden resumir en la afortunada coincidencia de
avances tecnolgicos y demandas del mercado.
Conceptos bsicos en RISC
Implementacin de un ciclo
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
72 -
Hasta ese momento, las computadoras venan provistas de un gran conjunto de
macroinstrucciones que, segn se deca, eran capaces de ejecutar las tareas ms rpido que
cualquier software ad hoc. Esto pareca ser cierto en el caso de las operaciones de punto
flotante o multiplicacin entera. Ahora bien, la insercin de stas obligaba a sumar niveles de
complejidad en el procesador, retardando la ejecucin global. Un anlisis de nivel de utilizacin
de instrucciones versus complejidad hizo que los investigadores sospecharan de la estrategia:
si una operacin compleja agregaba un nivel lgico a un procesador de 10 niveles, entonces su
implementacin solo hubiese estado justificada si su uso mejorara la performance en un 10%.
Esto no era as.
Las macroinstrucciones deban correr en forma secuencial, al ser cada una de ellas un
programa en s mismo, no se podan solapar sus ejecuciones: Esto haca que las
interrupciones solo pudieran satisfacerse en la frontera de cada macroinstruccin, debindose
esperar muchos ciclos con el dispositivo ocioso. Contrariamente las microinstrucciones corran
de manera superpuesta (pipeline), llegndose a obtener una ejecucin por ciclo de mquina.
J untando ambos argumentos se concluy que convena dar acceso directo a las
microinstrucciones, haciendo que stas fuesen ledas de un almacenamiento rpido y
ejecutadas directamente en sus respectivos circuitos sin ser traducidas.
Acceso solapado al Almacenamiento
Una CPU sin microcdigo demandaba un promedio de una instruccin por ciclo y datos cada
tres ciclos. Esto impeda el uso de una cach clsica que almacena una palabra por ciclo. Por
consiguiente, se decidi dividir la tarea en una cach de instrucciones y una de datos. Y la
cach se hizo visible al programador, de modo que la responsabilidad de la sincronizacin
quedaba en manos del programador del Sistema Operativo.
Sistema basado en compiladores
Uno de los aspectos mas innovadores de la arquitectura RISC es su nfasis en el uso de
lenguajes de alto nivel, dando por terminada la antigua teora de no poder concebir un Sistema
Operativo si no era en base a lenguajes de bajo nivel. Es as como se introdujo el uso de
excelentes lenguajes de alto nivel, con elaborados compiladores que incluso produjeran cdigo
de mquina de mayor eficiencia que el alcanzable por cualquier programador.
Entonces el diseador del compilador deba utilizar hasta el ltimo recurso para obtener
ejecuciones de un ciclo.
Otra caracterstica tpica del RISC: dispone de muchos registros, generalmente 32, para evitar
los accesos a memoria.
No importa que con cada nuevo chip CISC se reduzcan los clocks para accesos a la memoria,
la ejecucin se hace en la CPU, y la travesa de los datos desde y hacia ella est sometida a
muchos avatares.
TECNOLOGA SPARC
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
73 -
I n s tr 1
I n s tr 2
I n s tr 3
I n s tr 4
E j e c u c i n
S e c u e n c i a l
E j e c u c i n
F D E W
F
F : b s q u e d a d e c a r g a
D : D e c o d i f i c a r
E : E j e c u ta r
W : E s c r i b i r r e s u l ta d o s
T i m e
D E W
F
F
D
D E
E W
W
I n s tr 1
I n s tr 2
I n s tr 3
I n s tr 4
p i p e l i n e
E
E
E
E
F
F
F
F
D
D
D
D
W
W
W
W
I n s tr 1
I n s tr 2
I n s tr 3
I n s tr 4
R I S C
E F D W
E F D W
E F D W
E F D W
E j e c u c i n
Figura A1.38 Comparacin de tecnologas
En 1987 Sun Microsystems libera el modelo Sun-4, sistema basado en la arquitectura SPARC
(Scalable Procesor ARChitecture). Heredera directa del RISC I y II de Berkleley, SPARC puede
calificarse como un RISC clsico, un equilibrado balance entre CPU, perifricos y software, que
di por tierra con los infundios de la competencia CISC, y terminando por vincular los conceptos
de Workstation, RISC y Unix.
En la figura A1.38 se esquematiza el tiempo involucrado en la ejecucin de las instrucciones
para una arquitectura escalar, un pipeline y un RISC.
Arquitectura de la CPU SPARC.
Una arquitectura RISC bsicamente consta de un conjunto de instrucciones incluidas las
funciones matemticas de punto fijo y flotante. Para evitar el efecto n+1, generalmente se
transfire la responsabilidad de procesar las operaciones matemticas a un coprocesador capaz
de trabajar en paralelo. En SPARC se definieron 74 instrucciones y 13 funciones matemticas.
Otros agregados corresponden al manejo de coprocesadores genricos, auxiliares no
especficos que se pueden comunicar con el coprocesador matemtico. Tambin se incorporan
instrucciones para la sincronizacin de cachs y para el manejo de registros especiales de
control. Por ejemplo en SPARC implement un pipeline de cuatro etapas. Cada instruccin se
calcula para exactamente tantos clocks como etapas tiene el pipe, independientemente de su
naturaleza u orden. Cada fase comienza en el momento en que termina la anterior, entonces
en cada ciclo se completa una instruccin.
Un caso complicado lo representan los Saltos. Para ello se utiliza un delay slot para conceder a
la instruccin fuera de secuencia un clock ms sin frenar al resto, un salto cuyo destino se
calcula en el momento y por ende se encuentra en el pipeline.
Ahora supongamos que la instruccin de atrs necesita un registro que va a ser llenado por la
actual. La fase de ejecucin debe esperar a que termine la de Almacenamiento, perdiendo
inevitablemente un ciclo. Para evitar este inconveniente se emplean diversas estrategias. Por
ejemplo en el caso de SPARC, un optimizador reordena las cosas para escapar a este
problema. La estrategia de SPARC es generar un hardware interlock automtico.
La caracterstica ms destacada del SPARC es el uso de ventanas de registros, que son
rpidos y eliminan los accesos a la memoria, ya que referenciar mas de 32 registros complica la
arquitectura. El mtodo SPARC es hacer visible una ventana de 32 registros por vez. Cuando
llamamos un procedimiento, la ventana gira 16 registros a la derecha. Si definimos 8 registros
de entrada, 8 locales , 8 de salida y 8 globales, tendremos un protocolo automtico, de tal
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
74 -
manera que un procedimiento, podr encontrar sus parmetros en el mismo grupo dentro del
procesador. Esto nos permite utilizar un archivo de 40 hasta 520 entradas.
HP PRECISION ARCHITECTURE (PARISC)
En 1986 Hewlett Packard anunci la liberacin de su primer mquina RISC, un UNIX HP9000
840. El desafo fue concebir una nica arquitectura para diferentes mquinas y sistemas
operativos, fcil de escalar a travs de un amplio rango de desempeo. Al resultado se lo llamo
Arquitectura de Precisin.
La especificacin original de HP-PA estableca 140 instrucciones. Propone normas rectoras
para el sistema completo. El objetivo principal de los diseadores de la CPU fue que todas las
operaciones se terminaran de ejecutar en un solo ciclo a travs del pipeline.
Todas las instrucciones tiles que no cumplieran con los requisitos anteriores se trataron de
particionar en primitivas, las restantes fueron eliminadas. El conjunto seleccionado se agrup
en formatos fijos. A diferencia de un procesador CISC, es capaz de descodificar la funcin en
no mas de un ciclo, a partir exactamente de los 32 bits de la instruccin.
Asign niveles de privilegio para acceder a la memoria y al procesador, e implementaron
modificadores o instrucciones para manejar el cruce de esta frontera de seguridad.
El tercer cambio fue que se precis el manejo de memoria, con la existencia no solo de cachs
de datos e instrucciones, sino tambin de las cachs de tablas para reducir memoria virtual en
fsica.
Lo distintivo de esta arquitectura es que no est orientada a ningn sistema operativo en
especial.
El resto de las contribuciones debemos buscarlas en el paquete de instrucciones. Se analiz la
frecuencia de operaciones realizadas por las aplicaciones del tipo Base de Datos, y se
descubri que era posible mejorar significativamente la performance de las transferencias
mediante la modificacin automtica de direcciones en la misma instruccin, sin agregar
complejidad a la arquitectura.
La mayor contribucin fueron las instrucciones compuestas; la mayora de las instrucciones
caen en 3 categoras: Transformaciones, Movimientos y Control. En CISC una instruccin
ejecuta una de ellas a la vez, pero HP hizo que su set de instrucciones corriera dos tipos
dentro del mismo ciclo sin elevar perceptiblemente la complejidad.
El RISC permiti a HP ser un peso pesado de la computacin. Hoy en da sus computadoras
sirven en el rango de 1 hasta 4500 usuarios con absoluta compatibilidad binaria, a travs de 3
sistemas operativos y 7 generaciones de tecnologas de procesador. Tal es as que otro grande
pero de arquitecturas CISC ( y poco prolijo en RISC), como lo es Intel, se ali con Hewlett
Packard para el diseo del P7.
IBM RISC System 6000
En 1990, IBM regres al mercado RISC, para llamar la atencin en un mercado donde no se lo
identificaba con RISC. Produjo un diseo que bautizo RISC de segunda generacin, hoy en da
mas conocido como Superescalar, dado que la CPU es capaz de ejecutar varias instrucciones
en paralelo.
El conjunto de instrucciones se divide en cuatro grupos: Saltos, Registro de Condicin, Punto
Fijo y Punto Flotante. Para cada uno de ellos, se disearon unidades de ejecucin especficas,
que pudieran trabajar de manera independiente de las dems.
La tarea comienza en la ICU (Unidad de Control de Instrucciones), que contiene la cach de
instrucciones, los buffers correspondientes, el Despachador, la Unidad de Saltos y la de
Registro de condicin. El ancho de banda es de 128 bits.
La cach de instrucciones es capaz de leer 4 instrucciones por vez que debi organizarse con
una complicada estructura de directorio. Se agregan tag bits (bits de rtulos) para marcar el
tipo de instruccin y facilitar el trabajo del despachador del Sistema Operativo en conjunto con
un hardware especfico.
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
75 -
Luego, las instrucciones son almacenadas en dos buffers: el Secuencial y el Target; el primero
tiene que ver con el flujo del programa (acumula hasta 8 instrucciones), el segundo, lee las
instrucciones del destino de los Saltos. Si el cdigo fluye por donde se previ, las instrucciones
se transfieren del Target al Secuencial, caso contrario se purgan.
De all se pasa al despachador, donde las instrucciones son dirigidas en paralelo pero de a una
por ciclo a su unidad correspondiente. Dos de los despachos son internos a la ICU mientras
que los otros salen del chip hacia la FXU (unidad de punto fijo) o a la FPU (unidad de punto
flotante).
La ventaja del superescalar es lograr construir la mayor cantidad de cuartetos de instrucciones,
sin repeticin de tipo, para alcanzar el pico de 4 despachos por ciclo.
La comunicacin entre mdulos se realiza mediante un bus dedicado de 256 pistas en la FXU y
224 para la FPU.
Sin embargo no es lo mismo viajar centmetros al encuentro de un integrado vecino que
micrones en la misma pastilla del chip, ni tampoco es lo mismo trazar 32 lneas (o pistas) que
128; cuanto mas complejo sea el diseo, mas difcil ser su implementacin sobre el chip, no
obstante la tecnologa crece y pronto se logra vencer estos escollos.
POWER PC
Apple Computer, IBM Corp. y Motorola disearon la familia de procesadores RISC PowerPc,
con el fin de competir y atrapar a los compradores de Pentium y sus sucesores.
Las caractersticas principales son:
El PowerPc promete un amplio apoyo para software y sistemas operativos; lo que ya est
garantizado en plataformas Apple Macintosh y las estaciones de trabajo IBM RS/6000.
El primer chip PowerPc, el PowerPc 601, es casi tan rpido como el Pentium y cuesta solo la
mitad. Los diseos siguen en el 602, 604 y sus sucesores.
La arquitectura del PowerPc se dise para aumentar su rendimiento con facilidad.
El PowerPc encara los retos del mercado: igualar y superar las capacidades de las PCs
basadas en chips de Intel. Y como no tiene sentido hablar de rendimiento de un chip sin
considerar el software que se ejecuta, las mquinas PowerPc deben recurrir a tcnicas de
emulacin para ejecutar el software compatible X86, lo que baja su rendimiento, pero en
diseos de aplicaciones basados en PowerPc son realmente eficientes. Para esto IBM, Apple y
Motorola han desarrollado una especificacin de plataforma de referencia para el PowerPc
llamada PReP. Si bien hay varios sistemas operativos para las PowerPc, los populares DOS y
Windows no pueden correr directamente en el hardware de la PowerPc.
A continuacin mencionaremos las principales caractersticas de esta familia de procesadores.
POWER PC 601
Comparado con otros chips RISC, el PowerPc 601 ejecuta a velocidades de reloj mas bajas,
posiblemente porque es ms complejo que muchos procesadores RISC, pero es una primera
versin de 32 bits.
El PPC601 emplea varias de las tcnicas tradicionales de diseo RISC y le agrega trucos
inteligentes para mejorar el rendimiento, como el procesado de instrucciones fuera de orden,
decisiones lgicas, colas de operaciones de memoria y conversin de bloques de direcciones.
Un componente central del procesador RISC es un gran conjunto de registros que minimiza el
acceso a memoria y las referencias al cach del procesador con la nica desventaja de tener
que agregar el tiempo de descodificacin y el espacio que ocupa en el chip. El PPC601 tiene 32
registros de propsito general de 32 bits (llamados GPRs) y 32 registros de punto flotante de 64
bits (FPRs), contra 8 y 8 de las mquinas CISC y 192 del RISC 290x0 de AMD.
El juego de instrucciones
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
76 -
El PPC601 usa un formato constante de 32 bits para permitir una captura y descodificacin
eficiente de las instrucciones y define mas de 220 distintas, suficientes para hacer que el
PowerPc parezca ser mas CISC que RISC. Esto es solo una apariencia.
El PowerPc trata de obtener ciclos cortos de reloj y reducir los ciclos de reloj por cada
instruccin.
Diseo con canales y superescalar
El PPC601 puede emitir hasta 3 instrucciones a la vez a tres unidades de ejecucin
independientes, que corresponden a canales de unidad de enteros (IU- Integer Unit), unidad de
decisin (BU- Branch Unit), y unidad de punto flotante (FPU- Floting Point Unit). Una unidad de
instruccin separada administra el flujo de instrucciones a las unidades de ejecucin. La unidad
de instruccin trae las instrucciones usando una interfase de 256 bits, las almacena en una cola
de instrucciones, y las despacha a las unidades de ejecucin.
Para aumentar el rendimiento de su nico canal de enteros, sus caractersticas de envo de
datos le permite entregar rpidamente los resultados de las actualizaciones de registros a las
instrucciones subsiguientes que tambin usen el mismo registro.
Los chips PowerPc de segunda generacin utilizaran por lo menos dos canales de enteros.
Otra tcnica es reclasificar las instrucciones para ejecutarlas fuera de orden. La cola de
instrucciones puede contener hasta 8 instrucciones.
Unidad de punto flotante
El canal de la FPU requiere dos etapas de ejecucin por lo que necesita dos colas adicionales
de instrucciones, una para ejecutar y otra para almacenar las instrucciones de punto flotante.
Predicciones lgicas
Las capacidades de prediccin lgica le permiten al CPU adivinar como cambiar el flujo del
programa y con ello ayudan a evitar las demoras asociadas con decisiones en el programa.
Cuando predice correctamente una decisin, puede realizar el salto en cero ciclos, es decir,
instantneamente. Si el pronstico es incorrecto, puede causar una pequea demora.
En la mayora de las aplicaciones, aproximadamente una de cada siete instrucciones es una
decisin. Las decisiones incondicionales son mas fciles de resolver y las condicionales
requieren mas lgica para manejarse.
Estas caractersticas fueron mejoradas en las versiones posteriores al 601.
PENTIUM:
Cuando Intel decidi dedicarse al diseo del Pentium, deba ofrecer una importante mejora de
performance que pudiera competir con RISC. Pero Intel prefiri buscar un chip binariamente
compatible con los procesadores 80x86 CISC. Hasta el momento los procesadores RISC
estaban excluidos del mundo de las PC de escritorio, por el problema de la compatibilidad.
Entonces encar un diseo, que desde el punto del concepto RISC, es poco prolijo.
Con los inicios del Pentium, en 1993, los precios del sistema comenzaban en unos $5000 como
base y de all suban, dependiendo del fabricante, la configuracin y las opciones. Esto lo haca
interesante solo para muy pocos usuarios y para pocas aplicaciones, como ser en los
servidores de archivo que se usan como un gran almacn de datos o en servidor de redes
locales. Con estas aplicaciones no se hace uso de la verdadera potencia del Pentium, como es
el caso de la ejecucin de instrucciones de punto flotante o como PC de escritorio para usos
comerciales.
El diseo al que finalmente llegaron es un astuto compromiso que adopta la mayor cantidad
posible de tecnologa RISC sin sacrificar la compatibilidad. Ofrece adems, un aumento de
performance de un 100 por ciento (terico) sobre el chip 486 DX2 (a la misma velocidad de 66
MHz).
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
77 -
Si bien el chip 486 ya tom algunas ideas de RISC, como la ejecucin en Pipiline y las cachs
dentro del chip, en Pentium casi la totalidad del estado slido de silicio que lo forma, est
dedicada a las cachs y a las unidades de ejecucin en pipeline. Solo el 3% del procesador
est dedicado a soportar instrucciones microcodificadas.
Pentium consigue ejecutar mas de una instruccin a la vez, pero solo las instrucciones tipo
RISC se pueden emitir en paralelo, lo que lo hace totalmente compatible con sus antecesores
80x86.
El nico aspecto en el que Pentium no sigue la prctica RISC es en su arquitectura de conjunto
de Registros, mientras RISC generalmente usa largos grupos de 32 registros enteros y 32 de
punto flotante, el Pentium sigue con la estructura de registros de los 80x86 (para mantener la
compatibilidad).
El Pentium corre a la misma velocidad por fuera que en su interior, y su potencia la dedica a las
operaciones de punto flotante logrando un aumento en el rendimiento de 5 veces el logrado por
un 486.
El chip, fabricado con 3,1 millones de transistores y 273 pines, genera mucho calor, alcanzando
71C unos 10C mas que un 486, provocado por su alta velocidad de reloj y la magnitud de
transistores que lo conforman. Esto provoca que los fabricantes que pensaban poner los chips
Pentium en el viejo gabinete de las 486 o en PCs tipo cuaderno (Lap-top), se arriesgan a que
algo se derrita, para combatir este calor, algunos fabricantes montan disipadores de calor
sobre el mismo chip, otros prefieren un sistema de mltiples ventiladores, o ventiladores
integrados al chip (chip cooler), o mejor an unidades de enfriamiento controladas por
termostatos.
Otro problema es la pobre velocidad de la memoria central, sta no poda seguir la velocidad
del procesador, y para eliminar este cuello de botella, las computadoras comenzaron a incluir
un pequeo banco de memoria esttica muy rpida y extremadamente cara llamada cach, que
acta como un almacenamiento general de datos o instrucciones que se usan frecuentemente.
El Pentium complica an mas el sistema y a fin de satisfacer la rapidez del procesador,
proporciona dos cachs de retroescritura (Write - through de 8 KBy, uno para datos y otro para
instrucciones.
En 1994, la presentacin del Pentium 90 cambi algunas cosas, sus 3,3 volts y el consumo de 3
a 4 Watts y su diseo de 0,6 micrones operan a mas baja temperatura, logrando enfriar los
gabinetes de esas PCs poderosas. Esto elimina el mayor obstculo para poner un Pentium en
una PC del tipo porttil.
Ejecucin superescalar
El Pentium tiene 3 unidades de ejecucin en pipeline (dos enteras y una flotante), y puede
emitir dos operaciones enteras y o una de punto flotante en cada ciclo de clock. Cada pipe
entero (U y V de la figura A1.39) contiene su propia ALU y su propia lgica de generacin de
instrucciones, y ejecuta la funciones de Prefetch(PF), decode 1(D1), decode 2 (D2),. El efecto
del pipeline no es reducir el tiempo de ejecucin de una instruccin individual, sino que
superpone varias instrucciones simultneamente para reducir el tiempo total. Los
descodificadores paralelos determinan si las dos instrucciones vigentes renen las condiciones
de apareamiento establecidas por Pentium: Las instrucciones deben ser simples, no debe
existir dependencia entre ellas, ninguna puede contener un valor de desplazamiento y un valor
inmediato, y las instrucciones con prefijos solo se pueden ejecutar en el pipe U.
Las instrucciones simples son las que se procesan en el hardware, no requieren soporte de
microcdigo y se ejecutan en un solo ciclo de clock.
Si falla el apareamiento y solo se emite una instruccin hacia el pipe U, la segunda queda
demorada y se vuelve a testear con la siguiente instruccin, conservando as un orden de
ejecucin.
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
78 -
C i c l o 7
U V
P F
D 1
D 2
E X
W B
i 1 i 2 i 3
i 4
i 5
i 6 i 7 i 8
i 1 i 2 i 3 i 4 i 5 i 6 i 7
i 8
C i c l o 1
i 1 i 2 i 3 i 4 i 5 i 6 i 7
i 8
i 1 i 2 i 3 i 4 i 5 i 6 i 7 i 8
i 1 i 2 i 3 i 4 i 5 i 6 i 7
i 8
U V U V U V U V
U V
C i c l o 2 C i c l o 3 C i c l o 4 C i c l o 5 C i c l o 6 C i c l o 8
F i g u r a A 1 . 3 9 E j e c u c i n d e l P i p e l i n e d e l P e n t i u m
La etapa EX del Pentium, realiza operaciones de ALU y bsqueda y carga de datos, por lo que
aquellas que requieran ambas operaciones utilizarn mas de un pulso de clock en EX.
La FPU del Pentium tambin est interrelacionada mediante pipeline. Tiene ocho etapas, cinco
de las cuales son compartidas por los dos Pipelines enteros. La etapa WB entera acta como la
etapa X1 de punto flotante, que convierte los nmeros de punto flotante en formato de memoria
externa y los graba en los registros de la FPU. Luego sigue etapa X2, el redondeo y la
grabacin, y finalmente produce en ER el informe de errores y la actualizacin de estado.
Las operaciones de punto flotante no se pueden aparear y siempre se ejecutan en el pipe U,
con la excepcin de la operacin FXCH que se puede aparear con todas las instrucciones
simples.
Alimentacin del pipeline del Pentium
El procesador funciona al doble de velocidad que un equivalente 486 en cdigos enteros. Pero
para poder ejecutar ms instrucciones debe ser posible suministrarlas lo suficientemente rpido,
por lo tanto, una innovacin muy importante es el aumento del ancho de banda disponible en
memoria, a 64 bits. Las cachs de instrucciones y de datos de 8 KBy del Pentium estn
organizadas en lneas de 32 bytes y la interfase del bus puede llenar estas lneas con una sola
lectura en modalidad de rfaga de 4 porciones de 64 bits de la memoria externa. Solo el bus de
direcciones y el grupo de registros enteros permanecen en un ancho de 32 bits.
Las cachs utilizan el mtodo de retroescritura (Write-Thruogh) para reducir el trfico externo
del bus y como el chip est destinado a utilizarse en multiprocesadores de memoria compartida,
la cach de datos soporta el protocolo MESI, que mantiene la coherencia entre las cachs
mediante la tcnica de bus snooping (entremetido).
Prediccin de bifurcacin
Los cambios de control de flujo constituyen el enemigo principal de un sistema de Pipelines
eficiente.
Una instruccin de bifurcacin, convierte en irrelevantes a todas las instrucciones siguientes
pues hay que deshecharlas. El sistema descarta estas instrucciones y crea una burbuja hasta
que se puedan cargar instrucciones vlidas de la direccin objeto de la bifurcacin.
El Pentium soluciona este problema con un esquema de prediccin dinmica. Un BTB (branch
target buffer) y TLB (Translation lookaside buffer objeto de la bifurcacin). La BTB recuerda la
direccin objeto y la determinacin tomada en cada bifurcacin, y predice sus direcciones
futuras en base a sus historias de ejecucin (esta tcnica se conoce como LRU - Least
Recently Used que la profundizaremos en el Mdulo 5 en administracin de memoria paginada
bajo demanda)
El buffer activo carga instrucciones secuenciales, y cuando aparece una instruccin de
bifurcacin en l, el BTB predice que camino adoptar. Si la prediccin es bifurcacin tomada,
entonces el segundo buffer de carga se convierte en activo y comienza la carga de
instrucciones de la direccin objeto de bifurcacin. Una determinacin incorrecta presupone
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
79 -
una demora de tres a cuatro ciclos de clock, durante los cuales ambos pipelines se desocupan
y se carga la instruccin objeto correcta.
El BTB no es ms que una cach de conjunto asociativo de cuatro vas, 1 KBy con 256 lneas,
conteniendo cada una de ellas una direccin objeto de bifurcacin y 2 bits de historia. Cada vez
que se toma una bifurcacin, el Pentium pone su direccin objeto en la BTB, y este predice la
accin.
Un cdigo assembler como este:
; ; pr i mo en ecx, k en edx, FALSE en al
l oop_i nt er no
mov byt e pt r f l ags( edx) , al
add edx, ecx
cmp edx, FALSE
j l e l oop_i nt er no
No es mas que un LOOP y en un sistema 486 consume 6 ciclos, mientras que en un Pentium
se ejecuta en solo dos ciclos; mov y add se aparean y se ejecutan en paralelo durante un ciclo,
cmp se aparea con j l e en otro ciclo, y el BTB predice correctamente que se tomar la
bifurcacin, por lo tanto sta no consume ningn ciclo.
OverDrive
El procesador Pentium OverDrive de Intel est diseado para sistemas 486 que buscan
potencia adicional por solo $500 o menos, triplica su 486 de 25 MHz, aunque no llega al nivel
del Pentium.
El procesador Pentium OverDrive es una mezcla de lo viejo y lo nuevo. Gracias a su
arquitectura superescalar, su rpida unidad de punto flotante y su prediccin de bifurcacin es
un Pentium de corazn. Pero a fin de mantener la compatibilidad de la arquitectura integrada
486, incluye un bus de 32 bits.
Reemplazar el CPU del sistemas y ejecutar el programa de configuracin, solo lleva unos pocos
minutos, y se podra decir que lo mas complicado es sacarle la tapa al gabinete. Los
requerimientos para usar este chip, son que la PC posea un zcalo de 237 o 238 pines y que el
sistema se encuentre en la lista de sistemas escalables de Intel.
El Pentium OverDrive a 63 MHz, incluye un ventilador de enfriamiento y un utilitario de software
de monitoreo que se carga en el arranque, y vigila la temperatura de la CPU. En caso de que el
ventilador trabaje deficientemente o se pare, el software avisa y automticamente el chip pasa a
trabajar a 25 MHz.
INTEL P6
El nuevo chip de Intel tiene el nombre de P6. El P6 contiene la mayor cantidad de transistores
que jams se haya visto en un procesador de comercializacin masiva: 5,5 millones en el
ncleo de la CPU y 15,5 millones en la cach secundaria (Ver dibujo c) de la figura A1.35) .
Las tcnicas son impresionantes pero no originales, los nuevos chips producidos por AMD,
Cyrix y NexGen muestran diseos similares.
El P6 tiene una singular cach secundaria que est conectada a la CPU mediante un bus
dedicado. Esta cach de 256 KBy de SRAM (RAM esttica), que reside en el segundo
compartimiento del P6, simplifica el diseo y la construccin de sistemas basados en este chip.
La rapidez del P6 es 33 % mayor que el Pentium funcionando a la misma velocidad de reloj, y el
primer chip P6 trabaja a 133 MHz, lo que lo hace alrededor de el doble de rpido que un
Pentium 100 MHz. Esto lo hace mas rpido que el Nx586 de NexGen y similar al K5 de AMD y
al M1 de Cyrix.
Comparado con los chips RISC, el P6 todava no es el microprocesador mas rpido, pero lo que
s puede hacer es correr la mayora del software disponible, adems el procesador RISC mas
rpido es solo 1,5 veces superior al P6 aunque ya se disponen de versiones de 500 MHz en el
caso del ALPHA de Digital Equipment Company.
Mezcla CISC/RISC
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
80 -
El P6 es una mquina superescalar de tres vas que puede despachar simultneamente cinco
instrucciones internas. Para amplificar an ms ese ancho de banda de instrucciones, el P6
mejora su sistema de cach con la incorporacin de ms registros, mejor prediccin de
bifurcaciones y manejo de instrucciones fuera de orden.
El P6, superando la brecha que los diferencia con un inteligente descodificador que divide las
extensas instrucciones CISC en operaciones ms simples que se parecen ms a las
instrucciones RISC. Las operaciones simplificadas (micro-ops), luego se envan al ncleo. Las
micro-ops, son mas fciles de despachar y ejecutar en paralelo que sus complejas antecesoras
x86.
El principal objetivo es superar las limitaciones de las instrucciones x86 manteniendo la
compatibilidad con el software para x86 existente. El P6 son dos chips en el mismo envase. Un
dado es el ncleo de la CPU, incluyendo dos cachs primarias de 8 KBy cada una, el otro dado
es una SRAM de 256 KBy que funciona como un conjunto de cach asociativo de cuatro vas.
Comparten el mismo encapsulado cermico de 387 pines pero constituyen chips separados y
vinculados por un circuito. Esto simplifica el diseo de sistemas basados en P6 ya que no se
debern preocupar por el tamao y configuracin de la cach secundaria para adaptarla a las
exigencias de la CPU.
El bus dedicado de comunicacin entre los chips es de 64 bits y funciona a la misma velocidad
de reloj que la CPU. Esto mejora notoriamente su eficiencia, velocidades de bus totalmente
sincronizadas y ausencia de peleas con otras operaciones de entrada/salida, ya que est
totalmente separado del bus de E/S.
Pero esto trae problemas de compatibilidad, un procesador P6 con cach externa no sera
compatible con la versin multichip porque requerira 72 pines ms, pero sera casi tan rpido
como aqul.
Microarquitectura P6
La memoria cach de instrucciones es de dos vas y la de datos de cuatro. Intel, con el P6 en
lugar de aumentar el tamao de las cachs dise una jerarqua de cachs para permitir que
los pedidos puedan pasar libremente de una cach a otra sin bloquear la ejecucin.
Si no puede encontrar lo que busca en las cachs primarias internas (primero en la de 8 kBy
luego en la de 256 KBy), verifica la secundaria (mediante el bus dedicado), sin demorar mas de
un ciclo de reloj. Si no lo encuentra, accede a la memoria central mediante un bus distinto.
Este bus es mas lento, pero mientras espera un acceso a memoria, puede comenzar otro
acceso, lo que mejora la situacin. Para mantener la coherencia entre caches y memoria,
tambin utiliza el protocolo MESI.
Las CPU de procesamiento en orden se detienen mientras esperan que se ejecute una
instruccin de alto consumo de tiempo de proceso, debido a que deben ejecutarse en el orden
prefijado. Esto provoca una demora en el flujo del pipeline. Para impedir esta prdida de
tiempo ocioso, el P6 puede ejecutar las instrucciones casi en cualquier orden. La CPU puede
cargar y ejecutar la siguiente orden, en lugar de quedarse esperando. Por supuesto, los
resultados se almacenan en el orden correcto.
Solo algunas instrucciones no pueden alterar su orden y es cuando una instruccin depende del
resultado de la anterior.
La ejecucin fuera de orden permite a la CPU adaptar el flujo de instrucciones a sus recursos
internos disponibles.
La prediccin de bifurcacin la realiza mediante un algoritmo de historia dinmica de 4 bits. El
P6 predice entre 10 y 15 bifurcaciones anidadas.
Ejecucin superescalar
La ejecucin fuera de orden es manejada por una unidad denominada estacin de reserva, que
se ocupa de establecer el orden en que las micro-ops se despacharn hacia las diversas
unidades de ejecucin.
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
81 -
Existen 5 unidades de ejecucin: dos de enteros(IU), dos generadoras de direcciones (AGU)
para operaciones de carga y almacenamiento y una unidad de punto flotante (FPU).
La estacin de reserva puede despachar simultneamente hasta 5 instrucciones por ciclo de
reloj, y sostiene un promedio de tres, si la micro-op no est bloqueada por la dependencia, y la
unidad de ejecucin est disponible, entonces, en este caso es despachada para su ejecucin.
La FPU es la misma que en el Pentium.
ALGUNOS PROBLEMAS DEL RISC
Las instrucciones simples del RISC implican un desmesurado crecimiento de cdigo.
No se conceban un compilador sin apoyarse en instrucciones compleja, esto sugera que su
expansin al cdigo RISC conducira a programas de dimensiones grotescas. Pero al compilar
se obtiene gran cantidad de informacin que se pierde dentro de la estructura esttica de una
macroinstruccin. Un compilador inteligente (sagaz), puede cada vez generar un cdigo a
medida de la situacin.
En los pocos casos en que esto no es as, el programa puede llamar a una biblioteca runtime
con microcdigo RISC denominada millicode.
Las mquinas RISC no sirven para aplicaciones comerciales
Si bien no pueden correr lenguajes como el COBOL, ya que los datos tienden a representarse
de un modo nativo a la mquina y piden instrucciones poderosas. La solucin simplemente
pasa por implementar todas las instrucciones posibles que no afectarn la complejidad del
procesador; el resto pas a millicode. En la prctica, un programa COBOL no puede
optimizarse con la misma intensidad que un lenguaje estructurado, el resultado es que los
interpretes COBOL escritos en C, terminan corriendo con la misma velocidad que una versin
totalmente compilada.
Conclusin:
La competencia entre fabricantes es feroz. Solo subsistirn aquellos que cometan menos
errores en sus diseos, uso de tecnologas, o en las estrategias de especificaciones. De todos
modos el beneficio es evidente... los costos disminuyen y los productos aumentan su calidad,
para mejorar las prestaciones. El Hardware avanza muy rpidamente, mientras el Software lo
hace a otro ritmo, mucho mas lento.
1.6 Bibliografa recomendada para ste mdulo:
1. The Personal Computer from the Inside Out - Murray Sargent III and Richard L. Shoenmaker -
3rth. edition - Addison Wesley - 1994 - 720 pages.
2.The Undocumentented PC - Frank van Gilluwe - Addison Wesley - 1994 - 864 pages.
3. A History of Personal Workstations - Edited by Adele Goldberg - 1988 - ACM Press - 537 pages.
4. Microprocessors: Vol. I, II y III. Intel - 1994 -
5. Computer Organization and Architecture - Willam Stallings - 2d. Edition -
6. Introduccin general a la Informatica: 1 La PC por dentro, Modelo de funcionamiento de
Computadoras - M.C. Ginzburg - Biblioteca Tecnica Superior - 1996 - 158 pginas.
7.Organizacin y Diseo de Computadores - La interfaz Hardware / Software - David A. Patterson &
J ohn L. Hennessy - MC Graw Hill - 1995 - 765 pginas.
8. Organizacin de Computadoras - Un enfoque estructurado - Andrew S Tanenbaum - Prentice Hall -
2 Edicin - 1988 - 507 pginas.
GLOSARIO DE TERMINOS EN IDIOMA INGLS
Processor Microprocessing Unit Large Scale Integration
Very Large Scale Integration Hardware Software
Single Instruction Stream Single Data Stream Multiple Instruction Stream
Multiple Data Stream Array of Processors Array of Processing elements
Lowley Couplet Tightly Couplet Link
Record Read Write
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
82 -
Address
Data
Buffer
Server
Operation
Slot
Pipe Line Pipe-line
Data Flow AND OR
XOR Add Multyply
Divide Load Store
Branch Clock Clear
Fetch
Switches
Decode
Execute
Reset
J umpers
Set System Word
Half Double Matching
Hashing Chip Enable
Disable Strobe Flags
Overflow Zero Negative
Carry Halt Ready
Pointer Setup Time
Date
Program Counter
Associative Search
Refresh Cycle
Upgrade
Micro Channel Architecture
Adapter Definition File
Expanded Memory System
Write through
Workstation
Persona Computer
Branch Target Buffer
Extended Industrial Standard Architecture
LAN Server
Mainframe
Architecture with Multiprocessing Suport
Data Pointer
Instruction Pointer
Bit Slice
First In First Out
Last In First Out
Programmable option Select
Peripherical Componenent Interconect
Extended Memory System
Write back
Computer Aided Design
Chip Cooler
Translation Lookaside Buffer
Motherboard
File Server
Host
Over Driver
Stack Pointer
Data Driven Concept
Tristate
Chip select
Master Bus
Advanced Technology
Special Interest Group
Set Associative
Power On Self Test
Delay Slot
Hardware interlock
Least Recently Used
Laptop
Passive Blackplane
Flexible Advanced System
Bootstrapping
GLOSARIO DE TRMINOS EN CASTELLANO
Computador Entrada Salida
Proceso Procesador Microprocesador
Programa Algoritmo Arquitectura de Computadoras
Arquitecturas Abiertas Arquitectura Superescalar Arquitectura Escalar
Arquitectura Esttica Arquitectura Dinmica Arquitectura Reconfigurable
Arquitectura Paralela Arquitectura PipeLine Arquitectura Data Flow
Tecnologa de Arquitecturas Software Hardware
Instrucciones Dbilmente Acoplados Fuertemente Acoplados
Operador PipeLine PipeLine Aritmticos PipeLine de Instrucciones
Seudo PipeLine Homogneo Heterogneo
Sistema binario Monoprocesador Multiprocesador
Punto Fijo Punto Flotante Formato
Flujo de datos Circuito Integrado Chip
Computaciones Tipo de Procesamiento Palabra
Longitud de la Palabra Tipo de Dato Tipo de Instrucciones
Registro Perifrico Interrupcin
Modo de direccionamiento Descodificador Secuenciador
Bit Byte Pixel
Nibble Caracter Unidad de Control
Unidad Central de Procesamiento Unidad Aritmtica y Lgica Interfase de Entrada/Salida
Bus Bus Local Memoria Central
Memoria Real Memoria Protegida Punto de Memoria
Lectura de Memoria Escritura de Memoria Direccin de Memoria
Direccionamiento Tiempo de Acceso Capacidad de Memoria
Capacidad de Almacenamiento Densidad de Almacenamiento Ciclo de Memoria
Ciclo de Almacenamiento Memorias Primarias Volatilidad
Acceso Aleatorio
Memoria Esttica
Rango
resolucin
Memoria activa
Memoria dinmica
Banco de Memoria
Tabla
Cola
Memoria pasiva
Ciclo de refresco
Vector
Lista
Flash ROM
ACRNIMOS USADOS EN ESTE MDULO
LSI Large Scale Integration UP Unidad de Procesamiento
Notas sobre Sistemas Operativos Conceptos bsicos sobre Arquitecturas de Computadoras - Mdulo Repaso - Parte A -
83 -
VLSI Very Large Scale Integration MPU Micro Processing Unit
E/S Entrada / Salida DP Data Pointer
I/O Input / Output SP Stack Pointer
CPU Central Processing Unit RIE Registro de Instruccion en Ejecucin
SISD Single Instruction Stream Single Data Stream PLA Programmable Logic Array
MISD Multiple Instruction Stream Single Data Stream C.O. Codigo de Operacin
SIMD Single Instruction Stream Multiple Data Stream OP Operacin
MIMD Multiple Instruction Stream Multiple Data Stream R / W Read / Write
ALU Aritmetic Logic Unit IPL Initial Program Loader
U.C. Unidad de Control AC Acumulador
LAN Local Area Network MSD Most Significant Digit
M.C. Memoria Central LSD Last Significant Digit
S.O. Sistema Operativo EGA Enhanced Graphical Adaptador
OCCAM Lenguaje de Programacin VGA Video Graphical Adaptador
PC Personal Computer PIA Periherical Interface Adaptador
P.C. Program Counter ASCIA
Asyncronic Syncronic communication interface adaptador
C.I. Circuito Integrado ROM BIOS Read only Memory - Basic input Output System
RISC Reduced Instruction Set Computer ISA Industry Standard Architecture
CISC Complex Instruction Set Computer EISA Extended ISA
M.P. Mdulos de Procesamiento POS Programmable Option Select
C.U. Communication Control Unit ADF Adapter Definition File
E.C.U. Execute Control unit PGA Paquete de cermica
P.U. Processing Unit CAD Computer Aided Design
DMA Direct Memory Access MIPS Millon de Instrucciones por Segundo
ASCII American Standard Code Information Interchange FXU Fixed Point Unit
BCD Binary Coded Decimal FPU Floting Point Unit
TTL Transistor Transistor Logic PReP Plataform Reference especification for
powerPC
MOS Metal Oxid Semiconductor FXCH Instruccin del Pentium
CMOS Complementary Metal Oxid Semiconductor EX Execution unit (Pentium)
HMOS High Metal Oxid Semiconductor TLB Translation Lookaside Buffer
CHMOS Complementary High Metal Oxid Semiconductor BTB Branch Target Buffer
ECL Emisor Colector Logic PCI Peripherical Component Interconect
MNOS Metal Nitruro Oxid Semiconductor VESA Video Electronic Standard Assotiation
PAI Pedido de Atencin de Interrupcin MCA Micro Channel Architecture
FLIH First Level Interrupt Handler VL VESA Local Buss
INTA Interrupt Acknowledge INT Instruccin de interrupcin
ICU instruction control unit D.N.A. Acido Desoxiribonucleico
AT Advanced Technology AGU Address Generator Unit
XT Extended Technology RAM Random Access Memory
ROM Read Only Memory SRAM Static Random Access Memory
DRAM Dinamic Random Access Memory EAROM Electrically Alterable ROM
PROM Programmable ROM EPROM Erasable Programmable ROM
EEROM Electrically Erasable ROM RPROM Reprogrammable ROM
Prg Programmable FIFO First In First Out
CCD Charge Cupled Device CD-ROM Compact Disc-ROM
PEPS P^rimero entrado Primero salido SIP chips de memoria para zocalos
LIFO last in First Out EDO Error Detection output
SIMM chips de memoriasoldados en plaquetas
EMS Expanded Memory System

Você também pode gostar