0% encontró este documento útil (0 votos)
72 vistas16 páginas

Arquitectura y Diseño de Seguridad Resumen 3

Este documento presenta una breve historia de los microprocesadores Intel desde el 8086 hasta el Pentium 4. Resume las características clave de cada procesador, incluyendo el 8086 de 16 bits, el 8088 de 8 bits, el 80186 integrado, el 80286 con modo protegido, el 80386 de 32 bits, el 80486 con mejoras de rendimiento y el Pentium de 64 bits con unidades enteras y de coma flotante mejoradas. Concluye describiendo brevemente las mejoras del Pentium sobre su predecesor.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
72 vistas16 páginas

Arquitectura y Diseño de Seguridad Resumen 3

Este documento presenta una breve historia de los microprocesadores Intel desde el 8086 hasta el Pentium 4. Resume las características clave de cada procesador, incluyendo el 8086 de 16 bits, el 8088 de 8 bits, el 80186 integrado, el 80286 con modo protegido, el 80386 de 32 bits, el 80486 con mejoras de rendimiento y el Pentium de 64 bits con unidades enteras y de coma flotante mejoradas. Concluye describiendo brevemente las mejoras del Pentium sobre su predecesor.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 16

Presentación

Nombre: Miguel Ángel

Apellido: Vargas Reynoso

Matricula: 14-EIST-6-027

Asignación: Arquitectura y Diseño de Seguridad

Profesor: Benito Vinicio Rubio

Sección: 1113

Trabajo: Resumen 3
Arquitectura de los microprocesadores desde el
8086 hasta el Pentium 4

Intel 8086

Microprocesador Intel 8086 es un primer miembro de la familia de procesadores x86.


Anunciado como una "fuente de código compatible" con Intel 8080 y 8085 de procesadores
Intel, el 8086 no fue objeto de código compatible con ellos. El 8086 completa la arquitectura
de 16 bits de los registros internos, 16-bit de datos de autobuses, y un bus de direcciones de
20 bits (1 MB de memoria física). Debido a que el procesador tiene registros de 16 bits y
punteros índices de la memoria, que pueden abordar eficazmente sólo 64 KB de memoria.
Para la dirección de memoria más allá de 64 KB de la CPU usa los registros de segmento, estos
registros especifican las ubicaciones de memoria para el código, la pila, los datos y segmentos
extras de 64 KB. Los segmentos se pueden colocar en cualquier lugar de la memoria, y, en caso
necesario, los programas de usuario pueden cambiar su posición. Este método de
direccionamiento tiene una gran ventaja ya que es muy fácil escribir código independiente de
la memoria cuando el tamaño del código, pila y los datos es menor de 64 KB cada una. La
complejidad del código y el aumento de la programación, a veces considerablemente, cuando
el tamaño de la pila, datos y el código es mayor de 64 KB.

Intel 8088

El microprocesador Intel 8088 fue lanzado en 1979, o un año después de la CPU Intel
8086.Ambos procesadores tienen la misma arquitectura, y la única diferencia de la CPU del
8088 al de los 8086 es el ancho del bus de datos externos, ya que se redujo de 16 bits a 8 bits.
La CPU 8088 utiliza dos ciclos consecutivos de bus para leer y escribir 16 bits de datos en lugar
de un ciclo de bus para el 8086, que hace que el procesador 8088 sea más lento. Como los
cambios de hardware eran más caros que la CPU 8088, Intel desarrollo los procesadores
8080/8085 compatible con chips de soporte. Este fue un factor importante en la elección del
procesador 8088 de la línea de ordenadores IBM, porque en ese momento los chips de 8 bits
eran más baratos que los chips de 16 bits, y no había mejor selección que los chips de 8 bits.

Intel 80186.

