You are on page 1of 37

REPUBLICA BOLIVARIANA DE VENEZUELA

MINISTERIO DEL PODER POPULAR PARA LA DEFENSA


UNIVERSIDAD NACIONAL EXPERIMENTAL
POLITCNICA DE LA FUERZA ARMADA BOLIVARIANA
UNEFA
5to SEMESTRE
CIRCUITOS LGICOS

Ingeniero en sistemas:
Rafael Rodrguez

INTEGRANTES:
Guaipo Yleana C.I: 10.699.241

Caracas, 10 de junio de 2014

ndice

Contenido

Pg.

Introduccin....2

Registros y Contadores....3

Unidad de Memoria RAM y Tipos de memoria.........4

Transferencia de registros...21

Conclusin.....28

Anexos33

Bibliografa..37

Introduccin
Se denomina elemento de memoria a cualquier dispositivo que tenga
capacidad para recordar informacin almacenada en el mismo, durante un
intervalo de tiempo relativamente grande. El elemento bsico de memoria es aquel
cuya capacidad es la de recordar un bit de informacin, es decir, almacenar un 1 o
un 0 hasta tanto esa informacin sea modificada desde el exterior. Es el caso de
los circuitos biestables o flip flop.
La necesidad de contar con elementos capaces de almacenar informacin
en grandes cantidades lleva al desarrollo de distintos tipos de elementos de
almacenamiento masivo, estructurados fsicamente de acuerdo con la prestacin
que de ellos se requiere.
Por otra parte, las modernas tcnicas de integracin en gran escala
permiten la compactacin cada vez mayor de los medios semiconductores de
almacenamiento de informacin, logrando as la posibilidad de estructurar
sistemas de memoria cuya complejidad exterior no es proporcional al crecimiento
de la capacidad de almacenamiento.
En el presente trabajo se desarrollara sobre REGISTRO, CONTADORES Y
UNIDAD DE MEMORIA RAM, donde se debern explicar los Registros ms
importantes,

Modos

de

Direccionamiento

(Direccionamiento

directo,

Direccionamiento indirecto, Registros especiales, El registro STATUS), tambin


registro

W,

unidad

Temporizador/Contador.

aritmticolgica

(ALU),

Puertos

deEntrada/Salida,

Referente a la MEMORIA RAM, se debern incluir sus caractersticas


(Localizacin, Capacidad, Mtodo de acceso, Velocidad de acceso), adems tipos
bsicos es decir,esttica o SRAM (Async SRAM, Sync SRAM, Pipelined SRAM) y
dinmica o DRAM (FPM, EDO, BEDO, SDRAM, PC-100 DRAMPC-133 DRAM,
DRDRAM,DDR SDRAM, ESDRAM, SLDRAM).
Referente a la LGICA DETRANSFERENCIA DE REGISTROS, se estudiaran
los siguientes puntos: Lenguaje de transferencia de registros, Smbolos bsicos
para el lenguaje de transferencia de registros, Notacin de registros, Transferencia
enparalelo, Transferencia en serie, Transferencia de bus, Canal de bus de tres
estados, Canal de bus de tres estados, Transferencia de memoria, entre otros
trminos. Adems se ilustrara con graficas y anexos para un mejor entendimiento.

1. Los registros
Son reas de almacenamiento que hacen que el procesador, son de
dimensiones mnimas, tienen la ventaja de su rapidez. Comparados con los
accesos a RAM, los de registro son como mnimo 10 veces ms veloces. Ejemplo;
el 8088 dispone de catorce registros de 16 bits que se agrupan en cuatro grupos y
que reciben nombres especiales (precisamente los que se utilizan para
designarlos en lenguaje ensamblador).

1.1 Registros de uso general


Existen 4 registros denominados AX, BX, CX y DX que en realidad tienen
asignados usos caractersticos, aunque pueden ser utilizados a discrecin para
cualquier cosa que necesitemos.
1.1.1 AX es denominado acumulador; suele contener uno de los operandos que
intervienen en las operaciones aritmticas y lgicas, y despus de esta, el
resultado de la operacin. En general las instrucciones que trabajan con
este registro (o su mitad inferior) tienen un microcdigo ms simple que la
misma instruccin ejecutada con otro registro.

1.1.2

BX es el registro base, suele contener la direccin de inicio de una tabla de


valores.

1.1.3

CX es denominado contador. Las instrucciones de bucle (LOOP) utilizan


este registro como contador.

1.1.4

DX es un registro de datos, multiuso.

Se utiliza en operaciones de

multiplicacin y divisin junto con AX. En operaciones de entrada/salida de


puertos IN/OUT, su mitad inferior DL, contiene el nmero de puerto.
Aunque estos cuatro registros son de 16 bits (como los 10 restantes), en
caso necesario pueden ser utilizados en dos mitades (nibbles), "High" y "Low", de
8 bits, con lo que puede considerarse que existen 12 registros de uso general (no
simultneos), los anteriores y sus mitades: AH; AL; BH; BL; CH; CL; DH y DL.

1.2 Registros de segmento


Se dispone de cuatro registros que sirven para contener las direcciones de
otros tantos segmentos (zonas de 64 KB de memoria).

Utilizndolos en

conjuncin con otros registros que sealan las direcciones concretas dentro de
estos segmentos (los desplazamientos ), permiten manejar la totalidad de la
memoria direccionable (el bus de direcciones es de 20 bits).

Segmento de cdigo CS ("Code segment").

Seala la direccin del

segmento de cdigo del programa que se est ejecutando.

Segmento de datos DS ("Data segment").

Seala la direccin del

segmento de datos del programa en ejecucin.

