Sie sind auf Seite 1von 8

Memoria

En informática, la memoria es el dispositivo que retiene, memoriza o almacena


datos informáticos durante algún período de tiempo. La memoria proporciona una de
las principales funciones de la computación moderna: almacenamiento de información
y conocimiento. Es uno de los componentes fundamentales de la computadora, que
interconectada a la unidad central de procesamiento (CPU, por las siglas en inglés de
Central Processing Unit) y los dispositivos de entrada/salida, implementan lo
fundamental del modelo de computadora de la arquitectura de von Neumann.

En la actualidad, la memoria se referirse a una forma de almacenamiento de


estado sólido, conocida como memoria RAM (memoria de acceso aleatorio; RAM por
sus siglas en inglés, de random access memory), y otras veces se refiere a otras
formas de almacenamiento rápido, pero temporal. De forma similar, se refiere a formas
de almacenamiento masivo, como discos ópticos, y tipos de almacenamiento
magnético, como discos duros y otros tipos de almacenamiento, más lentos que las
memorias RAM, pero de naturaleza más permanente.

Memoria de localización direccionable

Cada unidad de información accesible individualmente en la memoria se


selecciona con su dirección de memoria numérica. En las computadoras modernas, la
memoria de localización direccionable se suele limitar a memorias primarias, que se
leen internamente por programas de computadora ya que la localización direccionable
es muy eficiente, pero difícil de usar para los humanos.

Memorias de sistema de archivos

La información se divide en archivos informáticos de longitud variable y un


fichero concreto se localiza en directorios y nombres de archivos legible por humanos.
El dispositivo subyacente sigue siendo de localización direccionable, pero el sistema
operativo de la computadora proporciona la abstracción del sistema de archivos para
que la operación sea más entendible. En la computadora moderna, las memorias
secundarias, terciarias y fuera de línea usan sistemas de archivos.

Memorias de contenido direccionable

(Content-Addressable Memory, o CAM, en inglés), es un tipo de memoria de


computador empleada en determinadas aplicaciones que requieren velocidades de
búsqueda muy elevadas. Al contrario de las memorias estándar (memorias de acceso
aleatorio o RAM) en las que el usuario introduce una dirección de memoria y la RAM
devuelve los datos almacenados en esa dirección, una CAM está diseñada de manera
que el usuario proporciona los datos y la CAM busca en toda la memoria para ver si
esos datos están almacenados en alguna posición. Si los datos son encontrados, la
CAM devuelve una lista de una o varias direcciones en las que la información fue
encontrada (en algunas arquitecturas, también devuelve los propios datos buscados, u
otros tipos de información). Es decir, una CAM es la expresión en hardware de lo que
en términos de software se denominaría un array asociativo.
Codificación de información

Los ordenadores y sistemas digitales trabajan con dos valores lógicos


(verdadero y falso). Estos valores se representan habitualmente con los números 0 y
1. Sin embargo la representación del lenguaje natural en forma escrita hace uso de
cadenas de caracteres alfanuméricos, por este motivo es necesario crear mecanismos
que permitan codificar la información en forma binaria.

Sistemas de codificación por campos

Se divide la representación binaria en campos y se da a cada uno de ellos un


significado. En el caso de los números negativos representados con esta codificación
se usa comúnmente un campo cómo modulo y otro como signo.

Sistemas de codificación por secuencias de códigos

Se emplean códigos de diferentes longitudes dotando a una parte del código de


significado especial. Se utiliza en secuencias de escape y representación de
caracteres especiales. La información dentro del ordenador tiene como unidad básica
el bit, con ella se representan tanto instrucciones como datos. Los bits se agrupan en
bytes u octetos; a nivel de hardware es habitual usar como medida la palabra
(información direccionable y accesible por parte del procesador en una operación).

Operaciones de la memoria principal

Memoria primaria (MP), memoria principal, memoria central o memoria interna,


es la memoria de la computadora donde se almacenan temporalmente tanto los datos
como los programas que la unidad central de procesamiento (CPU) está ejecutando o
va a ejecutar en un determinado momento. Por su función, la MP debe ser inseparable
del microprocesador o CPU, con quien se comunica a través del bus de datos y el bus
de direcciones. El ancho del bus determina la capacidad que posea el
microprocesador para el direccionamiento de direcciones en memoria.