Microprocesador Intel 80186, a veces llamado i186, es una versión mejorada del procesador
Intel 8086 de 16 bits. El código objeto es totalmente compatible con el 8086, la 80186 integra
muchos componentes del sistema en un chip, agregó 7 nuevas instrucciones, y añadió nuevos
tipos de operando a tres existentes de las instrucciones del Intel 8086. Con la excepción de los
componentes integrados, el microprocesador Intel 80186 no es muy diferente del 8086, y, por
ello, la 80186 puede ser considerada como una versión integrada de 8086. Aunque el Intel
80186 no fue ampliamente utilizado en los ordenadores como los 8086 y 80286 lo que fue un
éxito en el mercado de procesadores, fue tan exitoso, que diferentes versiones del procesador
se introdujeron durante los últimos 20 años 80C186 , 80186EA, 80186EB, etc. En este
momento (septiembre de 2006) algunas de estas versiones están todavía en producción. La
figura 5.3 nos muestra el procesador 80186.

INTEL 80188.

El microprocesador Intel 80188 es una versión mejorada del procesador Intel 8088. Al
igual que el 8088, el 80188 tiene arquitectura de 16 bits internos y 8 bits externos en el bus de
datos. Con la excepción de los componentes integrados, el microprocesador 80188 no es muy
diferente del 8088, y, por ello, puede considerarse como una versión integrada de los 8088. El
procesador Intel 80188 ni siquiera tenía su propia versión de coprocesador; no fue muy
utilizado en las computadoras pero fue tan exitoso, que versiones diferentes del procesador
fueron introducidos por Intel y otras compañías desde1982 el 80C188, 80188EA, 80188EB, etc.
En este momento (noviembre de 2004) algunas de estas versiones están todavía en
producción. En la figura 5.4. nos muestra dicho procesador.

Intel 80286.

La segunda generación de procesadores x86 de 16-bits, Intel 80286, fue lanzado en 1982. La
nueva característica importante del microprocesador 80286 fue el modo protegido. Cuando se
cambia a este modo, la CPU puede direccionar hasta 16 MB de memoria de funcionamiento.
En el modo protegido era posible proteger la memoria y otros recursos del sistema de
programas para usuarios; esta característica es necesaria para la multitarea de programa real.
Hay muchos sistemas operativos que utiliza el 80286 en modo protegido: OS / 2 1.x, Venix,
SCO Xenix 286, y otros. Si bien este modo es útil para sistemas operativos multitarea, es de uso
limitado para los sistemas que requiere la ejecución de los programas existentes x86. El modo
protegido no puede ejecutar varios programas virtualmente, y había otras limitaciones, así:

80286 es un microprocesador de 16 bits. Aunque en modo protegido la CPU puede direccionar


hasta 16 MB de memoria, esto se llevó a cabo utilizando los segmentos de memoria. El tamaño
máximo de segmento de memoria era todavía 64 KB.

No había manera rápida y fiable para volver al modo real desde el modo protegido.

Actualmente, el 80286 en modo protegido no sea utilizado por los sistemas operativos x86.
Todos los sistemas operativos modernos de 32 bits son basados en el uso en modo protegido
80386 que fue presentado por la próxima generación de procesadores Intel x86. La figura 5.5
muestra el Intel 80286.
Intel 80376

Intel 80376 (i376) es un microprocesador de 32 bits integrados, basado en la


microarquitectura Intel 80386. Funcionalmente, el i376 está muy cerca de Intel 80386SX de la
CPU. Al igual que el 80386SX, el 80376 tiene datos de 16-bit de bus y bus de direcciones de 24-
bits. El 376 sólo funciona en 32 bits en modo protegido y no soporta otros modos presentes en
microprocesadores 80386SX y 80386DX. El procesador tiene una unidad de gestión de
memoria (MMU) que proporciona la traducción de direcciones lógicas y protección, pero no
admite la paginación. Como resultado, el i376 CPU no puede ejecutar ningún programa en
modo real o programas que requieren de paginación, pero puede ejecutar programas de 32
bits. Todos los programas diseñados para la 80376 puede ser ejecutado en la CPU
80386SX/80386DX sin cambios. El rendimiento del microprocesador 80376 está a la par con
80386SX funcionando a la misma frecuencia. La figura 5.6 muestra el procesador Intel 80376.

Intel 80386.

La tercera generación de microprocesadores x86, fue el Intel 80386 (i386) un microprocesador


