Está en la página 1de 10

1 ARQUITECTURA DEL MICROPROCESADOR 8086

Introducción. Los procesadores de 16 bits fueron una nueva generación de


microprocesadores desarrollados para reemplazar o completar a las microcomputadoras de
8 bits de los años setenta, que fueron las que comenzaron la revolución de las
microcomputadoras.
El 8086 fue diseñado para trabajar con lenguajes de alto nivel, disponiendo de un soporte
hardware con el que los programas escritos en dichos lenguajes ocupan un pequeño espacio
de código y pueden ejecutarse a gran velocidad. Esta concepción, orientada al uso de
compiladores, se materializa en un conjunto de facilidades y recursos, y en unas
instrucciones entre las que cabe destacar las que permiten efectuar operaciones aritméticas
de multiplicar y dividir, con y sin signo; las que manejan cadenas de caracteres, etc.
En su momento, el 8086 junto con el 8088 fueron los microprocesadores más empleados
dentro de su categoría, especialmente desde que IBM los adoptó para la construcción de su
computadora personal. Muchos fabricantes de microordenadores utilizaron esta familia
microcomputadora para fabricar equipos de tipo profesional.
Hoy en día, la utilización del 8086 es más reducida, quedando principalmente orientado a
la enseñanza, como base de los microprocesadores de la última generación. Antes de pasar
a hacer una descripción más detallada de la arquitectura interna del microprocesador,
vamos a destacar brevemente las principales características del 8086:
• El 8086 dispone de instrucciones especiales para el tratamiento de cadenas de caracteres.
• Los registros del 8086 tienen una misión específica, por lo que se podría decir que cada
uno de ellos tiene su propia personalidad, aunque varios comparten tareas comunes.
• El encapsulado del 8086 está formado por 40 patillas, simplificando así el hardware,
aunque por contra, es necesario la multiplicación del bus de datos con el de direcciones.
• El 8086 dispone de un conjunto de registros, denominados ‘cola de instrucciones’, en el
cual se van almacenando de forma anticipada los códigos de las instrucciones,
consiguiendo que este aumente su velocidad de trabajo. Asignatura: Estructura de
Computadores. Telecomunicación Arquitectura del Microprocesador 8086 Depto.
• Las 20 líneas del bus de direcciones sólo permiten direccionar una memoria de 1
Megabyte.
• El 8086 requiere una señal de reloj exterior, siendo 5 y 8 MHz las frecuencias típicas de
funcionamiento.
• El 8086 dispone de una arquitectura “pipe line”, es decir, que la CPU puede seguir
leyendo instrucciones en los tiempos en que el bus no se utiliza.
LA ARQUITECTURA INTERNA DEL 8086. Este microprocesador está dividido en dos
sub-procesadores. Por un lado está la “Unidad de Ejecución” (EU) encargada de ejecutar
las instrucciones, la cual posee una ALU (unidad aritmético-lógica) con un registro de
estado con varios flas asociados y un conjunto de registros de trabajo, y por otro está la
“Unidad de Interfaz de bus” (BIU) encargada de la búsqueda de las instrucciones, ubicarlas
en la cola de instrucciones antes de su ejecución y facilitar el direccionamiento de la
memoria, es decir, encargada de acceder a datos e instrucciones del mundo exterior.
El 8086 contiene 14 registros de 16 bits, de los cuales, unos pertenecen a la EU, que
normalmente se suelen usar para direccionamiento, y otros pertenecen a la BIU. EU BIU
AH AL BH BL CH CL DH DL SP BP SI DI IP FLAGS H FLAGS L CS DS SS es puntero
de pila puntero de base índice fuente índice destino puntero de instrucción indicadores de
estado acumulador base contador datos segmento de código segmento de datos segmento de
pila segmento extra juego de registros del 8086