Segmento de pila SS ("Stack segment"). Seala la direccin del segmento


donde est la pila del programa.

Segmento extra ES ("Extra segment"). Es un segmento auxiliar a los


anteriores, se utiliza para sealar espacio extra en alguno de los segmentos
o para almacenar momentneamente direcciones intermedias.

Puede ocurrir que programas pequeos utilicen el mismo segmento


para el cdigo, los datos y la pila.

1.3 Registros de puntero

Son 5 registros destinados a contener direcciones; estas direcciones son


desplazamientos dentro de los segmentos indicados por los registros de
segmento (ver figura 2).

El

primero,

denominado

indistintamente puntero

de

instruccin

IP ("Instruccin pointer") y contador de programa PC ("Program counter"),


indica el desplazamiento (dentro del segmento de cdigo CS) de la prxima
instruccin a ejecutar.

El puntero de pila SP ("Stack Pointer"), seala el desplazamiento del final


de la pila dentro del segmento de pila SS. En caso necesario la pila puede
crecer a partir de este punto, de forma que por ejemplo, una nueva
invocacin de funcin crear un nuevo registro de activacin que
comenzar en este punto.

El puntero base BP ("Base pointer") seala el desplazamiento (dentro del


segmento de pila SS) donde se encuentra el origen de la zona ocupada por
las variables dinmicas.

Existen dos registros denominados "de ndice", en razn de su utilizacin


muy particular; el ndice fuente SI ("Source index") y el ndice destino
DI ("Destination index"). Generalmente estos dos registros se utilizan con
alguno de los registros de uso general y con ciertas instrucciones
especficamente pensadas para transferir datos (dentro de un rango de
posiciones de memoria), desde un punto inicial de un segmento de datos, a
otro.

1.4 Registro de estado


Existe un registro especial, el registro de estado (FLAGS), en el que 9 de
los 18 bits actan como semforos (indicadores del estado del procesador y del

resultado de determinadas operaciones). Por ejemplo, si despus de una suma


aritmtica hay o no desbordamiento del bit ms significativo.
Los nombres y situacin de cada uno, dentro de la palabra de 16 bits (ver
figura 3 ).

Figura 3

Cada bits individual puede estar "activo" (1) o "inactivo" (0), y tiene un
identificador que termina en F ("Flag"). Son los siguientes:
Bit

Indicador de:

Uso