de 32 bits compatible con generaciones anteriores de procesadores 80x86. De las principales
características nuevas en el i386 CPU era en modo protegido 80386, este modo fijó muchas
deficiencias que existían en el procesador el 80286 en modo protegido:

El 80386 incluye el modo de juego completo de registros de 32 bits y de instrucciones de 32


bits.

Aunque en este modo la CPU todavía se utiliza la arquitectura del segmento de memoria
similar a la presente en anteriores microprocesadores x86, el tamaño de los segmentos de
memoria se aumentó a 4 GB. Esto simplifica el desarrollo de software de 32-bits, y en la
mayoría de los casos podría ejecutar aplicaciones sin tener que preocuparse acerca de los
segmentos de memoria de conmutación.

Otro nuevo modo en el 80386 de CPU era el modo virtual 8086. En este modo, la CPU puede
ejecutar las aplicaciones que ejecutaba el 8086 mientras que proporciona la protección
necesaria de la memoria y otros recursos. La introducción de este modo y 80386 en modo
protegido se paso muy significativamente. Todos los sistemas operativos de 32 bits basados
en el uso de estos modos de ejecución heredada de 16 bits y para aplicaciones más modernas
de 32 bits.

Intel 80486

El sucesor del procesador del 80386, Intel 80486 (i486) incluyó muchos cambios en la
microarquitectura que resultaron importantes mejoras de rendimiento:
· El tiempo de ejecución de instrucciones se redujo significativamente. Muchos de carga, el
almacenamiento y las instrucciones de la aritmética ejecutado en un solo ciclo (suponiendo
que los datos que ya estaba en la memoria caché).

· Intel 486 destaco en el traslado de información más rápida entre los buses, 1 ciclo de la
CPU en lugar de dos o más ciclos de CPU para el bus 80386.

· Se integro la Unidad de punto flotante en el CPU 80486DX. Todas las instrucciones de


punto flotante se optimizaron ya que se requiere un menor número de ciclos de CPU para
ejecutar.

· Reloj de duplicación y triplicación introducido en las versiones más rápidas de la CPU


Intel 80486. Estos procesadores i486 podría correr en las placas bases existentes de 20 a 33
MHz de frecuencia de bus, mientras se ejecuta internamente en dos o tres veces de la
frecuencia del bus.

· Características de administración de energía y el Sistema en Modo de Administrador


(SMM del ingles System Management Mode ) se convirtió en una característica estándar del
procesador.

Los microprocesadores Intel 80486 producía velocidades de hasta 100 MHz. AMD produce aún
más rápido con versiones de 120 y 133 MHz de la 80486, y fabricado en pequeñas cantidades,
de 150 MHz y, posiblemente, versiones de 166 MHz. La figura 5.8. muestra el procesador.

Intel Pentium

La quinta generación de la familia x86 de Intel microprocesador Pentium fue el primer


procesador x86 súper escalar. El procesador incluye dos unidades enteras "pipeline", que
podría ejecutar hasta dos instrucciones por ciclo entero de la CPU. Rediseñada la unidad de
punto flotante mejoro considerablemente el rendimiento de operaciones de punto flotante y
podría ejecutar varias instrucciones por ciclo de FP de la CPU. Otras mejoras del Pentium son:

Para mejorar la transferencia de datos del tamaño de bus de datos se incrementó a 64 bits.

El tamaño de los datos y los caches L1 de código se duplicó en los procesadores Pentium con
tecnología MMX.

Intel Pentium utiliza la predicción de saltos para mejorar la eficacia de la arquitectura de


canalización.

Muchos Pentium podrían trabajar en sistemas de procesador dual.


Para reducir el consumo de energía de la CPU el voltaje principal se redujo en todos los
Pentium MMX.

Fue producida para computadoras móviles, de escritorio, y procesadores integrados.

Las características de administración de energía y el Sistema en Modo de Administrador (SMM)


se convirtieron en una característica estándar del procesador.

La figura 5.9 nos muestra el procesador Intel Pentium.

Intel Pentium II