La memoria principal es el núcleo del subsistema informático, y posee una


menor capacidad de almacenamiento que la memoria secundaria, pero una velocidad
millones de veces superior. Cuanto mayor sea la cantidad de memoria, mayor será la
capacidad de almacenamiento de datos.

Cuando la CPU tiene que ejecutar un programa, primero lo coloca en la memoria


y después lo empieza a ejecutar. Lo mismo ocurre cuando necesita procesar una serie
de datos; antes de poder procesarlos los tiene que llevar a la memoria principal.
Características de la memoria principal

Tamaño de la misma, el numero de miles de posiciones que contiene.


Normalmente se expresan en K. palabras, aunque en los ordenadores personales al
ser las palabras de 8 bits se expresan en K-bytes. En la actualidad, el tamaño de la
palabra es múltiplo del byte, ya que de esta forma el acceso a la misma puede hacerse
desde uno al ancho máximo del bus de datos, ahorrando en muchos casos tiempo. Así
tendremos palabras de 8, 16, 32, 64 bits y capacidades medidas en potencia de dos:
8, 16, 64, 128 K...etc. (siendo 1K igual a 1025).

Tiempo de Acceso. Es el tiempo que invierte el ordenador desde que se emite


la orden de lectura escritura, hasta que finaliza la misma. Este tiempo es muy
pequeño, y de él depende la potencia del ordenador. Son tiempos del orden de
microsegundos e incluso del orden de 2 a 10 nanosegundos.

Tamaño de la celda define su anchura de palabra, y viene fijado por el ancho


del registro de información de memoria. Si la palabra interna es superior a la de la
memoria, necesitara hacer más de un acceso para conseguir toda la información.

Formatos y secuencia miento de instrucciones

Instrucción en informática al conjunto de datos insertados en una secuencia


estructurada o específica que el procesador interpreta y ejecuta.

Los tipos de instrucción permitidos están definidos y determinados dentro de


cada plataforma (en inglés ISA, instruction set architecture), que también determina los
registros de origen y destino de la CPU, y en ocasiones un dato inmediato (aquellos
que son especificados explícitamente en la instrucción). Estas instrucciones del
computador son las que determinan el funcionamiento de la CPU que las ejecuta. La
CPU puede realizar una diversidad de funciones, que son el reflejo de la variedad de
instrucciones definidas para dicha CPU. El programador tiene un repertorio de
instrucciones como medio para controlar la CPU.

Tipos de instrucciones

De transferencia de datos: este tipo de instrucciones, se transfieren datos desde una


localización a otra. Los pasos que se siguen para realizarlo son:

 Determinación de las direcciones de origen y destino de memoria.


 Realización de la transformación de memoria virtual a memoria real.
 Comprobación de la caché.
 Inicio del proceso de lectura/escritura en la memoria.

Aritméticas: pueden implicar transferencia de datos antes y/o después. Realizan


operaciones aritméticas de las que se encarga la ALU. Se pueden clasificar en 1
operando (valor absoluto, negación) y 2 operandos (suma, resta).

Lógicas: al igual que las aritméticas, la ALU se encarga de realizar estas operaciones,
que en este caso son de tipo lógico.

De conversión: similares a las aritméticas y lógicas. Pueden implicar lógica especial


para realizar la conversión.
De transferencia de control: actualizan el contador de programa (PC). Administran
las llamadas/retornos a las subrutinas, el paso de parámetros y el enlazado.

Instrucciones de E/S: (entrada/salida): administran los comandos de entrada/salida.


Si hay un mapa de memoria de entrada/salida, determina la dirección de este mapa.

Las instrucciones de un lenguaje de programación se pueden clasificar en 4


grupos:

De transferencias de datos: Son aquellas de entrada o lectura y de salida o escritura.


En el caso de las instrucciones de entrada o lectura, se lleva el dato de entrada o
lectura desde la unidad de entrada a la memoria. Si por el contrario es una instrucción
de salida o escritura, se lleva el dato de la memoria a la unidad de salida.

De tratamiento: Se trata de las instrucciones aritmético-lógicas y las de


desplazamientos. Así como suma de datos o comparaciones.