Los registros del 8086 podrían clasificarse en tres grupos de acuerdo con sus funciones. El
grupo de datos, que es esencialmente el conjunto de registros aritméticos; el grupo de
apuntadores, que incluye los registros base e índices y también el contador Asignatura.
El grupo de registros de datos o registros generales son registros de 16 bits, pudiéndose
usar cada uno de ellos como dos registros de 8 bits. Aun siendo registros de uso general
tiene asignadas unas operaciones específicas. Así, por ejemplo, el AX es el acumulador de
16 bits y usándolo a veces provoca que el ensamblador produzca un lenguaje máquina
codificado en muy pocos octetos. Se emplea en multiplicaciones, divisiones,
entradas/salidas, etc.; el registro BX, se utiliza como registro base para el direccionamiento
de memoria; el registro CX, se utiliza como contador y almacenaje de datos y el registro
DX, se utiliza para almacenar datos de 16 bits.
Puede pensarse que es una extensión del registro AX para multiplicaciones y divisiones con
16 bits. Otra de sus funciones específicas es para almacenar la dirección de E/S durante
algunas operaciones de E/S. El grupo de apuntadores, es decir, punteros e índices está
formado por los registros IP, SP, BP, SI, DI. Los registros punteros son dos:
• IP como registro puntero de instrucciones conocido principalmente como contador de
programa. Este contiene un valor de 16 bits que es un desplazamiento sobre la dirección del
registro CS (segmento de código) que más adelante detallaremos.
• SP como registro de pila. El registro BP actúa como base de la dirección de la pila. Los
registros punteros de instrucciones (IP) y puntero de pila (SP) se encargan del control de
flujo del programa. Los registros SI y DI actúan como índices asociados al registro DS
(segmento de datos). El grupo de registros de segmento está formado por los registros CS,
SS, DS y ES.
• CS (segmento de código).
• DS (segmento de datos).
• SS (segmento de pila).
• ES (segmento extra)
Características de los procesadores CISC
El tamaño del código es pequeño, lo que implica una baja necesidad de memoria RAM
Las instrucciones complejas suelen necesitar más de un ciclo de reloj para ejecutar el
código
Se requieren menos instrucciones para escribir un software
Ofrece programación más sencilla en lenguaje ensamblador
Soporte para una estructura de datos compleja y fácil de compilar en lenguajes de alto nivel
Compuesto por menos registros y más nodos de direccionamiento, habitualmente entre 5 y
20
Instrucciones pueden ser más grandes que una sola palabra
Se enfatiza la construcción de instrucciones en el hardware, ya que es más rápido que crear
el software
Ventajas de los procesadores CISC
Para el compilador se requiere de poco esfuerzo para traducir programas de alto nivel o
lenguajes de instrucciones a lenguaje ensamblador o máquina
El tamaño del código es corto, reduciendo los requisitos de memoria
Almacenar las instrucciones CISC requieren de menos cantidad de memoria RAM
Genera procesos de administración de uso de energía que permiten ajustar la velocidad y el
voltaje del reloj
Requiere de menos instrucciones configuradas para realizar la misma instrucción que la
arquitectura RISC

Desventajas de los procesadores CISC

Pueden requerir de varios ciclos de reloj para completar una instrucción de un software
El rendimiento del equipo sufre un descenso debido a la velocidad del reloj
La ejecución mediante canalización en procesadores CISC puede ser realmente complicado
Este diseño de procesadores requiere muchos más transistores que la arquitectura RISC
Utilizan sobre el 20% de las instrucciones existentes en un evento de programación
Tienen un diseño mucho mayor que la arquitectura RISC, lo cual conlleva más generación
de temperatura, mayor consumo y mayor requisito de espacio físico

Características de las arquitecturas RISC


Qué es RISC
Es una arquitectura de procesadores basada en una colección de instrucciones simples y
altamente personalizadas. RISC se construye para minimizar el tiempo de ejecución de una
instrucción, optimizando y limitando el número de instrucciones.

Instrucciones de tamaño fijo y presentadas en un reducido número de formatos.