Intel Pentium II como el de la figura 5.10 se basa en la sexta generación de procesadores x86.
La línea de procesadores Intel Pentium II se compone de 6 familias diferentes:

Pentium Pro - versión de alto desempeño. La familia Pentium Pro fue sustituida por la familia
de Pentium II Xeon.

Pentium II - de la familia de escritorio.

Mobile Pentium II - versión móvil de procesador Pentium II.

Pentium II Xeon - versión de alto rendimiento.

Desktop Celeron - versión de bajo costo.

Mobile Celeron - versión móvil de procesador Intel Celeron.

FIGURA 5.10. INTEL PENTIUM PRO.

Intel Celeron.

Todos los procesadores Intel Celeron se basaron en el paquete PPGA en el núcleo de


Mendocino. Mendocino fue el primer núcleo Intel x86 con caché de nivel 2 integrada con el
núcleo. En el núcleo había sólo 128 KB de caché de nivel 2, pero de menor tamaño de caché,
fue parcialmente compensado por una mayor velocidad de memoria caché que se ejecuta dos
veces más rápido que el Pentium II nivel 2 de caché. El núcleo de Mendocino no requieren
chips de memoria de caché externa, por lo que podría caber en las pequeñas y baratas del
paquete Plastic Pin Grid Array (PPGA). Para trabajar con el paquete PPGA Celeron Intel diseñó
sockets de 370 pines, o PGA370. Dicho procesador Celeron se muestra en la figura 5.11.
Intel Pentium III.

Familia de microprocesadores Pentium III fue una actualización evolutiva de los Pentium II. El
primer núcleo Pentium III, Katmai, presentó el conjunto de instrucciones SSE, que permitió que
las aplicaciones procesaran hasta cuatro números de un solo punto flotante de precisión a la
vez. Otros núcleos de Pentium III añade otras características, como 256 y 512 KB memoria
caché L2 y el menor tamaño del paquete. Durante su vida, el núcleo de los microprocesadores
Pentium III fue reducido en dos ocasiones de 0,25 micras a 0,18 micras, y luego a 0,13
micrones.

Al igual que la generación anterior de procesadores x86, la familia de Pentium III consta una
familia de los cuales están:

Pentium III Xeon .- Versión de alto rendimiento.

Los procesadores de escritorio Pentium III .- Equipos de escritorio.

Desktop Celeron .- Versión de bajo costo.

Mobile Pentium III y Pentium III Mobile M.- Versiones móviles del procesador Pentium III.

Mobile Celeron .- Versión móvil de procesador Intel Celeron.

INTEL PENTIUM III.

Intel Pentium IV.

Los microprocesadores Intel Pentium IV se basaron en la nueva micro arquitectura NetBurst,


que difiere significativamente de la arquitectura P6 micro utilizado en la familia de
procesadores Intel Pentium II / Pentium III. Una de las características clave del procesador
Pentium IV es la tecnología Hyper-Threadind, que era dos veces más que en la generación
anterior de procesadores Pentium. Mientras que las tuberías ya son menos eficaces que los
más cortos, que permiten a la CPU para llegar a frecuencias más altas, y así aumentar el
rendimiento de la CPU. Para mejorar la eficiencia de la tubería muy profunda, los procesadores
Pentium IV incluyeron otras características como: Execution Trace Cache, Advanced Transfer
Cache, Enhanced predicción de saltos, Quad Data Rate bus y la tecnología Hyper-Threading.
Las versiones posteriores de los procesadores Pentium IV también se incluye el conjunto de
instrucciones SSE3 y un conjunto completo de instrucciones de 64 bits (EM64T).

Intel Pentium 4 de la familia de microprocesadores consiste en las siguientes familias:

Xeon y Xeon MP - Versiones de alto rendimiento.


Pentium IV - Fondos de la CPU.

Mobile Pentium IV y Mobile Pentium IV-M - Versiones móviles de la CPU.

Celeron - Versión de bajo costo.

Mobile Celeron - Versión móvil del bajo costo del procesador Pentium IV.

Todos los procesadores Pentium IV de marca tienen un solo núcleo de la CPU.


