Ensayo (direccionamiento de memoria)

4
1 Arquitectura de computadoras: Direccionamiento Por: Marcos Omar Cruz Ortega Una forma común de describir la memoria principal de una computadora es como una colección de celdas que almacenan datos e instrucciones. “Si alguna vez has visto la estructura de un panal seguramente entenderás a lo que me refiero”. Cada celda está identificada por un número o dirección de memoria. La información que se almacena en cada celda es un byte que es un conjunto de ocho bits, estos bits representan la unidad mínima de almacenamiento de datos e instrucciones, ya que un bit solo puede contener el valor cero o uno y eso no es suficiente para guardar datos o instrucciones, por lo que se debe almacenar en bytes, “¡pero que estoy diciendo!”, “por supuesto tu sabes lo que es un byte, ahora que si no lo sabías esta información es un tanto avanzada para ti”. Para poder acceder a una ubicación específica de la memoria, la CPU genera señales en el bus de dirección, que habitualmente tiene un tamaño de 32 bits en la mayoría de máquinas actuales. Un bus de dirección de 32 bits permite especificar a la CPU 2 32 que si bien hago trabajar a mi calculadora vienen siendo unas 4.294.967.296 direcciones de memoria distintas. Debido a la estructura de 32 bits de un procesador común como los de Intel, las direcciones de memoria se expresan a menudo en hexadecimal. Por ejemplo, para no tener que escribir 101001111010 podemos escribir A7A en hexadecimal. “También utilice la calculadora para esto” .

description

Cuántas veces no hemos odio 32 o 64 bits??, pero pocos usuarios entienden exactamente cual es la diferencia, este pequeño escrito lo explica técnicamente.

Transcript of Ensayo (direccionamiento de memoria)

Page 1: Ensayo (direccionamiento de memoria)

1

Arquitectura de computadoras:

Direccionamiento Por: Marcos Omar Cruz Ortega

Una forma común de describir la memoria

principal de una computadora es como una colección

de celdas que almacenan datos e instrucciones. “Si

alguna vez has visto la estructura de un panal seguramente entenderás a lo que

me refiero”. Cada celda está identificada por un número o dirección de memoria.

La información que se almacena en cada celda es un byte que es un conjunto de

ocho bits, estos bits representan la unidad mínima de almacenamiento de datos e

instrucciones, ya que un bit solo puede contener el valor cero o uno y eso no es

suficiente para guardar datos o instrucciones, por lo que se debe almacenar en

bytes, “¡pero que estoy diciendo!”, “por supuesto tu sabes lo que es un byte,

ahora que si no lo sabías esta información es un tanto avanzada para ti”.

Para poder acceder a una ubicación específica de la memoria, la CPU

genera señales en el bus de dirección, que habitualmente tiene un tamaño de 32

bits en la mayoría de máquinas actuales. Un bus de dirección de 32 bits permite

especificar a la CPU 232 que si bien hago trabajar a mi calculadora vienen siendo

unas 4.294.967.296 direcciones de memoria distintas.

Debido a la estructura de 32 bits de un procesador común como los de Intel,

las direcciones de memoria se expresan a menudo en hexadecimal. Por ejemplo,

para no tener que escribir 101001111010 podemos escribir A7A en hexadecimal.

“También utilice la calculadora para esto” ☺.

Page 2: Ensayo (direccionamiento de memoria)

2

En aplicaciones informáticas las direcciones son asignadas por el sistema

operativo a cada programa en ejecución, asegurándose éste, comúnmente por

medio de un daemon, que las direcciones utilizadas por un ejecutable u otro

proceso no se solapen o se escriba en posiciones protegidas de memoria, por

ejemplo, en el sector de arranque. No entrare tan afondo en explicar lo que es un

deamon solo puedo decir que un demonio o daemon (de sus siglas en inglés Disk

And Execution MONitor), es un tipo especial de proceso informático que se ejecuta

en segundo plano en vez de ser controlado directamente por el usuario, es decir,

es un proceso no interactivo. Este tipo de programas se ejecutan de forma

continua e infinita, y aunque se intente cerrar o matar el proceso, este continuará