CF Acarreo ("Carry Indicador de arrastre del bit de mayor orden, que


Flag")
puede ocurrir en las operaciones aritmticas suma y
resta.
PF Paridad ("Parity Si est activo Indica un nmero par de bits activos
Flag")
(bits cuyo contenido es 1). Esta informacin es til
cuando el procesador controla transmisiones de
datos.
AF Acarreo auxiliar Indicador de ajuste en operaciones aritmticas con
cantidades BCD.
ZF Cero ("Zero
Flag")

Est activo si el resultado de operacin es cero o


resultado de comparacin igual.

SF Signo ("Sign
Flag")

Si est activo indica que el resultado de operacin o


de comparacin son negativos.

TF Detencin
("Trap Flag")

Si est activo, el procesador genera


automticamente una interrupcin despus de la
ejecucin de cada instruccin, lo que permite
controlar paso a paso la ejecucin del programa.
Este bit debe estar normalmente inactivo (a 0).

IF Interrupcin
Este bit controla el estado del sistema de
("Interrupt Flag") interrupciones enmascarables. Cuando est activo
(1) permite las interrupciones; el estado inactivo (0)
las deshabilita.
DF Direccin
("Direction
Flag")

Indica la direccin de las operaciones.

OF Desbordamiento Seala desbordamiento aritmtico


(Overflow Flag")

Ejemplo: Ver Anexo 1


2. La Memoria RAM
Es aquella memoria que se volatiliza al apagar el equipo. A mayor cantidad
de RAM, ms ventanas se pueden abrir, ms programas funcionando
simultneamente y menos bloqueos de la PC. Existen varios tipos de RAM, segn
su forma de encapsulado.
MDULOS DIP (Dual Inline Package)
Eran chips de memoria de forma rectangular y chata. Presentaban dos
lneas de pines en sus laterales. Una muesca o punto sobre el chip indicaban cul
es la pata n 1 para evitar colocar el chip al revs en el zcalo de la mother. Hoy
no se utilizan memorias RAM en formato DIP, pero s todava como cach en
motherboards u otras tarjetas.
MDULOS SIP (Single Inline Package): se trataba de mdulos de memoria RAM
cuyos chips de memoria se encontraban soldados sobre una pequea placa de
circuito impreso que haca contacto con la motherboard con una sola hilera de
pines soldados en uno de sus bordes. Los pines calzaban en un zcalo colocado
en la mother.
MDULOS SIMM (Single Inline Memory Module)

Son mdulos de memoria que tambin tienen una sola hilera de pines. Una
pequea placa de circuito tiene soldada en una o ambas caras varios chips de
memoria. Estos mdulos de memoria se presentan en dos versiones. Existen:
-SIMM

de 30 pines
Organizan la cantidad total de memoria en renglones de a 8 bits. (Mother

486.)
-SIMM de 72 pines
Organizan la cantidad total de memoria en renglones de a 32 bits. (Mother
486 o Pentium).
MDULOS DIMM (Double Inline Memory Module)
Similares a los SIMM, aunque poseen 168 pines y organizan la memoria en
renglones de a 64 bits. Hay mdulos DIMM de 168 pines para 16, 32, 64, 128, 256
y hasta 512 MBytes. (Mother Pentium o Pentium II en adelante).
MDULOS DDR (Double Data Rate Synchronous DRAM)
Esta tecnologa transmite al doble de la velocidad del bus del
sistema. Estas memorias se presentan en forma de mdulos de 184 contactos o
pines.

Figura 3 - Mother de Pentium II partes identificadas

Zcalos y Bancos
Un banco es un conjunto de zcalos para insertar chips individuales (como
los DIP, o SIP), o mdulos de memoria RAM (SIMM de 30, SIMM de 72 o DIMM
de 128 pines).
Una motherboard posee ms de un banco de memoria para agregar ms
memoria a la mquina sin tener que retirar la que estaba instalada. Cada banco de
memoria puede poseer 1, 2 4 zcalos.
Un banco organiza la cantidad total de memoria en renglones sucesivos
segn el ancho del bus de datos del microprocesador. Por ejemplo, en un Intel 486
(bus de datos de 32 bits), para colocar memorias en los bancos deben respetarse
las siguientes reglas:

1.- Un banco de memoria debe tener en todos sus zcalos la misma cantidad de
mdulos.
2.- Debe llenarse primero el banco 0, luego el banco 1, y as sucesivamente
(excepto si la motherboard posee autobanking).
3.- Un banco debe tener mdulos de la misma velocidad. No se puede colocar una
memoria SIMM de 60 nanosegundos junto con otra de distinta velocidad.

Memoria Cach
Estas memorias son de tipo estticas. Son muy veloces (10 ns) y tambin
caras, ya que su proceso de fabricacin es mucho ms complejo. Con una
memoria cach el micro lee una direccin de memoria y mientras procesa la
informacin el cach lee las restantes posiciones de memoria principal
consecutivas. Cuando el micro necesite leer la prxima direccin de memoria, su
contenido se encontrar en cach. De esta manera, se acelera mucho la velocidad
de procesamiento.
Cachs Sincrnicos y Asincrnicos:
El cach llamado de nivel 2, generalmente vena en formato DIP (montado
en sus propios zcalos) o PLC (soldado a la motherboard). Esta memoria, hasta la
aparicin del 486, trabajaba en forma sincronizada con el

reloj del micro. Al

cambiar su modo de trabajo, pas a operar en modo asincrnico, gracias a las


tcnicas de Bursting (rfaga) incluidas en el 486.
Las motherboards de Pentium I soportan memoria cach en mdulos
similares a los SIMM de 72 pines, aunque tienen 80. Estos mdulos se adquieren
aparte para expandir el cach hasta un mximo de 1MB. Sus tamaos son 256KB,
512KB y 1 MB; se los llama generalmente PIPELINED BURST.
Direccionar la Memoria

El direccionamiento de la memoria puede considerarse desde dos puntos


de vista: Fsico y lgico. El primero se refiere a los medios electrnicos utilizados
en el ordenador para acceder a las diversas posiciones de memoria. El segundo,
a la forma en que se expresan y guardan las direcciones; esto ha sufrido
mutaciones a lo largo del tiempo, y que arrastra modos que solo tienen una
justificacin de tipo histrico, en razn de las caractersticas del hardware de los
primeros PC's.

Notacin
El sistema de numeracin utilizado por los informticos para representar las
direcciones de memoria en el texto escrito es el hexadecimal (Ver anexo 2).
La razn es que los nmeros hexadecimales guardan cierta concordancia
con las potencias de 2. Por ejemplo, un bus de direcciones de 8 bits puede
acceder a 256 posiciones (en hexadecimal es el rango 00-FFh). En caso de
direcciones de 16 bits, se puede acceder 65.536 posiciones (es el rango 0000FFFFh). El bus de direcciones del PC XT, que tiene 20 bits, las posibilidades son
1.048.576 (es el rango 00000-FFFFFh).
Como veremos a continuacin, puede utilizarse una doble notacin: Direcciones
absolutas, indicadas por un hexadecimal de cinco dgitos, en el rango 00000FFFFFh, o endirecciones segmentadas, que utiliza dos grupos de cuatro dgitos
hexadecimales.

Direccionamiento segmentado
Hemos indicado que el bus de direcciones del PC XT era de 20 bits (

H2),

por lo que tericamente podan manejarse un total de 2 20 posibilidades


(1.048.576). Sin embargo, el procesador 8088 tiene registros de 16 bits, por lo
que solo puede contener directamente 216 posiciones (65.536).

La solucin consisti en expresar las direcciones mediante dos palabras de


16 bits, denominadas desplazamiento y segmento que, por consiguiente, pueden
ser representadas mediante un hexadecimal de cuatro cifras en el rango 0000FFFFh. Estas dos palabras pueden ser traducidas a una direccin de 20 bits
mediante la operacin denominada suma con desplazamiento. Por ejemplo,
suponiendo que el desplazamiento y el segmento fuesen respectivamente ABCDh
y E1FAh, la forma de obtener la direccin resultante es como sigue:
Una de las palabras, el desplazamiento, se desplaza una posicin aadindole
un cero a la derecha (equivale a multiplicarla por 16, ya que las direcciones se
expresan en hexadecimal). En nuestro caso, si el desplazamiento es ABCDh
resulta ABCD0h. Puesto que inicialmente es un hexadecimal de 4 cifras (ABCD
en nuestro caso), el desplazamiento la transforma en un hexadecimal de 5 cifras
(ABCD0). El valor obtenido se suma con el valor del segmento (E1FAh), as que
la direccin resultante, sera B9ECAh. Para distinguirla de la anterior, esta ltima
forma se denomina direccin absoluta.

Es frecuente escribir las direcciones segmentadas en forma de los


dos cantidades separadas por dos puntos, poniendo a la izquierda el valor
ms alto (el desplazamiento) y a la derecha el ms bajo (el segmento). En
forma segmentada, la direccin anterior se expresara ABCD:E1FA , y es
equivalente a la direccin absoluta B9ECAh.
Esta forma de representacin segmentada de las direcciones es en realidad
una imagen de cmo son manejadas internamente en el procesador .
Los procesadores 8088 tienen registros de 16 bits que pueden servir para
almacenar los desplazamientos, es decir, cualquier direccin dentro de una zona
de 64 KB (que se conoce como segmento). Disponen adems de 4 registros de
segmento de 16 bits (CS, SS, DS y ES), en los que se almacenan las direcciones
de inicio del segmento activo en cada momento. Resulta as, que pueden
direccionar un total absoluto de 1MByte, y hasta 64 x 4 = 256 KB sin necesidad de

cambiar los registros de segmento.

Esto es lo que se conoce como

funcionamiento en modo real (como puede verse, en realidad es una forma de


manejar la memoria).
En la siguiente figura se muestra una divisin de este "Mega" en 16
segmentos cuyos desplazamientos son justamente 0h, 1h, 2h ... Fh.

Modelos de memoria DOS


Las 220 posibilidades de direccionamiento antes comentadas, constituyen el
famoso lmite del "Megabyte" de memoria de los primeros PC's, de los cuales se
reservaron los no menos famosos 640 primeros KBytes como mximo disponible
para programas de usuario.
Como ver a continuacin, gran parte del "Sistema" se cargaba en realidad
en la memoria supuestamente reservada a usuario, con lo que en realidad el
especio para programas de aplicacin resultaba siempre muy precario. Desde
entonces, y en referencia a que el sistema operativo era MS-DOS, el primer

Megabyte de memoria se conoce como Memoria DOS; los primeros 640 KB


como memoria convencional o memoria base. Los 384 KB restantes (1024 640) son la memoria superior o "del Sistema" ("Upper memory"). Esta zona
superior contena cosas como adaptadores y memoria de video; chips de la ROMBIOS; ROMs de los controladores de disco, y adaptadores de red, aunque
existan "agujeros" sin uso que podan ser aprovechados. (ver figura anterior: Es
un mapa aproximado de la distribucin de esta memoria en el Sistema MS DOS.)
Aunque para el programador toda esta memoria RAM es un nico espacio
lgico, muchas de estas "cosas" estn fsicamente fuera de lo que es la memoria
RAM (si se abre la caja del ordenador). Por ejemplo, gran parte de la memoria de
video est fsicamente en las propias placas de los adaptadores de video.Los
programas DOS requieren la existencia de una zona contigua de memoria
convencional (preferiblemente de 640 KB), aunque en realidad este espacio debe
ser compartido con la tabla de vectores de interrupcin; rea de datos de la ROM
BIOS y buena parte del propio Sistema Operativo DOS.

Por ejemplo,

controladores de dispositivos (los famosos "device=..." del fichero CONFIG.SYS).


Como consecuencia de la escasez de espacio, se desarrollaron tcnicas para
permitir que controladores de dispositivos y TSR's se cargaran en otras zonas de
memoria. Generalmente este tipo de instrucciones de carga se sitan en los
ficheros CONFIG.SYS y AUTOEXEC.BAT, y aprovechan que no todo el espacio
de memoria superior es utilizado por el Sistema, de modo que existen zonas
ociosas en las que podan situarse los citados controladores.

Memoria expandida
Muy pronto se comprob que el Megabyte de memoria inicialmente
previsto era claramente insuficiente, por lo que se arbitraron diversos tipos de
soluciones. Los ingenieros de software, en cooperacin con los de hardware,
debieron hacer verdaderos juegos malabares para tratar de suplir la cortedad de
miras de los diseadores del PC.

Concretamente hubo dos soluciones que fuero muy utilizadas y populares


en su poca. La primera, fue resultado de una iniciativa conjunta de Lotus e Intel,
que desarrollaron una variedad de la tcnica de direccionamiento conocida como
conmutacin

de

bancos,

la

que

llamaron EMS ("Expanded

Memory

Specification"), que proporcionaba 8 MB de espacio adicional. Ms tarde fue


aceptada tambin por Microsoft con alguna pequea modificacin, pasando a
denominarse especificacin de memoria expandida LIM (Lotus, Intel Microsoft).
Poco ms tarde Quadram, Ahston-Tate y el fabricante de tarjetas de
memoria AST publicaron otra ms flexible denominada EEMS ("Enhanced EMS");
adems, la especificacin LIM fue perfeccionada para proporcionar 32 MB
adicionales mediante una combinacin hardware/software.

El procedimiento

consista en aadir al ordenador una placa adicional de memoria de conmutacin


de bancos de hasta 32 MB, que era conducida por un "driver" adecuado,
el EMM ("Expanded Memory Manager") cargado por el CONFIG.SYS.
El truco consiste en que en un rea en desuso de la memoria superior, se sita una
zona 64 KB, denominada marco de pgina, en la que existen 4 secciones de 16 KB
(ventanas) que se emplean como punteros a una pgina ms grande en la memoria de
conmutacin de bancos. Los programas podan utilizar segmentos de datos muy grandes,
ya que el gestor de memoria EMM se encargaba de traer automticamente a la "ventana" la
zona necesaria en cada momento.

Modo protegido y memoria extendida


La especificacin EMS de Lotus/Intel/Microsoft, permita manejar grandes
cantidades de datos (ahora no nos parecen tan grandes), pero no resolva el
problema de grandes cantidades de cdigo, ya que el segmento de cdigo no
poda manejarse de esta forma. Esto presentaba problemas no solo para
programas grandes, sino para cualquier intento de multiprogramacin, cuando
varios programas deben coexistir en memoria.

La aparicin del procesador Intel 80286, que en 1982 inici la era del PC
AT. Este micro permite un acceso a memoria que recuerda vagamente la
especificacin EMS, pero de forma nativa, ya que los mecanismos estn incluidos
en el procesador. Como la poltica de Intel ha sido mantener compatibilidad con
los micros anteriores, el 80286 poda trabajar en modo real, imitando el
funcionamiento del 8088 , mientras que la nueva forma se denomin modo
protegido.
El modo protegido utiliza los registros de segmento como punteros a unos
nuevos registros de direccin de 24 bits denominados tablas de descripcin
("descriptor tables"), que permiten acceder a un mximo de 2 24 (16 MBytes) de
memoria fsica, de forma que los registros de segmento son selectores que
marcan el inicio de una direccin de 24 bits. La memoria que se haca accesible
mediante este sistema se denomin memoria extendida, para distinguirla de la
antigua EMS. La posterior introduccin del 80386, con registros de 32 bits,
permiti direccionar hasta 232 (4 GBytes) de memoria externa.
Los nuevos micros incluyeron otras mejoras que permitan al Sistema
Operativo un funcionamiento ms cmodo y seguro de las aplicaciones cuando
operaba en modo protegido. Los mecanismos pertinentes estaban incluidos en
el hardware o al menos este proporcionaba recursos al SO para realizarlos
cmodamente, para sacar provecho de estas mejoras el Sistema deba estar
preparado ex profeso. El DOS no poda utilizarlas, s en cambio los sistemas ms
avanzados del momento, como OS/2, Unix o Windows. Bsicamente estas
mejoras se referan a dos cuestiones:

a) Memoria virtual
Esta tcnica consiste en hacer creer al programa que dispone de ms
memoria que la fsicamente disponible en RAM. Este artificio tiene sentido porque
en ese momento (y actualmente), la memoria extendida era mayor que la

fsicamente disponible en muchos sistemas, adems el disco duro era estndar en


todos los equipos.
Esta RAM ficticia se conoce como memoria virtual; una simulacin
conocida de antiguo en el mundo de los mainframes, que fue introducida en la
informtica personal a partir del 80286.

Este procesador ya dispona de un

controlador hardware para este menester, de forma que su manejo no significaba


una gran sobrecarga para el Sistema. Su funcionamiento se basa en que cuando
una aplicacin necesita ms espacio y la memoria fsica est agotada, el
controlador de memoria virtual proporciona espacio auxiliar utilizando un fichero de
intercambio ("Swap file") situado en memoria externa (disco duro generalmente ),
donde se almacena la informacin que no cabe en la RAM.
Adems de facilitar la apariencia de ms RAM que la fsicamente
disponible, este mecanismo permite que diversas aplicaciones compartan la
misma memoria fsica. Aunque para ello se requieran constantes maniobras de
carga y descarga ("swapping") de trozos del fichero de intercambio a memoria, por
lo que el rendimiento global del sistema se resiente si la desproporcin entre el
fichero de intercambio y la RAM es muy notable.

b) Multiprogramacin
Acceder a grandes cantidades de memoria, lo resolva la memoria virtual y
eran tambin necesarios algunos dispositivos adicionales de proteccin, que se
implementaron de forma nativa en los procesadores Intel286 y siguientes.
Estos dispositivos incluyen control de lmites, y posibilidad de acceso de
"solo lectura" y "ejecucin" en el segmento utilizado por la aplicacin, as como
una serie de privilegios que permiten proteger el cdigo del Sistema de las
aplicaciones o programas de usuario. Adems, la posibilidad de conmutacin
hardware entre tareas protege las aplicaciones de usuario unas de otras.

Adems de estos mecanismos, partir de la introduccin del 80486 en 1989,


los procesadores disponen de soporte hardware para implementar sistemas
multiprocesador, de forma que se haca posible una autntica multiprogramacin.

3. Transferencia de registros
Los registros de computadora estn representados por letras maysculas
(en ocaciones seguidas de nmeros), para denotar la funcin del registro. Por
ejemplo:
MAR (Memory address register): registro que contiene una direccin para la
unidad de memoria
PC : contador de programa
IR : registro de instruccin
R1 : registro de procesador
Los flip-flops individuales en un registro de n bits estn numerados en una
secuencia de 0 hasta n-1, comenzando desde 0 en la posicin de la extrema
derecha y aumentando los nmeros hacia la izquierda. La manera ms comn de
representar un registro es mediante una caja rectangular con el nombre del
registro dentro.

La transferencia de informacin de un registro a otro se representa en


forma simblica mediante un operador de sustitucin. El enunciado R2 <- R1
denota una transferencia del contenido del registro R1 al registro R2. Por
definicin, el contenido del registro fuente R1 no cambia despus de la
transferencia.

Normalmente queremos que la transferencia ocurra slo bajo una condicin de


control predeterminada. Esto puede mostrarse mediante un encunciado si,
entonces: Si(P=1) entonces (R2 <- R1), donde P es la seal de control que se
genera en la seccin de control.
En ocasiones es conveniente separar las variables de control de la
operacin de transferencia de registros al especificar una funcin de control. Una
funcin de control es una variable booleana, que es igual a 0 o a 1. La funcin de
control se incluye en el enunciado como sigue: P : R2 <- R1. La condicin de
control se termina con un signo de dos puntos. La condicin de control se termina
con un signo de dos puntos. La operacin de transferencia se ejecuta por el
hardware slo si P=1.
Se usan parntesis para sealar una parte de un registro al especificar el
rango de los bits o al otorgar un nombre simblico a una parte de un registro. Se
usan coman para separar dos o ms operaciones que se ejecutan al mismo
tiempo.
Transferencia de canal y de memoria
Una computadora digital tpica tiene muchos registros, y se deben de
proporcionar trayectorias para transferir informacin de un registro a otro. La
cantidad de alambres ser excesiva si se usan lenas separadas entre cada
registro y todos los otros que conforman el sistema. Un esquema ms eficiente
para transferir la informacin entre los registros, en una configuracin de registros
mltiples, es un sistema de canal (bus) comn. Una estructura de bus consta de
un conjunto de lneas comunes, una para cada bit de un registro, mediante las
cuales se transfiere informacin binaria una a la vez. Unas seales de control
determinan cul registro selecciona el bus durante cada transferencia de registro
particular.

Una manera de construir un sistema de bus comn es con multiplexores. Los


multiplexores seleccionan el registro fuente, cuya informacin binaria se coloca
despus en el bus.
En general, un sistema de bus har funcionar el multiplexor sobre k
registros de n bits cada uno, para producir un bus comn de n lneas. La cantidad
de multiplexores que se necesitan para construir el bus es igual a n, la cantidad de
bits en cada registro. El tamao de cada multiplexor debe ser k x 1 dado que hace
funcionar el multiplexor sobre k lneas de datos.
La transferencia de informacin de un bus dentro de uno de muchos
registros de destino se pueden lograr al conectar las lneas de bus a las entradas
de todos los registros de destino y activar el control de carga del registro destino
particular que se ha seleccionado. El enunciado simblico para una transferencia
de bus puede mencionar el bus o su presencia puede estar implcita en el
enunciado.
BUS <- C, R1 <- BUS

R1 <- C

La transferencia de informacin de una palabra de memoria al ambiente


externo se llama operacin de lectura. La transferencia de nueva informacin para
almacenarse en la memoria se llama operacin de escritura. Una palabra de
memoria se representar con la letra M. La palabra de memoria en particular,
entre las muchas disponibles, se selecciona mediante la direccin de memoria
durante la transferencia.

Leer : DR <- M[AR]


Escribir : M[AR] <- R1
Microoperaciones aritmticas
Las microoperaciones que se encuentran con mayor frecuencia en las
computadoras digitales se clasifican en cuatro categoras:

Microoperaciones de transferencia de registros


Microoperaciones aritmticas
Microoperaciones lgicas
Microoperaciones de corrimiento
Las microoperaciones aritmticas bsicas son

suma,

resta,

incremento,

decremento y corrimiento.
Representacin simblica Descripcin
R3 <- R1 + R2

El contenido de R1 ms R2 transferido a R3

R3 <- R1 - R2

El contenido de R1 menos R2 transferido a R3

R2 <- R2

Complementar el contenido de R2 (complemento a 1)

R2 <- R2 +1 Complementar a 2 el contenido de R2


R3 <- R1 + R2 +1 R1 ms el complemento a 2 de R2 (resta)
R1 <- R1 + 1

Incrementar el contenido de R1 en uno

R1 <- R1 -1 Decrementar el contenido de R1 en uno


Microoperaciones lgicas
Las microoperaciones lgicas especifican operaciones binarias para
arreglos de bits almacenados en registros. Estas operaciones consideran cada bit
de registro en forma separada y los tratan como variables binarias.
Microoperacin

Nombre

F <- A B AND
F <- AB

OR

F <- A B

OR exclusiva

F <- A

Complementar A

Microoperaciones de corrimiento
Corrimiento lgico: es aquel que transfiere un 0 por la entrada serial.
Corrimiento circular : hace circular los bits del registro por los dos extremos sin
prdida de informacin. Esto se consigue al conectar la salida serial del registro de
corrimiento a su entrada serial.
Corrimiento aritmtico: recorre un nmero binario con signo a la derecha o a la
izquierda. Un corrimiento aritmtico a la izquierda multiplica un nmero binario con
signo por 2. Un corrimiento aritmtico a la derecha divide el nmero entre 2. El bit
del extremo izquierdo contine el bit de signo y los bits restantes contienen el
nmero. El bit de signo es 0 para los nmeros positivos y 1 para los negativos. Los
nmeros negativos estn en su forma complemento a 2. Representacin
simblica:
Descripcin
R <- shl R

Corrimiento a la izquierda del registro R

R <- shr R

Corrimiento a la derecha del registro R

R <- cil R

Corrimiento circular a la izquierda del registro R

R <- cir R

Corrimiento circular a la derecha del registro R

R <- ashl R Corrimiento aritmtico a la izquierda de R


R <- ashr R Corrimiento aritmtico a la derecha de R

Para describir un sistema digital en trminos de funciones tales como


sumadores, decodificadores y registros, es necesario emplear una notacin
matemtica de alto nivel. El mtodo de lgica de transferencia entre registros copa
esta necesidad. En este mtodo, se seleccionan registros como los componentes
primitivos de un sistema digital en vez de las compuertas y los flip-flops como en la
lgica secuencial. De esta forma es posible describir en forma precisa y concisa el
flujo de informacin y las tareas de procesamiento entre los datos acumulados
entre registros.
Una caracterstica importante de presentacin del mtodo lgico de
transferencia entre registros es que esta relacionado muy de cerca de la forma en
que la gente prefiere especificar las operaciones del sistema digital estas se
describen de mejor manera especificando:
El conjunto de registros en un sistema y sus funciones.
La informacin en cdigo binario almacenado en los registros.
Las operaciones realizadas a partir de la informacin almacenada en los
registros.
Las funciones de control que inician la secuencia de operaciones.
Estos cuatro componentes forman la base del mtodo de lgica de
transferencia entre registros para describir sistemas digitales.
Una afirmacin en un lenguaje de transferencia entre registros consiste de una
unida de control y una lista de micro operaciones. La funcin de control (la cual
pude ser omitida algunas veces) especifica la funcin de control y secuencia de
tiempos para ejecutar la lista de micro operaciones. Las micro operaciones
especifican las operaciones elementales que se realizan con la informacin
almacenada en los registros las cuales se pueden clasificar en cuatro categoras:

microoperaciones de transferencia entre registros que no cambian el contenido de


la informacin cuando la informacin binaria se mueve de un registro a otro.
Las microoperaciones aritmticas realizan aritmtica con los nmeros
almacenados en los registros.
Las microoperaciones lgicas realizan operaciones tales como AND y OR
con el par de bits individuales almacenados en los registros.
Las microoperaciones de desplazamiento especifican operaciones para los
registros de desplazamiento. Diagrama de lo expuesto anteriormente:

Conclusin
Los tipos de memoria se pueden clasificar segn:
1- Tipo de acceso a la memoria para obtener o modificar la
informacin almacenada
2- Persistencia de la informacin almacenada
3- Principio de funcionamiento
4- Tipo de tecnologa usada para la fabricacin
5- Tipo de utilizacin

a) Segn el TIPO DE ACCESO: durante el momento de acceso (lectura/


escritura) o del refresco. Ocupan menos espacio que las estticas.

2) Segn TIPO DE TECNOLOGA USADA:


a) BIPOLARES:

No pueden ser dinmicas (no tienen la capacidad parsita requerida)

No muy alta capacidad (celda bsica de gran tamao y alta disipacin


de potencia).

Muy rpidas.

b) MOS: (Metal Oxide Semiconductor)

Constituidas por FETS. Pueden ser dinmicas

Ms lentas que las bipolares

Poca disipacin de potencia

c) CCD (Charge Coupled Device)