Microprocesadores de doble núcleo basado en la microarquitectura NetBurst se marca como
Pentium D.

Procesador Descripción
8080 Era una maquina de 8 bits, con datos de memoria de 8
bits
8086 Una maquina de 16 bits, mucho más potente. Además de
un camino de datos más ancho y registros más grandes,
el 8086 tenía un cache de instrucción, o cola, que pre
captaba algunas instrucciones antes de ser ejecutadas.
80286 Esta ampliación del 8086 permitía redireccionar una
memoria de 16MBytes en lugar de un solo Mbyte.
80386 Fue la primera maquina de Intel con 32 bits, y constituyo
una gran revisión del modelo anterior. Con una
arquitectura de 32 bits, el 80386 rivalizaba en complejidad
y potencia con los minicomputadores y grandes
computadores introducidos en el mercado pocos años
antes.
80486 El 80486 introduce el uso de tecnología de cache mucho
mas sofisticada y potente, e instrucciones de
segmentación de cauce sofisticadas.
Pentium En el Pentium, Intel introduce el uso de técnicas súper
escalares, que permiten que varias instrucciones se
ejecuten en paralelo.
Pentium En el Pentium Pro continuo la tendencia iniciada con el
Pro Pentium hacia la organización súper escalar, con el uso
agresivo del renombrado de registros, predicción de
ramificaciones, análisis del flujo de datos y ejecución
especulativa.
Pentium II En el Pentium II se incorporo la tecnología Intel MMX, que
se diseño específicamente para procesar de forma
eficiente datos de video, audio y gráficos.
Pentium III El Pentium III incorpora instrucciones adicionales en punto
flotantes para procesar software de gráficos 3D.
Merced Esta nueva generación de procesadores Intel usa
organización de 64 bits.
Registro de propósito general

Los registros de propósito general AX, BX, CX y DX son los caballos de batalla del sistema. Son
únicos en el sentido de que se puede direccionarlos como una palabra o como una parte de un
byte. El último byte de la izquierda es la parte “alta”, y el último byte de la derecha es la parte
“baja”. Por ejemplo, el registro CX consta de una parte CH (alta) y una parte Cl (baja), y usted
puede referirse a cualquier parte por su nombre.

GPR

Registro AX: El registro AX, el acumulador principal, es utilizado para operaciones que implican
entrada/salida y la mayor parte de la aritmética. Por ejemplo, las instrucciones para
multiplicar, dividir y traducir suponen el uso del AX. También, algunas operaciones generan
código más eficiente si se refieren al AX en lugar de a los otros registros.

Registro BX: El BX es conocido como el registro base ya que es el único registro de propósito
general que puede ser índice para direccionamiento indexado. También es común emplear el
BX para cálculos.

Registro DX: El DX es conocido como registro de datos. Algunas operaciones de entrada/salida


requieren uso, y las operaciones de multiplicación y división con cifras grandes suponen al DX y
al AX trabajando juntos.

Registro CX: El CX es conocido como el registro contador. Puede contener un valor para
controlar el número de veces que un ciclo se repite o un valor para corrimiento de bits, hacia la
derecha o hacia la izquierda. El CX también es usado para muchos cálculos.

Registro de Apuntadores e índice

Registros apuntadores.
Los registros apuntadores están asociados con el registro SS y permiten al procesador
accesar datos en el segmento de pila los registros apuntadores son dos:
 El registro SP
 El registro BP

Registro SP.
El apuntador de pila IP de 16 bits esta asociado con el registro SS y proporciona un valor de
desplazamiento que se refiere a la palabra actual que esta siendo procesada en la pila.
El ejemplo siguiente el registro SS contiene la dirección de segmento 27B3[0]H y el SP el
desplazamiento 312H Para encontrar la palabra actual que esta siendo procesada en la pila
el microprocesador combina las direcciones en el SS y el PP:
Dirección de segmento en el registro SS: 27B30H
Desplazamiento en el registro SP: + 312H
Dirección en la Pila: 27E42H

…….

