2 votos

campo de dirección y palabras de memoria

"Consideremos como ejemplo un ordenador típico de la época que podría tener un campo de dirección de 16 bits en sus instrucciones y 4096 palabras de memoria.Un programa en este ordenador podría direccionar 65536 palabras de memoria".

No entiendo algunos de los términos. ¿Qué se entiende por "Campo de dirección de 16 bits" , "palabras de la memoria" . ¿Y qué significa "4096"?

No entiendo lo que dice el autor. Por favor, explique la frase completa.

3voto

user4245 Puntos 324

Empecemos con la palabra "palabra" (juego de palabras)

En este caso representa el tamaño por defecto del medio de almacenamiento del sistema. Puede ser cualquier número de bits, pero comúnmente era de 8 bits (en, por ejemplo, el Z80 del ZX Spectrum, etc), o de 16 bits en los primeros sistemas de PC (8086, 80286, etc).

Así, un ordenador de 8 bits tiene un tamaño de palabra de 8 bits.

Luego hay 16 bits de dirección. Este es literalmente el número de líneas de dirección en el chip. De nuevo, tomando el Z80 como ejemplo, había 16 de ellas (A0 a A15). Esto da un posible \$2^{16}\$ direcciones - 65536.

Cada una de esas direcciones representa la ubicación en memoria de una palabra de datos.

Eso es 65535 palabras disponibles - en un sistema de 8 bits eso es 64KBytes. En un sistema de 16 bits sería el doble, 128KBytes.

Ahora, la memoria RAM, la memoria ROM y (dependiendo de la arquitectura) los periféricos IO tomarán un número de esas 65536 direcciones.

Digamos, por ejemplo, que tienes 2K de ROM y 4K de RAM. Eso es 2048 direcciones de ROM y 4096 direcciones de RAM. No todas las direcciones se utilizan, por lo que hay espacio para la expansión de la memoria digamos.

El ZX Spectrum 48K tenía 16K de ROM y 48K de RAM, por ejemplo. Eso supone 16384 direcciones que apuntan a la ROM y 49152 direcciones que apuntan a la RAM.

La cantidad de las 65536 direcciones disponibles que se utilizan realmente depende exclusivamente del diseñador del ordenador.

0voto

meds Puntos 271

Aquí hay un comienzo. Recomiendo la lectura de un libro de texto, tal vez el que ha copiado el texto.

Mientras tanto, aquí tienes algunos enlaces que he buscado en Google:

4096 denota un número. 4096 es también 2^12. Para más información sobre 4096, consulte http://www.wolframalpha.com/input/?i=4096

0voto

RelaXNow Puntos 1164

Las palabras de las instrucciones dentro de un ordenador pueden considerarse como un conjunto de "campos" de bits, en lugar de una mera colección de bits. Si observamos la codificación binaria de cualquier conjunto de instrucciones, veremos cómo funciona. Por ejemplo, digamos que un ordenador utiliza palabras de instrucción de 16 bits. Los 4 bits altos de estos 16 podrían indicar el opcode general. Estos 4 bits juntos se llamarían el "campo" del opcode. Como contiene 4 bits, hay 16 posibles opcodes de alto nivel en este ordenador.

El campo Opcode = 0 puede indicar una suma, 1 un AND, 2 OR, 3 XOR, 4 salto, etc. El ordenador aún necesita más información sobre cada una de estas operaciones para realizarlas. Por ejemplo, el opcode 0 significa que la ALU se pondrá a realizar la operación ADD, pero es probable que todavía haya que elegir qué dos cosas sumar y dónde poner el resultado. Para esto se utilizan los 12 bits restantes (en este ejemplo). Digamos que este ordenador utiliza una arquitectura de registro con 16 registros estrechamente acoplados a la ALU. En ese caso los 12 bits restantes podrían ser tres campos de 4 bits cada uno. Dos campos especifican los dos registros fuente a sumar, y el tercero en qué registro meter el resultado.

Otros opcodes requieren otros parámetros además de los valores de los registros. Por ejemplo, un salto necesita especificar de alguna manera una dirección de memoria de programa. Una forma sería que los 12 bits inferiores de la instrucción de salto proporcionen explícitamente la dirección fija. Eso está bien si el ordenador sólo tiene 2^12 = 4096 posiciones de memoria de programa. Si tiene más, hay una variedad de trucos que se pueden utilizar. La instrucción de salto podría hacer referencia a uno de los registros que contiene la dirección, o el campo de dirección de 12 bits podría ser un desplazamiento con signo desde la dirección actual. Son posibles otros esquemas, y se han utilizado bastantes.

La sección que has citado dice que el ordenador en cuestión tenía un campo de dirección de 16 bits de ancho en la instrucción. Eso significa que la instrucción podía especificar 2^16 = 65536 direcciones diferentes. Si se toman como direcciones absolutas, entonces esta instrucción soporta un tamaño de memoria de 65536 palabras.

La sección que has citado también dice que este ordenador tenía 4096 palabras de memoria, lo cual es algo contradictorio. Tal vez esto tenga sentido teniendo en cuenta el contexto anterior o posterior a esta única frase. Algunos ordenadores tienen memorias de programa y de datos separadas, por lo que pueden tener tamaños diferentes. Tal vez en este ordenador lo que está siendo direccionado por el campo de 16 bits es una memoria que puede contener hasta 65536 palabras, pero otra memoria es más pequeña. Tenga en cuenta que 4096 = 2^12, por lo que una dirección completa de la memoria más pequeña sólo necesita tener 12 bits de ancho.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X