La unidad de memoria consiste de una serie de encasillados, llamados células ('WORDS'), cada uno de los es capaz de retener un trozo de información; como por ejemplo una instrucción, o una cantidad, o un grupo de caracteres. El total de células que componen la unidad de memoria de una computadora es una medida de su capacidad. A mayor cantidad de células mayor será la cantidad de instrucciones y valores que podrá retener en un momento dado.
Cada célula tiene un número asociado con ella para efectos de identificación. Este número se conoce como su localización ('address').
Cada célula consiste de una serie de posiciones, cada una de las cuales es capaz de retener un dígito. El total de posiciones que componen cada célula es una medida del tamaño de cada trozo de información. Los dígitos utilizados son únicamente el cero (0) y el uno (1); los componentes del sistema numérico binario. Se les conoce como bites ('BITS = BInary digiTS'). Hoy en día existen computadoras con tamaño de célula de 8, 16, 32, y 64 posiciones. Ilustración 3.1.
Toda la información dentro de una computadora tiene que estar representada en el sistema numérico binario; a base de ceros (0) y unos (1). Esta información se puede clasificar en tres (3) tipos:
Los valores numéricos representados en una computadora se dividen principalmente en dos (2) clases; conocidas como punto fijo y punto flotante. En los valores representados en punto fijo se presume el punto decimal en un lugar fijo. Como por ejemplo a la extrema derecha representando valores enteros; o a la izquierda del penúltimo dígito representando dólares y centavos. Los valores representados en punto fijo ocupan una célula en su totalidad reflejando los ceros no significativos a su izquierda. Si el espacio provisto no es suficiente para representar el valor ocurre la condición de desbordamiento ('overflow') y se pierden los dígitos de la extrema izquierda, los más significativos. La posición de la extrema izquierda de la célula es interpretada como el signo del valor; considerándose el cero (0) como positivo y el uno (1) como negativo. Los valores negativos son representados utilizando el método matemático de complemento de dos; donde se cambian todos los unos por ceros, todos los ceros por unos y luego se le suma uno en binario.
Para representar un valor numérico entero positivo en punto fijo en una célula de una computadora se recomienda la siguiente secuencia de pasos:
Para representar un valor numérico entero negativo en punto fijo en una célula de una computadora se recomienda la siguiente secuencia de pasos:
En los valores representados en punto flotante se utiliza la notación científica a base de mantisa y exponente. En este caso en la misma célula se representan ambas cantidades. La cantidad de posiciones utilizada para cada parte es determinada por el manufacturero y puede variar de una computadora a otra. Si el espacio provisto para la mantisa no es suficiente para representarla ocurre la condición de desbordamiento ('overflow') y se pierden los dígitos de la extrema derecha, los menos significativos. El exponente se expresa como un valor en punto fijo en la parte que le corresponde. La posición de la extrema izquierda de la célula es interpretada como el signo del valor de la mantisa; considerándose el cero (0) como positivo y el uno (1) como negativo. Los valores de mantisa negativos son representados utilizando el método matemático de complemento de dos; donde se cambian todos los unos por ceros, todos los ceros por unos y luego se le suma uno en binario en las posiciones de la mantisa.
Para representar un valor numérico positivo en punto flotante en una célula de una computadora se recomienda la siguiente secuencia de pasos:
Para representar un valor numérico negativo en punto flotante en una célula de una computadora se recomienda la siguiente secuencia de pasos:
Los valores no-numéricos representados en una computadora se dividen principalmente en cuatro (4) clases; conocidas como lógicos, caracteres, sonido e imágenes.
Los valores lógicos se representan utilizando una sola posición de la célula; un uno (1) representa el valor cierto y un cero (0) el valor falso.
Los caracteres (letras, dígitos, signos de puntuación) son representados en una computadora por medio de una codificación. Estas codificaciones son establecidas por medio de claves. Existen tres (3) claves reconocidas: BCD, ASCII y EBCDIC. La clave BCD ('Binary Coded Decimal') utiliza seis (6) posiciones consecutivas de la célula. La clave ASCII ('American Standard Code for Information Interchange') utiliza siete (7) posiciones consecutivas de la célula; aunque por conveniencia se le añade un cero (0) a su izquierda para completar ocho (8). La clave EBCDIC ('Extended Binary Coded Decimal Information Code') utiliza ocho (8) posiciones consecutivas de la célula.
Dada la conveniencia subdividir la célula en grupos de ocho (8) posiciones para la representación de los caracteres, ya sea en la clave ASCII o en la clave EBCDIC se acuñó la palabra octeto ('byte') como equivalente a exactamente ocho (8) bites ('bits'). De esta forma muchas manufactureros miden (incorrectamente) la capacidad de la unidad de memoria en octetos ('bytes') en vez de en células. Otra práctica que puede crear confusión en la medición de la capacidad de la unidad de memoria es el uso de las letras "K", "M" y "G". Normalmente estas letras son utilizadas como prefijo significando Kilo (1,000), Mega (1,000,000) y Giga (1,000,000,000). En el mundo de las computadoras su significado es:
Para la representación de las instrucciones la célula es dividida imaginariamente en dos (2) partes, cuyo largo es determinado por cada manufacturero. En la parte izquierda se representa en binario la operación y en la parte derecha la localización del operando. Las operaciones que puede realizar cualquier computadora son:
Aquellas operaciones que requieren dos (2) operandos como suma, resta, multiplicación, división y comparación presumen el primer operando en la unidad aritmética y lógica, en una parte llamada acumulador, de largo igual al de la célula de esa computadora. Las instrucciones escritas de esta forma están escritas en lenguaje de máquina. Todos los programas tienen que estar escritos en lenguaje de máquina para poder ser ejecutados en la computadora.
Cuando los humanos vamos a describir el contenido de las células de la unidad de memoria de una computadora nos es más conveniente expresarlo en otro sistema numérico; requiere menos espacio y es menos propenso a equivocaciones. El sistema numérico más utilizado para estos propósitos es el hexadecimal; a base de dieciseis dígitos; porque existe una correspondencia exacta entre este sistema numérico y el binario. Cada dígito del sistema numérico hexadecimal requiere exactamente cuatro (4) bites ('bits'). Otro sistema numérico también utilizado es el octal; a base de ocho (8) dígitos. En este caso cada dígito octal requiere exactamente tres (3) dígitos binarios.
Ejemplos de Sistemas Numéricos
Última modificación : jueves 12 de junio de 1997
©Derechos Reservados - 1991 - Prof. H. D. A. Cabassa