27B3[0]H 312H
Dirección del segmento SS Desplazamiento del SP
Registro BP.
El registro BP de 16 bits facilita la referencia de parámetros, los cuales son datos y
direcciones transmitidos vía lapida.

Registro índice.
Los registros SI y DI están disponibles para direccionamientos indexados y para sumas y
restas. Que son la operaciones de punta.
Registro SI.
El registro índice de 16 bits es requerido por algunas operaciones con cadenas (de
caracteres). En este contexto, el SI está asociado con el registro DS. Los procesadores
80386 y posteriores permiten el uso de un registro ampliado a 32 bits, el ESI.
Registro DI.
El registro índice destino también es requerido por algunas operaciones con cadenas de
caracteres. En este contexto, el Di está asociado con el registro ES. Los procesadores 80386
y posteriores permiten el uso de un registro ampliado a 32 bits, el EDI.

Registro de Segmento

Un registro de segmento se utiliza para alinear en un límite de párrafo o dicho de otra


forma codifica la dirección de inicio de cada segmento y su dirección en un registro de
segmento supone cuatro bits 0 a su derecha.
Un registro de segmento tiene 16 bits de longitud y facilita un área de memoria para
direccionamientos conocidos como el segmento actual. Los registros de segmento son:
 Registro CS
 Registro DS
 Registro SS
 Registro ES
 Registro FS y GS

Registro CS.
El DOS almacena la dirección inicial del segmento de código de un programa en el registro
CS. Esta dirección de segmento, mas un valor de desplazamiento en el registro de apuntado
de instrucción (IP), indica la dirección de una instrucción que es buscada para sí ejecución.
Para propósito de programación normal, no e necesita referenciar el registro CS.
Registro DS.
La dirección inicial de un segmento de datos de programa es almacenada en el registro DS.
En términos sencillos, esta dirección, mas un valor de desplazamiento en una instrucción,
genera una referencia a la localidad de un bytes especifico en el segmento de datos.
Registro SS.
El registro SS permite la colocación en memoria de una pila,
para almacenamiento temporal de direcciones y datos. El DOS almacena la dirección de
inicio del segmento de pila de un programa en el registro SS. Esta dirección de segmento,
más un valor de desplazamiento en el registro del apuntador de la pila (SP), indica la
palabra actual en la pila que está siendo direccionada. Para propósitos de programación
normal, no se necesita referenciar el registro SS.
Registro ES
Algunas operaciones con cadenas de caracteres (datos de caracteres) utilizan el registro esta
de segmento para manejar el direccionamiento de memoria. En este contexto, el registro ES
esta asociado con el registro DI (índice) . un programa que requiere el uso del registro ES
puede inicializarlo con una dirección apropiada.
Registros FS y GS.
Son registros extra de segmento en los procesadores 80386y posteriores a estos
procesadores.

Registro de Bandera

Registro de bandera.
Los registros de banderas sirven parar indicar el estado actual de la maquina y el resultado
del procesamiento, Cuando algunas instrucciones piden comparaciones o cálculos
aritméticos cambian el estado de las banderas.
Las banderas están en el registro de banderas en las siguientes posiciones:
bits 15 14 13 12 11 10 9 8 7 6 5
4321

O D I T S Z A P C

Bandera
Las banderas mas comunes son las siguientes:
OF (Over flow flag, desbordamiento).
Indica el desbordamiento de un bit de orden alto (mas a la izquierda) después de una
operación aritmética.
DF (Direction flag, Direccion).
Designa la dirección hacia la izquierda o hacia la derecha para mover o comparar cadenas
de caracteres.
IF (Interruption flag, Interrupcion).
Indica que una interrupción externa, como la entrada desde el teclado sea procesada o
ignorada.
TF (Trap flag, Trampa).
Examina el efecto de una instrucción sobre los registros y la memoria.
Los programas depuradores como DEBUG, activan esta bandera de manera que pueda
avanzar en la ejecución de una sola interrupción a un tiempo.
SF (Sign flag, Signo).
Contiene el signo resultante de una operación aritmética (0=positivo y 1= negativo).
ZF (Zero flag, Zero).
Indica el resultado de una operación aritmética o de comparación (0= resultado diferente
de cero y 1=resultado igual a cero).
AF (Auxiliary carry flag, Acarreo auxiliar).
Contiene un acarreo externo del bit 3 en un dato de 8 bits, para aritmética especializada
PF (Parity flag, Paridad).
Indica paridad par o impar de una operación en datos de ocho bits de bajo orden (mas a la
derecha).
CF (Carry flag, Acarreo).
Contiene el acarreo de orden mas alto (mas a la izquierda) después de una operación
aritmética; también lleva el contenido del ultimo bit en una operación de corrimiento o
rotación.

