Microprocesador 8086
Uno de los propósitos de los lenguajes de alto nivel es de ocultarle al programador los detalles del hardware de la computadora en la que se ejecutarán los programas que éste escribe. Sin embargo al programar en un lenguaje de bajo nivel o ensamblador se debe tener un conocimiento mayor del hardware. Dos de los aspectos que debe conocer el programador de ensambladorsobre la computadora en que se va a ejecutar sus programas es la organización de la memoria y el modelo de programación de su microprocesador.
Organización De La Memoria
Podemos visualizar a la memoria principal de una computadora como una colección de localidades de memoria cada una de un byte. Cada localidad de memoria tiene su propia dirección. Dado que cada dirección es un número entero, hayuna relación directa entre el número de localidades de memoria y el tamaño que debe tener una dirección en bits. Una dirección de N bits nos permite direccionar 2 N direcciones diferentes.
Memoria Segmentada
En el esquema de memoria segmentada el microprocesador visualiza a la memoria como dividida en segmentos de memoria y a cada segmento lo visualiza como un arreglo lineal de localidades dememoria de un byte. Cada segmento tiene una dirección llamada dirección de segmento. La dirección de una localidad de memoria se forma a partir de la dirección del segmento que contiene a la localidad de memoria y al índice de la localidad de memoria dentro del segmento. A este índice se le conoce como desplazamiento.
El esquema de memoria segmentada es usado por lo general en microprocesadorescon capacidad de direccionamiento que excede a los 64 KB. Uno de estos procesadores es el procesador 8086 de Intel.
Segmentación De La Memoria En El Microprocesador 8086
El CPU empleado en las primeras computadoras IBM PC y compatibles, el microprocesador 8086 de Intel, nos permite direccionar 1 MB = 220 = 1,048,576 bytes. Los procesadores más modernos de Intel de la familia 80x86 (80286,80386, 80486 y Pentium) empleados en las computadoras PC pueden direccionar un mayor número de localidades (hasta 16 MB = 224 = 16,777,216 bytes para el 80286 y hasta 4 GB = 232 = 4,294,967,296 bytes para el 80386, 80486 y Pentium) pero para mantener compatibilidad con el microprocesador 8086 tienen dos formas de operación: Una que imita al microprocesador 8086 llamado modo real y otro que explotatodo el poder del procesador llamado modo protegido. El sistema operativo MSDOS a fin de mantener compatibilidad con el software existente, sólo permite la operación de los microprocesadores en modo real y para fines prácticos una computadora PC bajo ese sistema operativo se comportará como si tuviese un procesador 8086 (aunque más rápido).
En el microprocesador 8086 (o en los microprocesadoresmás modernos de la familia 80x86 operando en el modo real) visualiza la memoria como dividida en segmentos los cuales tienen las siguientes características:
* Los segmentos no son divisiones físicas. Un segmento es una ventana lógica a través de la cual el programa visualiza porciones de la memoria.
* Los segmentos empiezan cada 16 bytes. Como a un bloque de memoria de 16 bytes se le conoce comopárrafo, los segmentos empiezan a cada párrafo.
* Hay hasta 65,536 segmentos (1,048,576/16 = 65,536).
·* El primer segmento es el segmento 0, el siguiente es el segmento 1, etc. El número del segmento se conoce como la dirección del segmento.
·* La dirección real, también llamada dirección efectiva, en la que empieza un segmento se obtiene multiplicando la dirección del segmento por 16.
* Lossegmentos pueden ser tan pequeños como 16 bytes y tan grandes como 64 KB = 65,536 bytes.
* Los segmentos pueden traslaparse. Esto ocurre cuando un segmento es mayor a 16 bytes, tal como se muestra en la figura
Modelo De Programación Del Microprocesador 8086
Los registros de un microprocesador son componentes dentro del microprocesador que nos permiten almacenar datos. Estos datos pueden...
Regístrate para leer el documento completo.