Integra elementos estructurales en forma de registros de desplazamiento.
Principio de funcionamiento: almacenar una carga (constituida por
portadores minoritarios) en un pozo de potencial, produciendo luego el
desplazamiento de esos portadores minoritarios por medio del movimiento
de los pozos.

d) DE BURBUJA MAGNTICA:
Memoria semiconductora que guarda bits en la forma de pequeas
burbujas magnticas que estn sobre una pelcula muy delgada de material
magntico. La presencia o ausencia de una burbuja en determinada
posicin se interpreta como 1 o 0 respectivamente. Para mover la burbuja
dentro de los lazos que estn dentro del material magntico, se emplean
campos magnticos que cambian de manera continua.

3) Segn TIPO DE UTILIZACIN:


a) RWM (Read Write Memory): lecto escritura. Los tiempos requeridos para
lectura y escritura son similares.
b) ROM (Read Only Memory):;solo lectura, incluyen:
i) ROM (Grabados durante la fabricacin mediante mscaras de
metalizacin). Aplicable a grandes cantidades de circuitos iguales.
ii) PROM (Programable ROM): programable por el usuario (grabacin
destructiva).
iii) EPROM (Erasable PROM): programable por el usuario, borrables
(puede rescribirse), incluyendo:
(1) UV- EPROM (borrable mediante luz ultra violeta)
(2) E EPROM (Electrically EPROM: borrable elctricamente).