DIRECCIONAMIENTO DE MEMORIA EN TIEMPO


REAL.
El modo real (también llamado modo de dirección real en los manuales de Intel)
es un modo de operación del 80286 y posteriores CPUs compatibles de la
arquitectura x86. El modo real está caracterizado por 20 bits de espacio de
direcciones segmentado (significando que solamente se puede direccionar 1 MB
de memoria), acceso directo del software a las rutinas del BIOS y el hardware
periférico, y no tiene conceptos de protección de memoria o multitarea a nivel de
hardware. Todos los CPUs x86 de las series del 80286 y posteriores empiezan en
modo real al encenderse el computador; los CPUs 80186 y anteriores tenían solo
un modo operacional, que era equivalente al modo real en chips posteriores.
Puesto que una especificación de diseño primaria de los microprocesadores x86
es que sean completamente compatibles hacia atrás con el software escrito para
todos los chips x86 antes de ellos, el chip 286 fue hecho para iniciarse en ‘ modo
real ‘ – es decir, en un modo que tenía apagadas las nuevas características de
protección de memoria, de modo que pudieran correr sistemas operativos
escritos para microprocesadores más viejos. Al día de hoy, incluso los más
recientes CPUs x86 se inician en modo real al encenderse, y pueden correr el
software escrito para cualquier chip anterior.Bajo el modo real no existe ningún
mecanismo para tener varias tareas ejecutándose concurrentemente, aunque si
se pueden tener varios programas cargados en memoria al mismo tiempo, pero
inactivos.

DIRECCIONAMIENTO DE MEMORIA EN MODO


PROTEGIDO.
El direccionamiento de memoria en modo protegido (a partir del 80286 y
posteriores) permite acceder a datos y programas localizados por encima y dentro
del primer megabyte de memoria. Para direccionar esta sección extendida el
sistema de memoria se requiere un cambio en el esquema de direccionamiento
de segmento más desplazamiento usado en el modo real. Cuando los datos y
programa se direccionan la memoria extendida, se sigue utilizando la dirección
de desplazamiento para acceder a la información en el segmento de memoria.
Una diferencia consiste en la dirección del segmento ya que no existe en modo
protegido. En lugar de una dirección de segmento, el registro de segmento
contiene un SELECTOR que elige un descriptor de una tabla.El descriptor
especifica la ubicación del segmento en memoria, su longitud y sus derechos de
acceso. Dado que el registro de segmento y la dirección de desplazamiento aún
acceden a la memoria, las instrucciones del modo protegido son idénticas a las de
modo real. De hecho, la mayoría de los programas escritos para funcionar en
modo real funcionarán sin cambios en el modo protegido.La diferencia entre los
dos modos es la forma en que el microprocesador interpreta el registro de
segmento para acceder al segmento de memoria. Otra diferencia, en los 80386 y
posteriores, es que en modo protegido la dirección de desplazamiento puede ser
un número de 32 bits en vez de utilizar uno de 16 bits como en modo real. Es por
esto que puede direccionar hasta 4 Gb de longitud.

Los registros invisibles para los programas


Se consideran como invisibles para el programa debido a que no están accesibles
directamente durante la programación de las aplicaciones, aunque pueden ser
usados indirectamente durante la programación del sistema. Únicamente el
80286 y posteriores contienen registros invisibles para el programa que se
utilizan para controlar y operar el sistema de memoria en modo protegido.

Diferentes modos de direccionamiento