Sólo las instrucciones de carga y almacenamiento acceden a la memoria de datos.
El objetivo de diseñar máquinas con esta arquitectura es posibilitar la segmentación y el
paralelismo en la ejecución de instrucciones y reducir los accesos a memoria.

Las máquinas RISC protagonizan la tendencia actual de construcción de


microprocesadores. PowerPC, DEC Alpha, MIPS, ARM, SPARC… son ejemplos de
algunos de ellos.
RISC es una filosofía de diseño de CPU para computadora que está a favor de conjuntos de
instrucciones pequeñas y simples que toman menor tiempo para ejecutarse.
El tipo de procesador más comúnmente utilizado en equipos de escritorio, el x86, está
basado en CISC en lugar de RISC, aunque las versiones más nuevas traducen instrucciones
basadas en CISC x86 a instrucciones más simples basadas en RISC para uso interno antes
de su ejecución.
Entre las ventajas de RISC
La CPU trabaja más rápido al utilizar menos ciclos de reloj para ejecutar instrucciones.
Utiliza un sistema de direcciones no destructivas en RAM. Eso significa que, a diferencia
de CISC, RISC conserva después de realizar sus operaciones en memoria los dos operados
y su resultado, reduciendo la ejecución de nuevas operaciones.
Cada instrucción puede ser ejecutada en un solo ciclo del CPU.
Ejemplo de microprocesadores basados en la tecnología RISC:
MIPS, Millions Instruction Per Second.
PA-RISC, Hewlett Packard.
SPARC, Scalable Processor Architecture, Sun Microsystems.
POWER PC, Apple, Motorola e IBM

El estudiante crea un cuadro sinóptico de los sistemas numéricos


(binario, octal, decimal, hexadecimal).
SISTEMA DECIMAL

Bits y Bytes

Un número binario 0 puede estar representado por 0 voltios de electricidad (0 = 0 voltios).


Un número binario 1 puede estar representado por +5 voltios de electricidad (1 = +5
voltios).
Los computadores están diseñados para usar agrupaciones de ocho bits. Esta agrupación de
ocho bits se denomina byte. En un computador, un byte representa una sola ubicación de
almacenamiento direccionable. Estas ubicaciones de almacenamiento representan un valor
o un solo carácter de datos como, por ejemplo, un código ASCII. La cantidad total de
combinaciones de los ocho interruptores que se encienden y se apagan es de 256. El
intervalo de valores de un byte es de 0 a 255. De modo que un byte es un concepto
importante que se debe entender si uno trabaja con computadores y redes.

SISTEMA OCTAL
El sistema numérico en base 8 se llama octal y utiliza los dígitos 0
a 7.

Para convertir un número en base decimal a base octal se divide


por 8 sucesivamente hasta llegar a cociente 0, y los restos de las
divisiones en orden inverso indican el número en octal. Para pasar
de base 8 a base decimal, solo hay que multiplicar cada cifra por 8
elevado a la posición de la cifra, y sumar el resultado.

Ejemplos:
164(10)=x(8)
164:8= 20, resto 4
20:8= 2, resto 4
2:8=0, resto 2
entonces 164(10) = 244(8)

Ejemplo del sistema octal

SISTEMA DECIMAL

El sistema decimal es una técnica de numeración en la que las


cantidades se representan utilizando como base aritmética el
número diez y sus potencias. Se trata del sistema de uso más
común.
Es decir, el sistema decimal es aquel donde, para representar una
cifra, se toma como referencia el 10. Así, cada dígito, de derecha a
izquierda, se multiplica por diez elevado a una potencia,
empezando desde 0 y siguiendo con el 1, 2, 3, y así
consecutivamente en orden ascendente.
La notación del sistema decimal sería la siguiente, según el tipo de
número
Para números enteros: De izquierda a derecha, el primer dígito
corresponde a las unidades (se multiplica por 10 elevado a la
potencia 0), el segundo a las decenas (se multiplica por 10), el
tercero a las centenas (se multiplica por 10 elevado al cuadrado), el
cuatro al millar (se multiplica por 10 elevado al cubo), y así
sucesivamente.
Para números no enteros: Se recurre a separar con una coma o
punto decimal para separar la parte entera (al lado izquierdo) de la
fraccionaria (al lado derecho). Para leer la parte entera lo haremos
de la forma que ya hemos explicamos arriba. Asimismo, para la
parte fraccionaria, utilizamos las potencias negativas de diez,
yendo de izquierda a derecha de mayor a menor,