La memoria es el almacn donde el autmata guarda todo cuanto necesita


para ejecutar la tarea de control.
Datos del proceso:
Seales de planta, entradas y salidas.
Variables internas, de bit y de palabra.
Datos alfanumricos y constantes.
Datos de control:

Instrucciones de usuario (programa).


Configuracin del autmata (modo de funcionamiento, nmero de e/s
conectadas, ...)
En general:
La memoria RAM (Memoria de lectura y escritura); se utiliza principalmente
como memoria interna, y nicamente como memoria de programa en el caso de
que pueda asegurarse el mantenimiento de los datos con una batera exterior.
Hay ocasiones en que la RAM est demasiado fragmentada y el Sistema no
puede asignar suficiente espacio contiguo a una aplicacin. Por ejemplo, el caso
en que Windows muestra el conocido mensajito: " No hay suficiente memoria...
debe cerrar alguna aplicacin en curso... " suele deberse a que no hay suficiente
"memoria grfica" contigua. Es decir: memoria RAM asignada a la tarjeta de
video.
En el caso de los sistemas operativos de Microsoft, la memoria virtual fue
introducida de forma ms o menos perfeccionada desde la aparicin del primer
Windows 3.1 en 1987.

En Windows 95, el Sistema comienza a funcionar

directamente en modo protegido de 32 bits, proporcionando a cualquier aplicacin