En informática, los modos de direccionamiento son las diferentes maneras de
especificar un operando dentro de una instrucción en lenguaje ensamblador.

Un modo de direccionamiento especifica la forma de calcular la dirección de


memoria efectiva de un operando mediante el uso de la información contenida en
registros y/o constantes, contenida dentro de una instrucción de la máquina o en
otra parte.

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. Además, un modo
de direccionamiento que en una determinada arquitectura se trata como un modo
de direccionamiento, puede representar la funcionalidad que en otra arquitectura
está cubierto por dos o más modos de direccionamiento. Entre ellas están:
Modo de direccionamiento inmediato
El modo inmediato es la forma más simple de direccionamiento. El operando es
parte de la instrucción y, por lo tanto, ninguna referencia de memoria, distinta
de la instrucción, es requerida para recuperar el operando. Este modo es
rápido y se puede utilizar para definir constantes o establecer valores de
variables iniciales. Este modo tiene un alcance limitado, ya que es limitado al
tamaño del campo de dirección, que para la mayoría de los conjuntos de
instrucciones es pequeño en comparación con la longitud de palabra.

Modo de direccionamiento directo


En el modo directo, el campo de dirección contiene la dirección del operando.
Se requiere una única referencia de memoria para leer el operando de la
localización dada. Sin embargo, sólo proporciona un espacio de direcciones
limitado.

Modo de direccionamiento indirecto


En el modo indirecto, la celda de memoria a la que apunta el campo de
dirección contiene la dirección del operando (puntero), que a su vez contiene la
dirección de longitud completa del operando. Este modo tiene un espacio de
direcciones grande, a diferencia del direccionamiento inmediata y el directo,
pero debido a que se requieren múltiples accesos de memoria para encontrar
el operando es más lento.

Modo de direccionamiento de registro


El modo de registro es similar al modo directo. La diferencia clave entre los dos
modos es que el campo de dirección de la instrucción se refiere a un registro
en lugar de una posición de memoria. El direccionamiento de registro no tiene
una dirección eficaz. Tres o cuatro bits son utilizados como campo de dirección
para hacer referencia a los registros.

Modo de direccionamiento indirecto de registro


Este modo es similar al direccionamiento indirecto. El operando se encuentra
en una celda de memoria apuntada por contenido de un registro. El registro
contiene la dirección efectiva del operando. Este modo utiliza menos acceso de
memoria que el direccionamiento indirecto. Este modo tiene un espacio de
direcciones grande, pero es limitado al ancho de los registros disponibles para
almacenar la dirección efectiva.

Modo de direccionamiento de desplazamiento


El modo de desplazamiento consiste en tres variaciones:

1) Direccionamiento relativo 2) Direccionamiento de registro base 3)


Direccionamiento de índice

Este modo puede considerarse una combinación del modo de direccionamiento


indirecto y de registro. La dirección tiene dos valores: el valor base y un registro
que contiene un desplazamiento entero que es sumado o restado de la base
para formar la dirección efectiva de la memoria.

Modo de direccionamiento de pila


El modo de pila, también conocido como direccionamiento implícita, consiste en
un conjunto lineal de ubicaciones referidos al último que entra y primero en
salir. El operando está en la parte superior de la pila. El puntero de la pila es un
registro que almacena la dirección de la parte superior de la ubicación de la
pila.

Lenguaje de Ensamblador

El lenguaje ensamblador es el lenguaje de programación utilizado para escribir programas


informáticos de bajo nivel, y constituye la representación más directa del Código máquina
específico para cada arquitectura de computadoras legible por un programador. Aun hoy se
utiliza en la programación de handler o manipuladores de dispositivos de hardware.
Instrucciones lenguaje de ensamblador

Mov: mueve el valor de un registro o un numero hacia otro registro ejemplo mov Bx,5, movAX,
bx.

Add: Sumar el valor de un registro a otro registro ADD BX,5

Sub: Resta el valor de un registro o valor especifico a un registro sub cx,2

Inc: incrementa en 1 el valor del registro incbx

Dec: Decrementa en 1 el valor del registodecbx18

También podría gustarte