1. Explicar métodos de conversión y los registros de un procesador 8086
Presentado por:
Bernabé Sánchez Lenis
Código: 16460502
Grupo:
301302_28
Tutor:
Anyelo Gerley Quintero
Universidad Nacional Abierta y a Distancia UNAD
Arquitectura de computadores - Ingeniería de sistemas
Yumbo – Valle del Cauca
Octubre de 2019
2. INTRODUCCIÓN
En este documento se resuelven métodos de conversión entre los tres sistemas
numéricos computacionales más importantes y explica adecuadamente los registros que
conforman un procesador 8086 así como las características de las arquitecturas CISC y
RISC con el propósito de identificar claramente la arquitectura predominante en los
sistemas computacionales.
3. OBJETIVOS
Explicar mediante un cuadro sinóptico los sistemas numéricos (Sistema decimal,
Sistema binario y Hexadecimal. Conversión entre todos estos tres sistemas: Decimal
a Binario, Decimal a Hexadecimal, Binario a Decimal, Binario a Hexadecimal,
Hexadecimal a Decimal, Hexadecimal a Binario).
Ilustrar de una manera clara y creativa una infografía en el cual muestre los registros
de un procesador 8086.
Explicar mediante un cuadro comparativo las características de las arquitecturas
CISC y RISC.
4. Cuadro sinóptico
Sistemas
numéricos
Sistema
decimal
Sistema
binario
Sistema
Hexadecimal
Conversión
entre estos
tres sistemas
El sistema de numeracióndecimal es un sistema posicional. Eneste sistemautilizamos diez dígitos, que son: 0, 1, 2, 3,4, 5, 6,7, 8, y 9. Por ello
decimos que el sistema decimal es de base diez.
En este sistema,cada cifra representaun valordistinto dependiendode suubicación en el número.
Es un sistema de numeraciónen el que los números se representan utilizando las cifras 0 y 1, es decir solo 2 dígitos (bi = dos). Esto en informática
y en electrónica tiene mucha importancia yaque las computadoras trabajan internamente con2 niveles: hayo nohayde Tensión, hayo nohay
corriente, pulsadoo sin pulsar, etc.
Es el sistema de numeración posicional que tiene comobase el 16. Sus números estánrepresentados porlos 10 primeros dígitos de la numeracióndecimal,
y el intervaloque va del número 10al 15 están representados por las letras del alfabetode la ‘A’ a la ‘F’.
Su uso actual está muy vinculado a la informática y ciencias de la computacióndonde las operaciones de la CPU suelen usar el byte uoctetocomounidad
básica de memoria. Aunque los circuitos electrónicos digitales y las computadoras utilizanel sistemabinario, el trabajar con este sistema de numeración
es bastante más complicado, loque da como resultadouna gran posibilidadde cometer errores se trabaja con números binarios demasiadolargos.
Decimal a
Binario
Decimal a
Hexadecimal
Binario a
Decimal
Binario a
Hexadecimal
Hexadecimal
a Decimal
Hexadecimal
a Binario
Para convertirun número decimal a binario se deben de seguir los siguientes pasos:
1. Se toma el númerodecimal y se divide entredos, hasta que el residuo sea 0 ó 1. Este
residuo es el dígito más a la derecha de la cifra binaria.
2. Con el cociente se realiza la operación descrita enel primer paso hasta que éste sea 1.
Para convertirun número decimal a binario se deben de seguir los siguientes pasos:
1. Se toma el númerodecimal y se divide entredos, hasta que el residuo sea 0 ó 1. Este residuo es el dígito
más a la derecha de la cifra binaria.
2. Con el cociente se realiza la operación descrita enel primer pasohasta que éste sea 1.
En nuestro caso, el cociente es 28 (mayor que 16), con lo que lo dividimos de nuevo:
En nuestro caso, el cociente es 1 (menor que 16), con lo que hemos terminado el proceso.
Hemos indicado los restos con dos rayas y el último cociente con una circunferencia.
Teniendo en cuenta que: 10 es A, 11 es B, 12 es C, 13 es D, 14 es E y 15 es F.
En nuestro caso,
* El último cociente es 1.
* El último resto es 12 (es decir, C).
* El penúltimo resto es 12 (es decir, C).
* El primer resto es 0.
Por tanto, el número 460 en base hexadecimal es 1CC. Es decir:
Para convertirun número binario enuno decimal,debemos comenzar
por el lado derecho, multiplicando cada dígitopor2 elevadoa la
potencia consecutiva, comenzandodesde la potencia cero (20
).
Vamos a transformar el número 110101 a
decimal:
proceso de conversiónse basa en empezarpor separar el numero
binario en bloques de 4 dígitos empezando desde la derecha hastala
izquierda, quedando tal que así:
sustituiremos cada bloque de dígitos binarios por
su correspondiente equivalente en hexadecimal
Para pasar un número hexadecimal a un númerodecimal,debemos
de multiplicar los números hexadecimales porlas distintas potencias
de la base 16 que representa cada digito del sistema hexadecimal.
Queremos convertir el número hexadecimal 𝐴6𝐷16 a decimal:
𝐴6𝐷 = 10 ∗ 102
+ 6 ∗ 161
+13 ∗ 160
= 2560 + 96 + 13 = 2669
Por lo tanto 𝐴6𝐷16 = 2669
Para pasar del binario al Hexadecimal solo debemos transformar
cada cifra independientementeal binario usando la transformación
binario-decimal o la siguiente tabla: Por ejemplo el F3A sería F= 1111 3 = 0011 A=1010 luego seria 111100111010
5. Sistemas
numéricos
Operaciones
matemáticas
básicas en
base dos
Operaciones
lógicas en
base dos
Las operaciones básicas de la
matemática son cuatrola suma, la
resta, la multiplicacióny la división
Suma:
Es la operación matemática que consiste en sumar desde la derecha, en nuestro
ejemplo, 1 + 1 = 10, entonces escribimos 0 en la fila del resultado y llevamos 1
(este "1" se llama arrastre). A continuación, se suma el acarreo a la siguiente
columna: 1 + 0 + 0 = 1, y seguimos hasta terminar todas las columnas
Resta:
Se trata de una operación de descomposición la resta 0 - 1 se resuelve, igual
que en el sistema decimal, tomando una unidad prestada de la posición
siguiente: 10 - 1 = 1 y me llevo 1, lo que equivale a decir en decimal, 2 - 1 =
1. Esa unidad prestada debe devolverse, sumándola, a la posición siguiente.
Multiplicación
Es una operación aritmética de composición, el algoritmo del producto en binario
es igual que en números decimales; aunque se lleva cabo con más sencillez, ya
que el 0 multiplicado por cualquier número da 0, y el 1 es el elemento neutro del
producto.
División
Es una operación aritmética de descomposición, la división en binario es similar a
la decimal, la única diferencia es que, a la hora de hacer las restas, dentro de la
división, estas deben ser realizadas en binario. Por ejemplo, vamos a dividir
100010010 (274) entre 1101 (13)
Trabaja con variables binarias y operaciones
lógicas del Álgebra de Boole. Así, las
variables sólo tomandos valores discretos:
V (verdadero) y F (falso); aunque estos dos
valores lógicos tambiénse pueden denotar
como sí y no, o como1 y 0 respectivamente.
Las operaciones lógicas básicas en base dos
son: OR, AND, XOR y NOT
La función OR es equivalente a la conjunción "O" de nuestra lengua, también
denominada suma lógica. Al aplicar esta función sobre dos variables (A y B), el
resultado (S) será el siguiente: Si al menos una de las dos variables tiene un valor
verdadero (1), entonces el resultado será verdadero. Para esta función con dos
variables son posibles cuatro combinaciones, o sea:
La función AND es equivalente a la conjunción "Y" de nuestra lengua, denominada
también multiplicación lógica. Al aplicar esta función sobre dos variables (A y B),
el resultado (S) será el siguiente: El resultado será verdadero si y sólo si, A y B son
verdaderos. Es decir:
La función XOR Esta operación lógica consiste en un negador de 2 variables, en las
cuales, una variable es la que se desea negar y la otra variable es la de control para
la negación.
La función NOT consiste en negar el estado de una variable, es decir, invertir el
resultado lógico que contenía la variable antes de aplicarle la negación lógica, dicha
función como bien mencione líneas atrás, solo sirve para una sola variable.
6. Infografía los registros de un procesador 8086:
AH AL
BH BL
CH CL
DH DL
FLAGS
CS S. de código
DS S. de datos
SS S. de pila
ES Segm. extra
BUS
INTERNO
IP P. de instruc.
SP Punt. de pila
DI Punt. destino
SI Punt. fuente
BP Punt. base
ALU
Unidad aritmética o lógica
UC
Unidad de control
AX
BX
CX
DX
REGISTROS DE PROPÓSITO GENERAL
Los registros de propósitogeneral son el AX, BX, CX, y DX, de 16 bits. Cada
uno de ellos se divide en dos registros de 8 bits, llamados AH y AL, BH y BL,
CH y CL, y, DH y DL, H significando High (alto) y L significandoLow
(bajo), indicando la partealtao la parte baja del registrocorrespondiente de 16
bits (ver esquema). Un programa podía usar tanto los registros de 16 bits
como los registros de 8 bits.
Es un registro de 16 bits, de los cuales nueve sirvenparaindicar el estado
actual de la máquina y el resultado del procesamiento.Muchas instrucciones
aritméticas y de comparacióncambianel estadode las banderas y apoyándose
en ellas se pueden tomar decisiones para determinar a acciónsubsecuente.
REGISTROS DE USO GENERAL
Registro AX: El registro AX es el registroacumulador,
es utilizado para operaciones que implican entrada /
salida, multiplicacióny división(estas dos últimas en
conjuntoconel registroDX)
Registro BX: El registro BX es el registro base, y es el
único registro de propósito general que puede ser un
índice para direccionamientoindexado
Registro CX: El registro CX es conocido comoel
registro contador.Puede contenerun valor para
controlar el númerode veces que un ciclo se repite o un
valor para corrimientode bits
Registro DX: El registro DX es el registrode datos. En
algunas operaciones se indica medianteeste registroel
número de puertode entrada / salida, y en las
operaciones de multiplicacióny divisiónde 16 bits se
utiliza junto conel acumulador AX
RESISTROS DE SEGMENTO
Registro CS:El DOSalmacena la direccióninicial del segmentode
código de un programa enel registroCS. Esta direcciónde segmento,
más un valor de desplazamientoen el registroapuntador de instrucción
(IP), indica la dirección de una instrucción que es bus cada para su
ejecución. Para propósitos de programaciónnormal, nose necesita
referenciarel registroCS.
Registro DS:La dirección inicial de un segmento de datos de programa
es almacenada en el registroDS. Esta dirección,más un valorde
desplazamientoen una instrucción, genera una referenciaa la localidad
de un byte específicoen el segmentode datos.
Registro SS: El registroSSpermite la colocaciónen memoriade una
pila, para almacenamientotemporal de direcciones y datos. El DOS
almacena la direcciónde inicio del segmentode pila de un programa en
el registro SS. Esta dirección de segmento, más un valorde
desplazamientoen el registro del apuntador de la pila (SP), indica la
palabra actual en la pila que está siendo direccionada. Para propósitos de
programaciónnormal, nose necesita referenciar el registroSS.
Registro ES: Algunas operaciones con cadenas de caracteres utilizanel
registro extra de segmentopara manejar el direccionamientode
memoria. El registroESestá asociadoconel registroDI (Índice). Un
programa que requiere el uso del registro ESpuede inicializarloconuna
dirección de segmentoapropiada.
REGISTROS DE PUNTERO
Registro SI: El registro índice fuente de 16 bits es requerida poralgunas
operaciones concadenas de caracteres. El SI está asociado conel segmento DS.
Registro DI: El registroíndice destino también es requerido por algunas
operaciones concadenas de caracteres. El DI está asociado con el segmento ES.
Registro SP: El apuntadordepila de 16 bits estáasociadoconel segmentoSS y
proporciona un valorde desplazamientoque se refiere a la palabra actual que está
siendo procesada en la pila. El sistemamaneja de manera automáticaeste registro,
aunque el programa puede hacer ciertas manipulaciones conél.
Registro BP: El apuntadorbase de 16 bits facilitala referencia de parámetros
dentro de la pila.
El registro IP de 16 bits contiene el desplazamientode direcciónde la siguiente
instrucciónque se ejecuta. El IP está asociadoconel registroCSen el sentido de
que el IP indica la instrucciónactual dentrodel segmentode código que se está
ejecutando actualmenteen la memoria.
7. Cuadro comparativo las características de las arquitecturas CISC y RISC:
Arquitectura CISC Arquitectura RISC
Tipos de
instrucciones
* Tienen un conjunto de instrucciones
que se caracteriza por ser muy amplio
y permitir operaciones complejas entre
operandos situados en la memoria o en
los registros internos.
* Instrucciones de tamaño fijo y
presentado en un reducido número de
formatos.
* Sólo las instrucciones de carga y
almacenamiento acceden a la memoria
de datos.
Relación con la
memoria
* Permite operaciones complejas entre
operando situados en la memoria o en
los registros internos
* La velocidad del procesador en
relación con la memoria de la
computadora que accedía era cada vez
más alta
Tipo de
ejecución
* Arquitectura Memoria – Memoria. * Arquitectura Registro – Registro.
Tipo de formato
* Varios formatos de
direccionamiento.
* Casi todas las instrucciones pueden
ejecutarse dentro de un ciclo de reloj.
Cantidad de
instrucciones
* Los microprocesadores CISC tienen
un conjunto de instrucciones que se
caracteriza por ser muy amplio y
permitir operaciones complejas entre
operandos situados en la memoria o en
los registros internos.
Las instrucciones, aunque con otras
características,siguen divididas en tres
grupos:
* Transferencia.
* Operaciones.
* Control de flujo.
Modos de
direccionamiento
* Muchos modos de
Direccionamientos.
* Arquitectura del tipo load-store
(carga y almacena).
Tipos de modos
de
direccionamiento
* Las maquinas CISC tienen más de
una docena de modos de
direccionamiento, algunos de ellos
demasiado complejos.
* Las máquinas RISC disponen de
apenas cinco modos de
direccionamiento simple.
Conjunto de
registros
* El procesador trae cientos de
registros y se necesitan muchos pasos
y ciclos de reloj para realizar una sola
operación.
* Un conjunto de registros
homogéneo, permitiendo que
cualquier registro sea utilizado en
cualquier contexto y así simplificar el
diseño del compilador.
Canalización
* Para cada paso de canalización, o un
máximo de 10 ciclos de reloj por
instrucción. Para dos instrucciones, se
necesita un máximo de 12 ciclos de
reloj (10+2=12 en lugar de 10*2=20),
dado que la instrucción anterior ya se
encontraba en la canalización. Ambas
instrucciones se procesan
simultáneamente, aunque con una
demora de 1 o 2 ciclos de reloj. Para 3
instrucciones, se necesitan 14 ciclos
de reloj, etc.
* La clave de la canalización es que el
procesador pueda comenzar a leer la
siguiente instrucción tan pronto como
termine la última instrucción,
significando esto que ahora dos
instrucciones se están trabajando (una
está siendo leída, la otra está
comenzando a ser decodificada), y en
el siguiente ciclo habrá tres
instrucciones. Mientras que una sola
instrucción no se completaría más
rápido, la siguiente instrucción sería
completada enseguida. La ilusión era
la de un sistema mucho más rápido.
8. Tipos de
complejidad en
cuanto al
compilador y
microprogramas
* La microprogramación es una
característica importante y esencial de
casitodas las arquitecturas CISC.
Como, por ejemplo:
Intel 8086, 8088, 80286, 80386,
80486.
Motorola 68000, 68010, 68020,
68030, 6840.
La microprogramación significa que
cada instrucción de máquina es
interpretada por una microprograma
localizado en una memoria en el
circuito integrado del procesador.
* Todas las operaciones complejas se
trasladan al microprocesador por
medio de conexiones fijas en el
circuito integrado para agilizar las
instrucciones básicas más importantes.
De esta manera, el compilador asume
la función de un mediador inteligente
entre el programa de aplicación y el
microprocesador. Es decir, se hace un
gran esfuerzo para mantener al
hardware tan simple como sea posible,
aún a costa de hacer al compilador
considerablemente más complicado.
Esta estrategia se encuentra en clara
contra posición con las máquinas
CISC que tienen modos de
direccionamiento muy complicados.
En la práctica, la existencia en algunos
modos de direccionamiento
complicados en los microprocesadores
CISC, hacen que tanto el compilador
como el microprograma sean muy
complicados.
Formas de
llevarse a cabo
los saltos
condicionales
* Saltos
* Salta a la etiqueta jmp etiqueta
* Salta a la etiqueta si el bit de cero
está activo (jump equals) je etiqueta
jne etiqueta (si no está activo)
* Salta a la etiqueta si el bit de
transporte está activo (jump carry)
jc etiqueta
jnc etiqueta (si no está activo)
* Salta a la etiqueta si el bit de
desbordamiento está activo (jump
overflow) jo etiqueta
* Las instrucciones de brinco
condicionales inmediatas (BEQI,
BNEI, BLTI, BGTI) realizan la
comparación de los registros y su
respectivo salto en un solo ciclo de
reloj. En estas instrucciones la
dirección de salto es de 12 bits,
permitiendo lo que conocemos como
saltos relativos en una ventana de 4K
hacia adelante y hacia atrás de la
posición actual del registro contador
de programa. Para poder hacer saltos
condicionales sobre todo el mapa de la
memoria de programa usamos las
instrucciones BEQ, BNE,BLT y BGT
en conjunto con la instrucción de
comparación CMP, tomando dos
ciclos para realizar tanto la
comparación como el brinco
condicional.
9. CONCLUSIONES
Se estableció la importancia de la estructura y funcionamiento de la CPU en cuanto
a los registros, ciclos de instrucción, segmentación de instrucciones y manejo de
interrupciones.
Se establecieron los procesos y pasos a seguir para las conversiones de binario a
decimal y hexadecimal para validar procesos de trasmisión de información y ejecución de
procesadores.
Tras verificas las características de las arquitecturas CISC y RISC se determinaron
diferencias claras en los procesos, lenguajes, arquitecturas entre otras de los procesadores
vitales para el funcionamiento de los computadores.
10. BIBLIOGRAFÍA
Andonegui, M. (15 de 03 de 2007). El sistema numérico decimal. [N.p.]: Corporación
Andina de Fomento (págs.1 - 29). Recuperado de
http://bibliotecavirtual.unad.edu.co:2051/login.aspx?direct=true&db=edsebk&AN=804505
&lang=es&site=eds-live
Arquitecturas de Microprocesadores. (2005). Ediciones Paraninfo, S.A. Recuperado de
http://bibliotecavirtual.unad.edu.co/login?url=http://search.ebscohost.com/login.aspx?direct
=true&db=edsgvr&AN=edsgcl.4054500068&lang=es&site=eds-live
Castro, M. (2014). Estructura y tecnología de computadores I (Gestión y Sistemas) (págs.1-
114). Recuperado de:
https://bibliotecavirtual.unad.edu.co:2538/lib/unadsp/reader.action?ppg=1&docID=321773
9&tm=1543530927242
Clasificación de los Microprocesadores. (2005). Ediciones Paraninfo, S.A. Recuperado de
http://bibliotecavirtual.unad.edu.co:2051/login.aspx?direct=true&db=edsgvr&AN=edsgcl.4
054500066&lang=es&site=eds-live