un espacio de memoria de hasta 4 GB. (Siempre que est disponible el adecuado
espacio en disco). En este Sistema, el fichero de intercambio puede crecer a
medida de las necesidades hasta ocupar todo el espacio disponible en disco

La memoria ROM se utiliza para almacenar el programa monitor del sistema


como hemos visto en el apartado dedicado a la CPU.
Las memorias EPROM se utilizan para almacenar el programa de usuario,
una vez que ha sido convenientemente depurada.

Las memorias EEPROM se emplean principalmente para almacenar


programas, aunque en la actualidad es cada vez ms frecuente el uso de
combinaciones RAM + EEPROM, utilizando estas ultimas como memorias de
seguridad que salvan el contenido de las RAM. Una vez reanudada la
alimentacin, el contenido de la EEPROM se vuelca sobre la RAM. Las soluciones
de este tipo estn sustituyendo a las clsicas RAM + batera puesto que presentan
muchos menos problemas.
Los mdulos digitales se definen mejor por los registros que contienen y las
operaciones que realizan sobre los datos que almacenan. Las operaciones que se
ejecutan

sobre

los

datos

almacenados

en

los

registros

se

llaman

microoperaciones. Una microoperacin es una operacin bsica realizada sobre la


informacin almacenada en uno o ms registros. El resultado de la operacin
puede sustituir la informacin binaria anterior de un registro o puede transferirse a
otro. Algunos ejemplos de microoperaciones son desplazar, contar, borrar y
cargar.
Las organizacin interna del hardware de una computadora digital se
define mejor al especificar:
El conjunto de registros que contiene y sus funciones.
La secuencia de microoperaciones que se realizan sobre la informacin
binaria almacenada en los registros.
El control que inicia la secuencia de microoperaciones.
La notacin simblica que se utiliza para describir las transferencias de
microoperaciones entre registros se llama lenguaje de transferencia de registros.
Es una herramienta conveniente para describir la organizacin interna de las
computadoras digitales de una manera precisa y concisa. Tambin puede usarse
para facilitar el proceso de disear sistemas digitales.