De flujo de control o de bifurcación y salto: Las instrucciones de flujo de control son


aquellas instrucciones que alteran el orden secuencial de la ejecución de un programa.
También hay instrucciones que posibilitan la interrupción de la ejecución o saltar a
ejecutar otro programa. Cuando termina cualquiera de estas instrucciones, el
programa continúa ejecutándose desde el punto en el que se interrumpió.

Otras instrucciones: Por ejemplo, la detención del funcionamiento del computador a


la espera de una acción del usuario.

Secuencia de acciones del ciclo de instrucción

Son cuatro los cuales son:

Buscar la instrucción en la memoria principal

Se vuelca el valor del contador de programa sobre el bus de direcciones.


Entonces la CPU pasa la instrucción de la memoria principal a través del bus de datos
al Registro de Dirección de Memoria (MAR). A continuación el valor del MAR es
colocado en el Registro de Instrucción Actual (CIR), un circuito que guarda la
instrucción temporalmente de manera que pueda ser decodificada y ejecutada.

Decodificar la instrucción

El decodificador de instrucción interpreta e implementa la instrucción. El registro


de instrucción (IR) mantiene la instrucción en curso mientras el contador de programa
(PC, program counter) guarda la dirección de memoria de la siguiente instrucción a ser
ejecutada.

 Recogida de datos desde la memoria principal


 Se accede al banco de registros por los operandos (solo si es necesario)
 Se calcula el valor del operando inmediato con extensión de signo (solo si es
necesario)
También se lee la dirección efectiva de la memoria principal si la instrucción tiene
una dirección indirecta, y se recogen los datos requeridos de la memoria principal para
ser procesados y colocados en los registros de datos.

Ejecutar la instrucción

A partir del registro de instrucción, los datos que forman la instrucción son
decodificados por la unidad de control. Ésta interpreta la información como una
secuencia de señales de control que son enviadas a las unidades funcionales
relevantes de la CPU para realizar la operación requerida por la instrucción terminarla
y seguir así.

Almacenar o guardar resultados

El resultado generado por la operación es almacenado en la memoria principal o


enviado a un dispositivo de salida dependiendo de la instrucción. Basándose en los
resultados de la operación, el contador de programa se incrementa para apuntar a la
siguiente instrucción o se actualiza con una dirección diferente donde la próxima
instrucción será recogida.

Los pasos 1 y 2 del ciclo de instrucción se conocen como ciclo de búsqueda. El


ciclo de búsqueda procesa la instrucción a partir de la palabra de instrucción, que
contiene el código de operación y el operando. Los pasos 3 y 4 del ciclo de instrucción
se conocen como ciclo de ejecución. Estos pasos cambiarán con cada tipo de
instrucción.

El primer paso del ciclo de ejecución es el proceso de memoria, en que los datos
se transfieren entre la CPU y el módulo de entrada/salida (I/O). A continuación se
produce el proceso de datos, que usa operaciones aritméticas así como lógicas en
referencia a los datos. Después tiene lugar el paso de alteraciones centrales, que son
una secuencia de operaciones, por ejemplo una operación de salto. El último paso es
una operación combinada de todos los otros pasos.

Modos de direccionamiento

Se les llama modos de direccionamiento a las distintas formas de combinar los


operandos según el acceso que se hace a memoria. Dicho de otra manera, un modo
de direccionamiento será una forma de parámetro para las instrucciones.
Una instrucción que lleve un parámetro, por lo tanto, usará un modo de
direccionamiento, que dependerá de cómo direccionará (accesará) al parámetro; una
instrucción de dos parámetros, combinará dos modos de direccionamiento.

Direccionamiento implícito

Depende solamente de la instrucción, es decir, la instrucción no lleva


parámetros.
Particularmente en instrucciones que no accesan memoria, o bien que tienen una
forma específica de ingresar a ella.
Modo registro

Usa solamente registros como operando. Es el más rápido, pues minimiza los
recursos necesarios (toda la información fluye dentro del EU del CPU).

Modo inmediato

Tiene dos operandos: un registro y una constante que se usa por su valor. El
valor constante no se tiene que buscar en memoria, pues ya se obtuvo al hacer el
(fetch) de la instrucción.

Modo directo

