En esta ocasión les hablaré sobre las estructura de almacenamiento y estructura de datos. Adelante pues.
Estructuras de almacenamiento
Toda computadora
requiere de un sistema de memoria para poder trabajar. Se ha visto que el
microprocesador se encarga de procesar las instrucciones que componen un
programa, para así ejecutarlo, Dichas instrucciones están guardadas en la memoria
RAM o memoria principal, ya que es la única área de
almacenamiento al que el microprocesador puede acceder directamente. La memoria
principal es una matriz de palabras (o bytes) donde cada palabra tiene su
propia dirección. Sin la memoria principal el computador simplemente no
funciona.
La memoria principal tiene la particularidad que
es volátil, es decir, que en ausencia de energía eléctrica se pierde su
contenido, además que no es lo suficientemente grande como para guardar todos
los datos y programas, por lo que se
necesita disponer de alguna forma de almacenamiento permanente y masivo.
Esta forma de almacenamiento es conocida como almacenamiento secundario, y son
los medios de almacenamiento que están fuera de la memoria principal, como son
los discos duros, CD-ROM, DVD, Blu-Ray y pendrives.
Los datos en el
almacenamiento secundario se reúnen en archivos, los cuales se definen como
colecciones de información relacionada. Si la información se mantuviera en RAM
no recibiría dicho nombre, ya que esta se ubica en direcciones.
Los dispositivos
de almacenamiento secundario están en línea con el procesador. Aceptan datos o
instrucciones del programa del procesador cuando se necesitan para llevar a
cabo tareas de procesamiento.
- Gran capacidad de almacenamiento.
- El acceso a la información es más
lento que el acceso a la memoria RAM.
- No se pierde la información al
apagarse la computadora, es decir no es volátil.
- Altas velocidades de transferencia de
información.
- La información se almacena en el
mismo formato como se hace en la memoria principal.
- Para ser procesados por el CPU, los datos se almacenan en la memoria secundaria y luego se llevan a la memoria principal.
Si bien la memoria
RAM es la única área de almacenamiento a la que puede acceder de forma directa
el microprocesador, cuando se requiere acceder a datos de forma frecuente, es
necesario que se haga de forma rápida, por lo que se le añadió dentro de este
una memoria llamada cache, la cual funciona de la siguiente manera: cada vez
que se accede por primera vez a un determinado dato, es buscado en la memoria
principal, pasa por la memoria cache, donde es almacenado, y de allí a la Unidad de Control del
microprocesador. Posteriormente al intentar leer el mismo dato se recurrirá a
la información almacenada en caché, en vez de recurrir a la memoria principal, ahorrando
tiempo de acceso. La memoria caché se renueva, por lo tanto, a todo momento. Al
igual que la memoria RAM, la de tipo cache también es volátil.
La memoria cache se
organiza en niveles:
- Nivel 1 (L1): Está integrada en el núcleo del microprocesador, trabajando
a la misma velocidad que este. Su cantidad varía de un procesador a otro,
estando normalmente entra los 64KB y los 256KB. Suele a su vez estar
dividida en dos partes dedicadas, una para instrucciones y otra para
datos.
- Nivel 2 (L2): Integrada también en el microprocesador, aunque no directamente en el núcleo de este, sino en su encapsulado. Tiene las mismas ventajas que la caché L1, aunque es algo más lenta que esta. Este nivel suele ser mayor que el nivel 1, pudiendo llegar a superar los 2MB. A diferencia del nivel 1, este no está dividido, y su utilización está más encaminada a programas que al sistema.
En los
microprocesadores multinúcleos utilizados actualmente, cada núcleo posee su
memoria cache L1, mientras que la utilización de la memoria cache L2 varía
según el fabricante. Por un lado está el método utilizado por Intel, que
consiste en que el total de la memoria caché L2 está accesible para ambos
núcleos y por otro está el utilizado por AMD, en la que cada núcleo tiene su
propia memoria caché L2 dedicada solo para ese núcleo.
El proceso de
almacenamiento y acceso de programas en el sistema de memoria de una
computadora está relacionado con los siguientes parámetros:
- Capacidad de almacenamiento: Es la cantidad total, en bytes o
words (palabras), que pueden ser almacenados en la memoria.
- Tiempo de acceso: Es el tiempo que tarda el microprocesador en leer o escribir.
De acuerdo a estos
parámetros, el sistema de memoria de una computadora está compuesto por
diferentes niveles, los cuales se organizan jerárquicamente tal como se muestra
en la figura:
Cada nivel se
representa con la letra M, siendo M1 la memoria cache L1, M2 la memoria cache
L2, M3 la memoria principal, M4 las unidades de disco y M5 se refiere a los CD,
DVD y Blu-Ray.
Cada uno de estos
niveles se caracteriza por los siguientes parámetros:
- Velocidad de transferencia de datos: Es la cantidad de información
que es transferida entre niveles de memoria adyacentes y es mayor mientras
más alto sea el nivel de memoria. Si V es la velocidad de transferencia de
datos, entonces se tiene que V5 < V4 < V3
< V2 < V1
- Unidad de transferencia: Es la unidad de medida utilizada para la
transferencia de información entre niveles de memoria adyacentes y es
mayor mientras más alto sea el nivel de memoria. Si X es la unidad de
transferencia, se tiene que X5 > X4 > X3
> X2 > X1
- Costo por byte: Es el costo a pagar por cada byte de capacidad de almacenamiento en un nivel de memoria y mientras mayor sea el nivel de memoria, mayor será su costo. Si C es el costo por byte se tiene que C5 < C4 < C3 < C2 < C1
Se tiene que
mientras mayor sea el nivel de memoria mayor será la velocidad de de
transferencia de datos y menores serán los tiempos de acceso, pero son más
costosos.
Estructura de datos
Una estructura de datos es la unión de un conjunto
de datos y funciones que modifican dicho conjunto. Las formas de estructuras de
datos son las siguientes.
Es un conjunto
de datos del mismo tipo que se encuentran ubicados en forma consecutiva en la memoria RAM (sirve para almacenar datos en forma
temporal) y son referenciados con un
nombre común y una posición relativa. Los arreglos pueden ser de los siguientes
tipos:
- De una dimensión o vectores: Es un conjunto finito y ordenado de elementos de un mismo tipo de datos que se almacenan bajo un mismo nombre , y se diferencian por la posición (llamada índice) que tiene cada elemento dentro del arreglo
[1]
|
[2]
|
[3]
|
[4]
|
[5]
|
- De dos dimensiones o matrices: Es un conjunto finito y ordenado, de elementos de un mismo tipo, donde se hace referencia a cada elemento por medio de dos índices. El primero se utiliza para los renglones (filas) y el segundo para las columnas. Internamente en memoria se reservan MxN posiciones consecutivas para almacenar todos los elementos de la matriz.
[1,1]
|
[1,2]
|
[1,3]
|
[1,4]
|
[2,1]
|
[2,2]
|
[2,3]
|
[2,4]
|
[3,1]
|
[3,2]
|
[3,3]
|
[3,4]
|
Registros:
Es un conjunto
finito de elementos no necesariamente iguales. El acceso se realiza a través
del nombre del registro seguido del campo específico al que se desea acceder.
Esto es todo por esta publicación. Pueden comentar, no está demás.
No hay comentarios.:
Publicar un comentario