Lenguaje de transferencia de registros: El diseo de sistemas digitales utiliza de


manera invariable un enfoque modular. Los mdulos se construyen a partir de
componentes digitales como registros, decodificadores, elementos aritmticos y
lgica de control. Los diferentes mdulos estn interconectados con los datos y las
trayectorias de control comunes para formar un sistema de computadora digital.

Anexos

Anexo 1
Los usuarios de MS-DOS o Windows pueden usar el programa DEBUG
(DEBUG.EXE es un ejecutable que, hasta 2001, acompa a todas las versiones
de MS-DOS, a partir de la 2.0, y de Windows) para inspeccionar y modificar el
contenido de los registros de la siguiente forma:

Invocar DEBUG desde una ventana DOS (suponemos que estamos en


Windows; el "prompt" es un guin "-")

introducir el comando R (pedimos que nos muestre el contenido de los


registros).

Salir de Debug con Q

En mi PC la respuesta al comando tiene el siguiente aspecto:


AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000
DI=0000
DS=1779 ES=1779 SS=1779 CS=1779 IP=0100 NV UP EI PL NZ NA PO
NC
Los valores estn expresados en hexadecimal. La ltima secuencia de
caracteres (NV UP EI PL NZ NA PO NC) muestra el contenido del registro de
estado (el bit TF de detencin no se muestra), el significado de la notacin
utilizada es el siguiente:
Bit

