elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  (Consulta) ¿Por qué los procesadores de 16 bit solo pueden acceder a 1MB de RAM?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: (Consulta) ¿Por qué los procesadores de 16 bit solo pueden acceder a 1MB de RAM?  (Leído 1,627 veces)
class_OpenGL


Desconectado Desconectado

Mensajes: 437

Si usas Direct3D, no eres mi amigo :P


Ver Perfil
(Consulta) ¿Por qué los procesadores de 16 bit solo pueden acceder a 1MB de RAM?
« en: 3 Enero 2016, 02:36 »

Yo sé que para acceder a la memoria, se que se usan dos registros de 16 bits (uno se aprovecha entero, y el otro se aprovecha parte, para así sumar 20 bits, de donde viene la limitación). La duda es, ¿por qué no usaron esos dos registros al completo para así poder tener segmentos de 4GB? Gracias


En línea

Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL
MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 4.857


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: (Consulta) ¿Por qué los procesadores de 16 bit solo pueden acceder a 1MB de RAM?
« Respuesta #1 en: 3 Enero 2016, 02:58 »

Hola!

Revisa ésto y ésto (la parte que dice "16-bit application") y ésto:P

Saludos!


En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

class_OpenGL


Desconectado Desconectado

Mensajes: 437

Si usas Direct3D, no eres mi amigo :P


Ver Perfil
Re: (Consulta) ¿Por qué los procesadores de 16 bit solo pueden acceder a 1MB de RAM?
« Respuesta #2 en: 3 Enero 2016, 05:09 »

Cita de: Wikipedia
segment:offset, typically in hexadecimal notation. In real mode, in order to calculate the physical address of a byte of memory, the hardware shifts the contents of the appropriate segment register 4 bits left (effectively multiplying by 16), and then adds the offset.

For example, the logical address 7522:F139 yields the 20-bit physical address:
75220 + F139 = 84359

Eso creo que lo entiendo. Mi duda es que si se podría hacer hecho que una dirección de 32 bits lineal se dividiese en dos y se guardase en registros de 16 bits individuales. Cada parte de esa dirección no tendría porque tener un significado (tales como selector y desplazamiento). A lo mejor no capto la idea global y me estoy haciendo un lío yo solo xD
En línea

Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL
MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 4.857


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: (Consulta) ¿Por qué los procesadores de 16 bit solo pueden acceder a 1MB de RAM?
« Respuesta #3 en: 3 Enero 2016, 08:29 »

La explicación a tu pregunta es ésta (sección "Real mode" de x86 memory segmentation):

Citar
The effective 20-bit address space of real mode limits the addressable memory to 2^20 bytes, or 1,048,576 bytes (1 MB). This derived directly from the hardware design of the Intel 8086 (and, subsequently, the closely related 8088), which had exactly 20 address pins. (Both were packaged in 40-pin DIP packages; even with only 20 address lines, the address and data buses were multiplexed to fit all the address and data lines within the limited pin count.)

Saludos!
En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

class_OpenGL


Desconectado Desconectado

Mensajes: 437

Si usas Direct3D, no eres mi amigo :P


Ver Perfil
Re: (Consulta) ¿Por qué los procesadores de 16 bit solo pueden acceder a 1MB de RAM?
« Respuesta #4 en: 3 Enero 2016, 23:07 »

Vaya, eso no lo leí xD Muchas gracias por todas tus respuestas!!
En línea

Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines