jueves, 16 de febrero de 2017

Estructura de almacenamiento y estructura de datos

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.

El almacenamiento secundario tiene las siguientes características:
  • 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.

Arreglos o arrays:
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