sistema hexadecimal
El sistema hexadecimal (abreviado hex.) es el sistema de
numeración posicional que tiene como base el 16. Su uso actual
está muy vinculado a la informática y ciencias de la
computación donde las operaciones de la CPU suelen usar
el byte u octeto como unidad básica de memoria, debido a que un
byte representa valores posibles, y esto puede representarse
como que equivale al número en base 16 dos dígitos
hexadecimales corresponden exactamente a un byte.
En principio, dado que el sistema usual de numeración es de
base decimal y, por ello, solo se dispone de diez dígitos, se adoptó
la convención de usar las seis primeras letras del alfabeto latino
para suplir los dígitos que faltan. El conjunto de símbolos es el
siguiente
Convertir los cuatro (4) últimos números de su
identificación a binario y hexadecimal, explicando el Dec Hex Binario
procedimiento. 0 0 0 0 0 0
Números a convertir a binario: 18,91 1 1 0 0 0 1
18 2 2 0 0 1 0
2 3 3 0 0 1 1
9 0
9 1
2 18=100102 4 4 0 1 0 0
4
4 2 0 5 5 0 1 0 1
2/
1
0 6 6 0 1 1 0
1 7 7 0 1 1 1
91/2=45/2=22/2=11/2=10/=5/2=2/=1
8 8 1 0 0 0
1 1 0 1 0 1 0 1
9 9 1 0 0 1
91=101010112 10 A 1 0 1 0
Sistema hexadecimal 11 B 1 0 1 1
Otro código que se usa con cierta frecuencia es el hexadecimal, es decir, 12 C 1 1 0 0
en base dieciséis. 13 D 1 1 0 1
Consiste en utilizar las letras A, B, C, D, E y F para representar los 14 E 1 1 1 0
números del diez al quince, mientras que para el dieciséis emplearemos el
15 F 1 1 1 1
1 y el 0.
Conversión de binario a hexadecimal
Esta conversión se realiza con la tabla de equivalencia donde tomamos los valores binarios
y los agrupamos en serie de 4 dígitos y realizamos el comparativo con la tabla de
equivalencia tomando el valor según corresponda, el valor encontrado correspondería al
número hexadecimal representado por el 16
El resultado que se encuentra a continuación representa los 4 últimos dígitos de mi
documento de identificación en 2 grupos.
[0001][0010]2 =( 1, 2 )16 los dos números en corchetes seria el número hexadecimal

1 2
[1010] [1011]2 =( A,B )16

A B
Ahora realizaremos la conversión de los 4 dígitos en conjunto.
1891/2 =945/2=472/2 =236/2 =118/2=59/2 =29/2 =14/2=7/2 =3/2 =1

1 1 0 0 0 1 1 0 1 1 𝟏2
1891= 1 1 0 0 0 1 1 0 1 1 𝟏2
Ahora realizaremos la conversión de binario a hexadecimal utilizando la tabla de
equivalencia
[0 1 1 0 ] [0 0 1 1] [ 0 1 1 𝟏]2 = (6, 3, 7 )16 este sería nuestro hexadecimal

6 3 7

Convertir los dos (2) primeros y los dos (2) últimos


números de su identificación a numeración binaria y con
ellos realizar las siguientes operaciones suma, resta y
multiplicación explicando el procedimiento.

También podría gustarte