Uno de los operandos involucra una localidad específica de memoria. El valor


constante se tiene que buscar en memoria, en la localidad especificada. Es más lento
que los anteriores, pero es el más rápido para ir a memoria, pues ya sabe la localidad,
la toma de la instrucción y no la tiene que calcular.

Modo indirecto

Se usan los registros SI, DI como apuntadores El operando indica una localidad
de memoria, en cuya dirección (sólo la parte desplazamiento) está en SI o DI. Es más
lento que los anteriores, pues tiene que calcular la localidad.

Subrutinas

Se le llama subrutina a un segmento de código separado del bloque principal, el


cual puede ser invocado en cualquier momento desde ésta u otra subrutina. Una
subrutina, al ser llamada dentro de un programa, hace que el código principal se
detenga y se dirija a ejecutar el código de la subrutina.

Las declaraciones de subrutinas generalmente son especificadas por:

 Nombre único en el ámbito: nombre de la función con el que se identifica y se


distingue de otras.
 Un tipo de dato de retorno: tipo de dato del valor que la subrutina devolverá al
terminar su ejecución.
 Lista de parámetros: especificación del conjunto de argumentos (pueden ser
cero, uno o más) que la función debe recibir para realizar su tarea.
 Código u órdenes de procesamiento: conjunto de órdenes y sentencias que
debe ejecutar la subrutina.

Pilas de empuje hacia abajo (Modos de Almacenamiento)

Los sistemas informáticos pueden almacenar los datos tanto interna (en la
memoria) como externamente (en los dispositivos de almacenamiento). Internamente,
las instrucciones o datos pueden almacenarse por un tiempo en los chips de silicio de
la RAM (memoria de acceso aleatorio) montados directamente en la placa
de circuitos principal de la computadora, o bien en chips montados
en tarjetas periféricas conectadas a la placa de circuitos principal del ordenador.

Estos chips de RAM constan de conmutadores sensibles a los cambios de la


corriente eléctrica, esto quiere decir que los datos son almacenados por tiempo
limitado (hasta que dejamos de suministrar energía eléctrica) por esta razón aparecen
los dispositivos de almacenamiento secundarios o auxiliares, los cuales son capaces
de conservar la información de manera permanente, mientras su estado físico sea
óptimo. Los dispositivos de almacenamiento externo pueden residir dentro del CPU y
están fuera de la placa de circuito principal.

Tipos de dispositivos de almacenamiento:

Memoria ROM: Esta memoria es sólo de lectura, y sirve para almacenar


el programa básico de iniciación, instalado desde fábrica. Este programa entra
en función cuando es encendida la computadora y su primer función es la de
reconocer los dispositivos, (incluyendo memoria de trabajo), dispositivos auxiliares.

Memoria RAM: Esta es la denominada memoria de acceso aleatorio o sea,


como puede leerse también puede escribirse en ella, tiene la característica de ser
volátil, esto es, que sólo opera mientras esté encendida la computadora. En ella son
almacenadas tanto las instrucciones que necesita ejecutar el microprocesador como
los datos que introducimos y deseamos procesar, así como los resultados obtenidos.

Memorias Auxiliares: Por las características propias del uso de la memoria


ROM y el manejo de la RAM, existen varios medios de almacenamiento de
información, entre los más comunes se encuentran: El disco duro, El Disquete o Disco
Flexible.

Disco Duro: Son en la actualidad el principal subsistema de almacenamiento de


información en los sistemas informáticos. Es un dispositivo encargado de almacenar
información de forma persistente en un ordenador, es considerado el sistema de
almacenamiento más importante del computador y en él se guardan los archivos de
programas.

Disquette o Disco flexible: Un disco flexible o también disquette


(en inglés floppy disk), es un tipo de dispositivo de almacenamiento de datos formado
por una pieza circular de un material magnético que permite la grabación y lectura de
datos, fino y flexible (de ahí su denominación) encerrado en una carcasa fina cuadrada
o rectangular de plástico.
El CD-R: es un disco compacto de 650 MB de capacidad que puede ser leído
cuantas veces se desee, pero cuyo contenido no puede ser modificado una vez que ya
ha sido grabado. Dado que no pueden ser borrados ni regrabados.

Das könnte Ihnen auch gefallen