campo de dirección y palabras de memoria

2

"Considere como ejemplo una computadora típica de esa era que podría haber tenido un campo de dirección de 16 bits en sus instrucciones y 4096 palabras de memoria. em>

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

No entiendo lo que dice el autor. Por favor, explique la oración completa.

    
pregunta Suhail Gupta

3 respuestas

3

Comencemos con la palabra "palabra" (juego de palabras destinado)

En este caso, representa el tamaño predeterminado del medio de almacenamiento del sistema. Esto podría ser cualquier número de bits, pero normalmente 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.).

Entonces, una computadora de 8 bits tiene un tamaño de palabra de 8 bits.

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

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

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

Ahora, la memoria RAM, la memoria ROM y (según la arquitectura) los periféricos de E / S tomarán una cantidad de esas 65536 direcciones.

Digamos, por ejemplo, que tiene 2K de ROM y 4K de RAM. Eso es 2048 direcciones de ROM y 4096 direcciones de RAM. No todas las direcciones están agotadas, por lo que hay espacio para la expansión de memoria, por ejemplo.

El ZX Spectrum 48K tenía 16K de ROM y 48K de RAM, por ejemplo. Son 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 es exclusivamente del diseñador de la computadora.

    
respondido por el Majenko
0

Aquí es un comienzo. Recomiendo leer un libro de texto, tal vez el que haya copiado el texto.

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

4096 denota un número. 4096 es también 2 ^ 12. Para obtener más información sobre 4096, consulte enlace

    
respondido por el geometrikal
0

Se puede considerar que las palabras de instrucciones dentro de una computadora están compuestas por un conjunto de "campos" de bits, que se adjuntan simplemente a una colección de bits. Mire la codificación binaria de cualquier conjunto de instrucciones y verá cómo funciona esto. Por ejemplo, digamos que una computadora usa palabras de instrucción de 16 bits. Los 4 bits altos de estos 16 podrían indicar el código de operación global. Estos 4 bits juntos se llamarían el "campo" de código de operación. Dado que contiene 4 bits, hay 16 posibles códigos de operación de alto nivel en esta computadora.

El campo Opcode = 0 podría indicar un agregado, 1 a AND, 2 OR, 3 XOR, 4 jump, etc. La computadora todavía necesita más información sobre cada una de estas operaciones para realizarlas. Por ejemplo, el código de operación 0 significa que la ALU se configurará en la operación AGREGAR, pero es probable que todavía haya una opción de qué dos cosas agregar y dónde colocar el resultado. Para esto se usan los 12 bits restantes (en este ejemplo). Digamos que esta computadora 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 de origen para agregar, y el tercero que se registra para rellenar el resultado.

Otros opcodes requieren otros parámetros además de los valores de registro. Por ejemplo, un salto necesita especificar de alguna manera una dirección de memoria de programa. Una forma sería que los 12 bits bajos de la instrucción de salto proporcionen explícitamente la dirección fija. Eso está bien si la computadora tiene solo 2 ^ 12 = 4096 ubicaciones 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 firmado de la dirección actual. Son posibles varios otros esquemas, y se ha utilizado una gran variedad.

La sección que citó dice que la computadora en cuestión tenía un campo de dirección de 16 bits en la instrucción. Eso significa que la instrucción podría especificar 2 ^ 16 = 65536 diferentes direcciones posibles. Si se toman como direcciones absolutas, esta instrucción admite un tamaño de memoria de 65536 palabras.

La sección que citó también dice que esta computadora tenía 4096 palabras de memoria, lo cual es un tanto contradictorio. Quizás esto tenga sentido considerando el contexto antes o después de esta oración. Algunas computadoras tienen memoria de programa y memoria de datos separadas, que por lo tanto pueden tener diferentes tamaños. Quizás en esta computadora, lo que está siendo abordado 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 solo debe tener 12 bits de ancho.

    
respondido por el Olin Lathrop

Lea otras preguntas en las etiquetas