en ejecución o se reiniciará automáticamente. Todo esto sin intervención de

terceros y sin dependencia de consola alguna. “Parece que termine explicando lo

que es deamon sin querer.”

Regresando al tema. Los sistemas operativos actuales son comúnmente

diferenciados según el ancho soportado por sus registros, es decir 32 y 64 bits.

Estas cifras se refieren a la máxima capacidad que dichos sistemas operativos

pueden direccionar, así un sistema de 32 bits podría acceder y direccionar, sin

utilizar memoria virtual, un máximo de 232 posiciones de memoria, usualmente

designadas por un código hexadecimal,. Debido a esto, el rango de valores

naturales que pueden ser almacenados en 32 bits es de 0 hasta 4.294.967.295 “Si

estas poniendo atención a la lectura te habrás dado cuenta que esto ya lo había

mencionado antes” o lo que hexadecimal seria (0h - FFFFFFFFh), que vienen a

ser los famosos 4 gigabytes de capacidad límite de los sistemas operativos de 32

bits.

Page 3: Ensayo (direccionamiento de memoria)

3

Para los sistemas de 64 bits, siguiendo el razonamiento anterior,

obtendríamos 264 posibilidades, lo que se traduce en un rango de valores desde 0

hasta 18.446.744.073.709.551.615 en hexadecimal = 0h- FFFFFFFFFFFFFFFFh o

lo que es lo mismo 18,4 zettabytes ó 18.400.000.000 de gigabytes direccionables.

“¡Sería imprudente decir una grosería en este escrito, pero, si son muchos GB!”

El direccionamiento de la memoria puede considerarse desde dos puntos

de vista: Físico y lógico. El primero se refiere a los medios electrónicos utilizados

en la computadora para acceder a las diversas posiciones de memoria. El

segundo, a la forma en que se expresan y guardan las direcciones.

Los llamados modos de direccionamiento no son más que las diferentes

maneras de especificar en informática un operando dentro de una instrucción esto

es en lenguaje ensamblador. Cómo se especifican e interpretan las direcciones de

memoria según las instrucciones.

Las diferentes arquitecturas de computadores varían mucho en cuanto al

número de modos de direccionamiento que ofrecen desde el hardware. Eliminar

los modos de direccionamiento más complejos podría presentar una serie de

beneficios, aunque podría requerir de instrucciones adicionales, e incluso de otro

registro. Se ha comprobado que el diseño de CPUs segmentadas es mucho más

fácil si los únicos modos de direccionamiento que proporcionan son simples.

“Recordemos que las clasificaciones de las arquitecturas de computo son: Clásica,

Segmentada y Multiproceso.”

La mayoría de las máquinas RISC disponen de apenas cinco modos de

direccionamiento simple, mientras que máquinas CISC tienen más de una docena

de modos de direccionamiento, algunos de ellos demasiado complejos. “Si no

sabes lo que es una RISC y CISC te recomiendo que lo investigues”

Page 4: Ensayo (direccionamiento de memoria)

4

Se debe tomar en cuenta que no existe una forma generalmente aceptada

de nombrar a los distintos modos de direccionamiento. En particular, los distintos

autores y fabricantes de equipos pueden dar nombres diferentes para el modo de

hacer frente al mismo, o los mismos nombres, a los diferentes modos de

direccionamiento.

A forma de conclusión. En informática, un direccionamiento es un

identificador para una localización de memoria con la cual un programa informático

o un dispositivo de hardware pueden almacenar un dato para su posterior

reutilización. “Y a forma de comentario personal puedo expresar que al ver por el

exterior una computadora nos podrá parecer interesante, pero es 264 veces más

interesante el explorarla y conocerla internamente y mas afondo, el interior lo

imagino como un mundo lleno de misterios digitales, habitado por una cultura de

bits agrupados, viviendo a una velocidad desorbitante y gobernados por un centro

digital que mantiene el orden y control.”

Bibliografía

Título: Arquitectura de computadoras: de los microprocesadores a las

supercomputadoras

Autor: Behrooz Parhami

Editor: McGraw-Hill, 2007

ISBN: 9701061462, 9789701061466

N. º de páginas: 558 páginas