Indicador de:

Indicativo si bit 1

Indicativo si bit 0

CF Acarreo

CY ("Carry yes")

NC ("No Carry")

PF Paridad

PE ("Parity Even")
paridad par

PO ("Parity Odd") paridad


impar

AF Acarreo auxiliar

AC ("Auxiliar Carry")

NA ("No Auxiliar")

ZF Cero

ZR ("Zero")

NZ ("No Zero")

SF Signo

NG ("Negative") negativo

PL ("Plus") positivo

IF Interrupcin

EI ("Enabled Interrupt")
activa

DI ("Disabled Interrupt")
desactivada

DF Direccin

DN ("Down") decremento UP incremento

OF Desbordamiento OV ("Overflow")

NV ("No overflow")

Tambin es posible inspeccionar el contenido de un solo registro,


aadiendo al comando R el nombre del registro. Por ejemplo, el comando R
IP muestra el contenido del contador de programa. Los nombres que pueden
utilizarse para los registros son los siguientes: AX; BX; CX; DX; SP; BP; SI;
DI; DS; ES; SS; CS; IP y F (este ltimo para el registro de estado).
Despus de un comando de este tipo, DEBUG responde con un
"prompt" distinto del habitual ":", para indicar que debe introducir el nuevo valor
que desea para el registro. Pulsando INTRO se vuelve al modo normal.

Anexo 2
Formato hexadecimal
Este sistema de codificacin numrica utiliza un sistema de numeracin de
base 16 (fue visto en las primeras clases). Como el sistema arbigo solo posee
diez cifras (del 0 al 9), las restantes se complementan con letras del alfabeto, de
la 'A' a la 'F'. Ejemplo; en C++ permite la utilizacin indistinta de maysculas y
minsculas para representar cantidades en este formato, aunque es ms
frecuente la utilizacin de maysculas. Es la forma tradicional de representar
direcciones de memoria.
La representacin de estos nmeros debe ir precedido de 0x 0X, para
indicar al compilador que lo que sigue es formato hexadecimal.

Tambin es

costumbre representar estas cantidades en grupos de 8 dgitos (aadiendo ceros


a la izquierda).
Ejemplo:
int x = 0xFF, y = 0x000000FF;
En ocasiones los textos informticos aaden una "h" al final de las
cantidades hexadecimales. Por ejemplo, 125h sera equivalente a 0x125, aunque
la primera notacin no puede ser utilizada en los fuentes de los programas C++

Bibliografa

http://www.depeca.uah.es/depeca/repositorio/asignaturas/31944/tema2%20%
20Memorias.pdf

http://www.iespugaramon.com/iespugaramon/resources/UNIDADES_20FUNCIONALES_20DEL1201659263028.pdf
http://www.iuma.ulpgc.es/~roberto/asignaturas/EI/transparencias/EI_Tema_7.
6.Memorias_ROM-RAM.pdf
http://mermaja.act.uji.es/docencia/is23/data/trabajos08/Memorias.pdf
http://oretano.iele-ab.uclm.es/~miniesta/TEMA11memorias.pdf

You might also like