MEMORIA (JORGE LUJAN)
Jerarquía de memoria
Niveles de la jerarquía de memoria.
Nivel 0: Registros
Nivel 1: Memoria caché
Nivel 2: Memoria Principal
Nivel 3: Disco duro
Registros
Es una memoria de alta velocidad y poca capacidad,
esta integrada en el microprocesador y permite guardar y acceder a valores muy usados,
por lo general en operaciones matemáticas. Los registros se miden por lo
general por el número de bits que almacena.
Tipos de registros
De datos. Usados para guardar números enteros.
De memoria. Usados para guardar exclusivamente
direcciones de memoria.
De propósito general. Pueden guardar tanto datos como direcciones.
De punto flotante. Usados para guardar datos en
formato de punto flotante.
De propósito específico. Guardan información
específica del estado del sistema.
Memoria caché
Es una memoria rápida y pequeña, situada entre la
memoria principal y el microprocesador, especialmente diseñada para contener
información que se utiliza con frecuencia en un proceso con el fin de evitar
accesos a otras memorias, reduciendo considerablemente el tiempo de acceso al
ser más rápida que el resto de la memoria principal.
La memoria caché es una memoria en la que se almacena
un serie de datos para su rápido acceso. La memoria caché de un microprocesador
es de tipo volátil (del tipo RAM), pero de una gran velocidad. Su objetivo es
almacenar una serie de instrucciones y datos a los que el microprocesador
accede continuamente, con el fin de que estos accesos sean instantáneos.
La operación básica de caché es: Cuando la CPU
necesita accesar memoria, se revisa la caché. Si se encuentra la palabra en
cache, se lee de la memoria rápida. Si la palabra direccionada de la CPU no se
encuentra en caché, se accesa la memoria principal para leer la palabra.
Después, se transfiere un bloque de palabras que contiene la que se acaba de
accesar, de la memoria principal a la memoria caché. El tamaño de bloque puede variar
de una palabra a cerca de 16 palabras adyacentes a la que se acceso. En esta
manera, se trasfieren algunos datos caché para quelas futuras referencias a
memoria encuentren la palabra requerida en la memoria rápida caché. Hay tres
tipos diferentes de memoria caché para microprocesadores
Caché de 1er nivel (L1)
Integrada en el núcleo del microprocesador, trabajando
a la misma velocidad que este. La cantidad de memoria caché L1 varía de un microprocesador
a otro, estando normalmente entra los 64KB y los 256KB. Esta memoria suele a su
vez estar dividida en dos partes dedicadas, una para instrucciones y otra para datos.
Caché de 2º nivel (L2)
Integrada en el microprocesador, no directamente en el
núcleo, es algo más lenta que la caché L1.La caché L2 suele ser mayor que la
caché L1, pudiendo llegara superar los 2MB.Utilización está más encaminada a
programas que al sistema.
Caché de 3er nivel (L3)
Es un tipo de memoria caché más lenta que la L2, muy
poco utilizada en la actualidad. En un principio esta caché estaba incorporada
a la placa base, no al microprocesador, y su velocidad de acceso era bastante
más lenta que una caché de nivel 2 o 1, ya que si bien sigue siendo una memoria
de una gran rapidez (muy superior a la RAM, y mucho más en la época en la que
se utilizaba),depende de la comunicación entre el microprocesador y la placa
base.
Composición interna
La memoria caché está estructurado por celdas, donde
cada celda almacena un byte. La entidad básica de almacenamiento la conforman
las filas, llamados también líneas de caché. Cuando se copia o se escribe
información de la RAM por cada movimiento siempre cubre una línea de caché. La
memoria caché tiene incorporado un espacio de almacenamiento llamado Tag RAM,
que indica a qué porción de la RAM se halla asociada cada línea de caché, es
decir, traduce una dirección de RAM en una línea de caché concreta
Memoria principal
Son circuitos integrados capaces de almacenar
información digital, a los que tiene acceso el microprocesador del equipo de
computación. Poseen una menor capacidad de almacenamiento que la memoria secundaria,
pero una velocidad millones de veces superior. La memoria principal esta divida
en:
Memoria ROM
Memoria de sólo lectura (Read Only Memory) son utilizadas
como medio de almacenamiento de datos en las computadoras. En ella no se puede
escribir y conserva intacta la información almacenada, incluso en el caso de
que se interrumpa la corriente (memora no volátil).La ROM suele almacenar la
configuración del sistema o el programa de arranque de la computadora. Uso
principal reside en la distribución de programas que estén estrechamente ligados
al soporte físico de la computadora, y que seguramente no necesita
actualización. La memoria RAM normalmente es más rápida para lectura que la mayoría
de las memorias ROM, por lo tanto el contenido ROM se suele traspasar
normalmente a la memoria RAM cuando se utiliza
El software de la ROM se divide en dos partes
Rutina de arranque
Realiza el chequeo de los componentes de la
computadora por ejemplo circuitos controladores de video, de acceso a memoria,
el teclado, unidades de disco. Se encarga de determinar cuál es el hardware que
está presente y de la puesta a punto de la computadora. Mediante un programa de
configuración, el SETUP, lee una memoria llamada CMOS RAM (RAM de Semiconductor
de óxido metálico). Ésta puede mantener su contenido durante varios años,
aunque la computadora está apagada, con muy poca energía eléctrica suministrada
por una batería, guarda la fecha, hora, la memoria disponible, capacidad de
disco rígido, si tiene disquetera o no. Se encarga en el siguiente paso de
realizar el booteo(arranque): lee un registro de arranque 'BR' (Boot Record)
del disco duro o de otra unidad (como CD, USB, etc), donde hay un programa que
carga el sistema operativo a la RAM. A continuación cede el control a dicho
sistema operativo y el ordenador queda listo para trabajar.
Rutina BIOS
Sistema básico de entrada salida (Basic inputoutput
system): permanece activa mientras se está usando la PC. Permite la activación
de los periféricos de entrada/salida: teclado, monitor, etc.
Memoria RAM
La memoria de acceso aleatorio, o memoria de acceso directo
(Random Access Memory).Se compone de uno o más chips y se utiliza como memoria
de trabajo para programas y datos. Es un tipo de memoria temporal que pierde sus
datos cuando se queda sin energía (al apagar la computadora),por lo cual es una
memoria volátil. Se trata de una memoria de semiconductor en la que se puede
tanto leer como escribir información. Se utiliza normalmente como memoria temporal
para almacenar resultados intermedios y datos similares no permanentes. Se
dicen "de acceso aleatorio" o "de acceso directo" porque
los diferentes accesos son independientes entre sí.
La RAM se dividen en:
Estáticas: mantiene su contenido inalterado mientras
esté alimentada.
Dinámica: la lectura es destructiva, es decir que la
información se pierde al leerla, para evitarlo hay que restaurar la información
contenida en sus celdas, operación denominada refresco.
Memoria virtual
Es un concepto que permite al software usar
más memoria principal que la que realmente posee el ordenador. Muchas
aplicaciones requieren el acceso a más información (código y datos) que la que
se puede mantener en memoria física. Esto es así sobre todo cuando el
sistema operativo permite múltiples procesos y aplicaciones ejecutándose
simultáneamente. Una solución al problema de necesitar mayor cantidad de
memoria de la que se posee consiste en que las aplicaciones mantengan parte de
su información en disco, moviéndola a la memoria principal cuando sea necesario.
Aunque la memoria virtual podría estar implementada por el software del
sistema operativo, en la práctica casi siempre se usa una combinación de
hardware y software, dado el esfuerzo extra que implicaría para el
microprocesador
Operación básica
Cuando se usa Memoria Virtual, o cuando una dirección
es leída o escrita por la CPU, una parte del hardware dentro de la computadora traduce
las direcciones de memoria generadas por el software(direcciones virtuales) en:
•La dirección real de memoria (la dirección de memoria
física): la referencia a la memoria es completada, como si la memoria virtual
no hubiera estado involucrada: el software accede donde debía y sigue
ejecutando normalmente.
•Una indicación de que la dirección de memoria deseada
no se encuentra en memoria principal (llamado excepción de memoria virtual): el
sistema operativo es invocado para manejar la situación y permitir que el
programa siga ejecutando o aborte según sea el caso. La memoria virtual es una
técnica para proporcionar la simulación de un espacio de memoria mucho mayor
que la memoria física de una máquina. Esta "ilusión" permite que los
programas se ejecuten sin tener en cuenta el tamaño exacto de la memoria física
La ilusión de la memoria virtual está soportada por el
mecanismo de traducción de memoria, junto con una gran cantidad de almacenamiento
rápido en disco duro. Así en cualquier momento el espacio de direcciones
virtual hace un seguimiento de tal forma que una pequeña parte de él, está en
memoria real y el resto almacenado en el disco, y puede ser referenciado fácilmente
La memoria virtual ha llegado a ser un componente
esencial de la mayoría de los sistemas operativos actuales. Y como en un
instante dado, en la memoria sólo se tienen unos pocos fragmentos de un proceso
dado, se pueden mantener más procesos en la memoria. Es más, se ahorra tiempo,
porque los fragmentos que no se usan no se cargan ni se descargan de la
memoria. Sin embargo, el sistema operativo debe saber cómo gestionar este
esquema
Bus
Conjunto de
líneas de señal que enlaza la CPU, la memoria y los periféricos de Entrada y
Salida, permitiendo la transferencia de información entre ellos. El
funcionamiento a través de un dispositivo debe obtener el uso del bus y
transferir el dato a través del bus, todo ello siguiendo un determinado
protocolo
Ciclo de bus. Tiempo necesario para realizar una
transferencia elemental de un dato entre dos dispositivos
Anchura del bus. Numero de líneas de datos en el bus
Anchura de banda del bus. Parámetro que expresa el máximo
numero de elementos de información (bytes) que se pueden transmitir por el bus
en unidad de tiempo
Protocolo del bus. Pautas que tienen que seguir los dispositivos
conectados al bus para lograr una comunicación correcta
Jerarquía de buses
o
Bus
interno. Comunicación interna dentro de la CPU
o
Bus
del procesador. Fundamentalmente, comunicación entre la CPU y la cache externa
o
Bus
local. Buses para la conexión procesador DRAM y dispositivos de E/S con altas
prestaciones. Pueden ser buses de carácter general, como el PCI, o dedicados
como IDE, SCSI, AGP, USB
o
Bus
de expansión. Conexión entre dispositivos de E/S con menores prestaciones como
los módems, fax, puerto serie, etc.
o
Bus
del sistema. Conexión entre distintos sistemas procesador que forman un mismo
sistema.
Protocolos de transmisión
o
Protocolo síncrono. Fácil de implementar, pero con poca
flexibilidad (dispositivos con diferentes velocidades). Buses cortos. Mayor
ancho de banda.
o
protocolo asíncrono. Permite adaptar la transferencia a la
velocidad del dispositivo, compagina dispositivos lentos y rápidos.
EJEMPLO DE ALGUNOS BUSES COMERCIALES
o
Bus ISA, EISA, MCA. Industry Standard
Architecture, Extended Chanel Adapter, Micro Chanel Adapter
o
Bus PCI. Peripheral Component Interconnect
o
Bus AGP. Accelerated Graphics Port
o
Bus IDE. Integrated Drive Electronics
o
Bus SCSI. Small Computer System Interface
o
Bus SATA. Serial ATA
o
Bus Serial Attached SCSI
o
Buses USB (Universal Serial Bus)
o
Bus PCMCIA. Personal Computer Memory Card
International Association
o
Bus VME. Versa Module Europe
UNIDAD CENTRAL DE PROCESAMIENTO
También llamada
CPU, la unidad central de procesamiento se encarga de realizar todos los cálculos
matemáticos que se requieren para que un ordenador pueda funcionar
correctamente.
La unidad
central de procesamiento esta compuesta de esta manera:
Memoria
Unidad aritmética
lógica
Unidad o
procesador de control
Memoria
Se almacenan
datos y programas, hay dos operaciones que se hacen en la memoria y son leer y
escribir, entonces se dice que es donde almacena, se lee y se escribe. Es un
conjunto de células numeradas y dos registros especiales con los que realiza su
trabajo.
UNIDAD ARITMETICA LOGICA
Esta unidad
opera los datos que recibe siguiendo las indicaciones por la unidad de control.
Esta unidad puede realizar operaciones aritméticas lógicas, por ejemplo el de
realizar la suma. La forma en que realiza la suma es la siguiente:
1. Se debe tener el código de operación
que indique la operación a efectuar en este caso el código de suma
2. Dirección de la celula en la que se
encuentra almacenado el primer sumando
3. Dirección del segundo sumando
4. Dirección de la celula en la que se
almacena el resultado
Instrucciones
para efectuar la suma.
1. Cargar el primer operando en el acumulador
2. Sumar el segundo operando con el
contenido del acumulador
3. Cargar el contenido del acumulador
en la dirección del resultado
Unidad de control
La unidad
de control es el autentico cerebro que controla y coordina el funcionamiento de
la computadora. A raíz de la interpretación delas instrucciones que integran el
programa esta unidad genera el conjunto de ordenes elementales necesarias para
que se realice la tarea necesitada.
Pasos para
la unidad de control.
1. Se extrae de la memoria principal la
instrucción a ejecutar esa información es almacenada en el contador de
instrucciones, la información que se almacena es la próxima instrucción a
ejecutar en el registro de instrucción propiamente dicha.
2. Una vez conocido el código de la operación
la unidad de control ya sabe que circuitos de la ALU deben de intervenir pueden
establecerse las conexiones eléctricas necesarias a través del secuenciador
3. Extrae de la memoria principal los
datos necesarios para ejecutar la instrucción en proceso
4. Ordena la ALU que efectúa las
operaciones el resultado de este es depositado en el acumulador de la ALU
5. Si la instrucción a proporcionado
nuevos datos estos son almacenados en la memoria principal
6. Incrementa en una unidad el
contenido del contador de instrucciones a ejecutar
DMA
Acceso
directo a memoria (DMA) permite a cierto tipo de componentes del ordenador
acceder a la memoria del sistema para leer o escribir independientemente de la
CPU principal. Muchos sistemas hardware utilizan DMA, incluyendo controladores
de unidades de disco, tarjetas graficas y tarjetas de sonido. DMA es una característica
esencial en todos los ordenadores modernos, ya que permite a dispositivos de
diferentes velocidades comunicarse sin someter a la CPU a una carga masiva de interrupciones.
Una transferencia
DMA consiste principalmente en copiar un bloque de memoria de un dispositivo a
otro. En lugar de que la CPU inicies la transferencia, la transferencia se
lleva acabo por el controlador DMA. Un ejemplo típico es mover un bloque de
memoria desde una memoria externa a una interna mas rápida. Tal operación no
ocupa el procesador y como resultado puedes ser planificado para efectuar otras
tareas. Las transferencias DMA son esenciales para aumentar el rendimiento de
aplicaciones que requieras muchos recursos.
Bibliografía
Acceso
directo a la memoria http://es.scribd.com/doc/76550644/dma
Conexión entre
subsistemas http://es.scribd.com/doc/96604304/Buses
No hay comentarios:
Publicar un comentario