NOTAS DE CÁTEDRA ARQUITECTURA DEL PROCESADOR I
2014 ING. GEORGINA INÉS CERÚSICO DE TOGNOLA FACULTAD DE CIENCIAS EXACTAS Y NATURALES UNIVERSIDAD NACIONAL DE CATAMARCA
CONCEPTOS BÁSICOS
U.N.Ca. Fa.C.E.y N. Tecnicatura en Informática 2014
Ing. Georgina Inés Cerúsico de Tognola Arquitectura del Procesador I Pág. 1
COMPONENTES FISICOS DE UNA COMPUTADORA
Cuando observamos una computadora personal, esto es lo que vemos:
Nos interesa conocer sus componentes internos, y comprender cómo funcionan y
cómo se relacionan.
Las partes que vemos son: el monitor, el teclado, el mouse o ratón, y una unidad
principal constituida por el gabinete que encierra y protege lo que se denomina
motherboard, placamadre o placa principal, que es el lugar donde se conectan otros
elementos como el microprocesador, los módulos de memoria, tarjetas especiales, el
disco duro, la unidad de DVD, diversos controladores, etc.
En la figura siguiente se muestra el interior de la unidad principal:
Unidad
Principal
Monitor
Teclado
Mouse o
Ratón
Interior de la
unidad
principal de
una
computadora
U.N.Ca. Fa.C.E.y N. Tecnicatura en Informática 2014
Ing. Georgina Inés Cerúsico de Tognola Arquitectura del Procesador I Pág. 2
En las primeras clases presentamos un esquema de los componentes de una
computadora, los que de seguro vieron en otras asignaturas de su formación
disciplinar:
ESQUEMA DE LOS COMPONENTES DE LA COMPUTADORA
Los elementos principales con que cuenta una computadora son los siguientes:
*La Unidad Central de Proceso (CPU)
*La Memoria
*Los Controladores
*Las Unidades de Entrada/Salida Dirección de un puerto/Dirección de una celda de memoria
Bus de Direcciones
Unidad C M CPU
de E/S
Dato/Instrucción Bus de datos
Leer/Escribir Bus de control
C = Controlador de la Unidad de Entrada/Salida
M = Memoria
CPU = Unidad Central de Proceso
Ya mencionamos que la CPU realiza tareas de control y cálculo. Sus
componentes principales son:
* La Unidad de Control
Interpreta las instrucciones y genera órdenes para que se ejecuten.
* La Unidad de cálculo (Aritmética y Lógica).
Siguiendo las órdenes generadas por la Unidad de Control, recibe los datos de la
memoria, opera con ellos y almacena el resultado en la memoria. Los cálculos son de
tipo aritmético o lógico.
Un microprocesador (µP) es un procesador en un solo chip (pastilla de circuito
integrado). Es la unidad central de proceso (CPU).
La memoria es el lugar donde se almacenan o cargan los datos y el o los
programas que la CPU va a ejecutar.
Como la CPU sólo entiende secuencias determinadas de valores binarios, toda la
información destinada a ser procesada por la computadora debe traducirse, en último
término a binario. La información en binario (datos e instrucciones del programa) se
almacena en la memoria.
La CPU sólo ejecuta órdenes elementales. Un conjunto de estas órdenes
elementales ordenadas consecutivamente se llama programa.
U.N.Ca. Fa.C.E.y N. Tecnicatura en Informática 2014
Ing. Georgina Inés Cerúsico de Tognola Arquitectura del Procesador I Pág. 3
Un Controlador constituye la interfaz entre la computadora y una determinada
Unidad de Entrada/Salida. Por ejemplo, cuando nos referimos al monitor como
unidad de E/S, el controlador de video es el que realiza esa interfaz o comunicación
entre el monitor y el resto de los componentes. Estos controladores liberan a la CPU del
trabajo de tener que entender a todas las unidades de E/S para poder manejarlas. Los
controladores pueden estar incorporados en la placamadre (onboard), como
generalmente, está el controlador de video; o pueden encontrarse en alguna tarjeta que
se agrega en las ranuras o slots de expansión de la placamadre.
Las Unidades de Entrada/Salida contienen los datos a procesar, y las
dividiremos en dos grupos, según su función: medios de almacenamiento (unidades que
almacenan datos en un formato comprensible para la computadora) y los periféricos
(unidades que permiten la entrada o salida de información, es decir la comunicación con
el usuario). Para el funcionamiento de Unidad Central de Proceso es necesario que los
datos e informaciones estén soportados en un elemento físico al que la propia
computadora tenga acceso; estos elementos son los llamados medios de
almacenamiento. Así podemos decir que un medio de almacenamiento es un medio
físico que permite almacenar datos de forma que una computadora pueda manejarlos,
ejemplos de éstos son los discos duros, CD, DVD, cintas magnéticas, etc.
El bus
El bus es un canal de comunicación entre todas las unidades funcionales del
sistema. La interconexión entre estas unidades se realiza al “colgar” cada unidad al bus.
Cuando se añade una nueva unidad, se conecta en una de las ranuras (slots) de
expansión, conectada directamente al bus.
El bus se compone de varias líneas o hilos (uno por cada bit) por el que circula
un cierto tipo de información. Hay tres tipos de buses,según la información que circula
por el mismo:
* Bus de datos
* Bus de direcciones
* Bus de control
El Bus de datos:
Funciona en conjunción con el bus de direcciones para transmitir los datos.
El Bus de direcciones:
Son n líneas de señales para transmitir las direcciones de las posiciones de
memoria y de los puertos que corresponden a los dispositivos conectados al bus. Puesto
que cada línea puede tener dos valores posibles (0 o 1), se pueden especificar 2n
direcciones distintas. Piensen en esta afirmación ya que del tamaño del BUS de
DIRECCIONES dependerá la cantidad de puntos o celdas de la memoria a los que la
CPU puede acceder.
El Bus de control:
Son una serie de líneas que sirven básicamente para indicar el tipo de
información que viaja por el bus. Por ejemplo, sirve para indicar el tipo de operación
que la CPU quiere realizar en un acceso a memoria: leer un dato de una celda de
memoria o escribir un dato en una posición de memoria indicada a través del bus de
direcciones.
Más sobre el microprocesador:
El microprocesador está conectado a un oscilador (o reloj) que genera impulsos
igualmente espaciados en el tiempo. En el caso de los microprocesadores 8088 de la
familia Intel, la frecuencia base del reloj es de 14,31818 Mhz (millones de ciclos por
U.N.Ca. Fa.C.E.y N. Tecnicatura en Informática 2014
Ing. Georgina Inés Cerúsico de Tognola Arquitectura del Procesador I Pág. 4
segundo). El 8088 divide esta frecuencia base por una constante para implementar un
ciclo de máquina. Por ejemplo, 4,77 Mhz es un tercio de la frecuencia base. Por lo
tanto, esta frecuencia de 4,77 Mhz es la empleada por un microprocesador Intel 8088.
Los sistemas nuevos incluyen la circuitería del oscilador en el conjunto de chips
(chipset) de la tarjeta madre. La señal de reloj forma la base de tiempo sobre la cual
opera la computadora. Un sistema de computación típico corre a mil millones de esos
ciclos por segundo, de manera que la velocidad se mide en GigaHertz (un hertz es igual
a un ciclo por segundo.
Un ciclo individual es la mínima porción de tiempo para el procesador. Cada
acción requiere de un ciclo o varios para ejecutarse. Por ejemplo, para transferir datos
desde y hacia la memoria, un Pentium II necesitaba un mínimo de tres ciclos para
preparar la primera transferencia y sólo uno más para llevar a cabo las siguientes tres,
cuatro, cinco o seis transferencias consecutivas. Los ciclos adicionales de la primera
transferencia son conocidos como estados de espera. Un estado de espera es un tic de
reloj en el cual nada sucede; esto asegura que el procesador no se adelante al resto de
los componentes. Ampliaremos cuando se estudie en detalle la memoria.
Por lo tanto, cada instrucción que ejecuta el microprocesador consume un
número determinado de ciclos de máquina.
A los componentes ya mencionados de la CPU (Unidad de Control y Unidad
Aritmética y Lógica) deben agregársele otros elementos que la conforman, como por
ejemplo la FPU (Floating Point Unit – Unidad de Punto Flotante), la memoria caché
interna, y los registros internos:
Unidad de Punto Flotante: es la unidad que realiza operaciones con
números reales, es decir, números con parte entera y parte fraccionaria).
Es lo que en los micros anteriores al Intel 486 DX, se conocía como
coprocesador matemático.
Memoria Caché Interna: también llamada caché L1 (Level 1), de nivel 1,
o de Primer Nivel. Es una porción de memoria que es más rápida, más
costosa, menos densa y de menor tamaño que la memoria principal. El
objetivo de esta memoria es contener los datos y las instrucciones que se
supone, la CPU va a requerir de manera inmediata. De esta forma se
accedería a los datos y a las instrucciones del programa más rápidamente
que si los tuviera que traer de la memoria principal.
Registros Internos: son pequeñas porciones de memoria donde el
procesador guarda información relacionada con el programa que se está
ejecutando en un momento determinado.
Las figuras siguientes corresponden a dos procesadores de la empresa Intel: un
Pentium II, y un Core i7.
Es importante tener en cuenta que todos los componentes e innovaciones que se van
incorporando a los procesadores, buscan que los mismos mejoren su rendimiento, es
decir, ejecuten los programas de la manera más eficiente, disminuyendo los tiempos de
ejecución y aprovechando al máximo los recursos disponibles. Tengan en cuenta esta
idea principal, cuando desarrollen su trabajo sobre microprocesadores.
U.N.Ca. Fa.C.E.y N. Tecnicatura en Informática 2014
Ing. Georgina Inés Cerúsico de Tognola Arquitectura del Procesador I Pág. 5
Recuerden que cada vez que hablemos de la CPU o Unidad Central de Proceso,
estaremos haciendo referencia al microprocesador o procesador, o simplemente,
“micro”.
Comenzaremos detallando uno de los componentes más importantes del
microprocesador, los registros internos.
REGISTROS INTERNOS DEL MICROPROCESADOR
Como la CPU es un componente distinto de la memoria de la máquina, contiene celdas
de memoria especiales, llamadas registros, que sirven para guardar temporalmente los
datos que se manipulan. Los registros sirven para guardar los datos que tienen
aplicación inmediata para la operación en curso, guardan información respecto al
programa que se está ejecutando.
Como se ve en la Unidad de Circuitos digitales, los registros se implementan a través de
circuitos secuenciales
Por lo tanto, podemos decir que en el centro de todos los procesadores se encuentran sus
registros, “variables de hardware”, en los cuales pueden cargarse datos de la memoria,
allí tratarlos con la ayuda de las instrucciones en lenguaje máquina y finalmente
volverlos a escribir en la memoria. Esto es mucho más rápido que la manipulación de
información dentro de la memoria, ya que los registros se descargan directamente en el
procesador y por lo tanto no es necesario acceder al bus. La siguiente ilustración
describe los catorce registros de 16 bits del microprocesador 8088, estos registros se
encuentran también en todos sus sucesores.
Registros Generales Registros de Segmento 15 8 7 0
AX
ACCUMULATOR D S DATA SEGMENT
A H A L
BX
B H B L BASE E S EXTRA SEGMENT
CX
CH CL COUNT C S CODE SEGMENT
DX DATA
DH DL S S STACK SEGMENT
D I DESTINATION INDEX
S I SOURCE INDEX Contador de Programa
,
S P STACK POINTER I P INSTRUCTION
POINTER
B P BASE POINTER
U.N.Ca. Fa.C.E.y N. Tecnicatura en Informática 2014
Ing. Georgina Inés Cerúsico de Tognola Arquitectura del Procesador I Pág. 6
Registro de Banderas
OF DF IF TF SF ZF AF PF CF
Todos los registros tienen un tamaño de 16 bits (2 bytes). Así pueden registrar un valor
entre 0 y 65535 (1111111111111111b, o FFFFh).
Puede ver que se han dividido los registros en cuatro grupos: registros generales,
registros de segmento, contador de programa y registro de banderas. Esta división
proviene del tipo de información que se almacena en ellos y de las diferentes tareas que
los registros efectúan en el tratamiento de instrucciones en lenguaje máquina y en el
acceso a la memoria.
Los bits se numeran de derecha a izquierda. El bit 0 es el menos significativo.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bits
Registros Generales:
Existen cuatro registros de datos o de almacenamiento temporal.
AX= Acumulador
Es el registro principal utilizado en las instrucciones aritméticas.
BX= Base
Se usa para indicar un desplazamiento (offset).
CX= Contador
Se utiliza como contador en los bucles y en las operaciones de tipo repetitivo.
DX= Dato
Se usa también en operaciones aritméticas.
Cada uno de estos registros puede dividirse en dos registros de 8 bits. De esta manera
cada uno consiste prácticamente en tres registros diferentes: uno grande de 16 bits, y
dos pequeños de 8 bits. Así, es posible referirse al byte superior (más significativo) o al
byte inferior (menos significativo) en los registros AX, BX, CX y DX. Por ejemplo,
para referirnos al byte superior (bits 15 a 8) usamos el AH (High o alto) para el byte
inferior (bits 7 a 0) usamos el AL (Low o bajo).
Existen dos registros punteros de pila:
SP = Stack Pointer - Puntero de la pila
Contiene la dirección relativa al segmento de pila.
BP = Base Pointer - Puntero Base
Se utiliza para fijar el puntero de la pila y así poder acceder a los elementos de la pila.
Existen además dos registros índices:
Se utilizan como desplazamiento relativo a un campo de datos.
SI = Source Index - Indice fuente
DI = Destination Index - Indice Destino
Registros de Segmento:
Existen cuatro registros de segmentos, contienen la dirección de comienzo de ciertos
segmentos de memoria.
CS = Code Segment. Registro de Segmento de Código
Contiene la dirección del segmento de código, es decir del segmento donde se
encuentran las instrucciones del programa.
DS = Data Segment. Registro de Segmento de Datos
U.N.Ca. Fa.C.E.y N. Tecnicatura en Informática 2014
Ing. Georgina Inés Cerúsico de Tognola Arquitectura del Procesador I Pág. 7
Contiene la dirección del segmento de datos, es decir del área de memoria donde se
encuentran los datos del programa.
SS = StackSegment. Registro de Segmento de Pila (Stack = Pila)
Contiene la dirección del segmento de pila. La pila es un espacio de memoria
temporal que se utiliza para almacenar valores de 16 bits (palabras).
ES = Extra Segment. Registro de Segmento Extra
Contiene la dirección del segmento extra, que es un segmento de datos adicional
que se utiliza para superar la limitación de los 64 Kb (Kilo Bytes) del segmento de datos
y para hacer transferencia de datos entre segmentos. (Recordar los ejemplos vistos en
clase)
Cada uno de estos registros guarda la dirección de segmento de una porción de
memoria asociada con el programa en ejecución.
Puntero de Instrucción o Contador de Programa (IP):
Llamado Contador de Programa (ProgramCounter, PC), contiene el desplazamiento de
la instrucción siguiente a ejecutar respecto del segmento de código (codesegment) del
programa en ejecución.
En conjunción con el registro CS (codesegment), indica la dirección completa de la
siguiente instrucción a ejecutar, es decir, CS:IP.
Los programas no pueden manejar directamente a este registro, pero sí lo pueden hacer
en forma indirecta mediante instrucciones de bifurcación.
El Registro de Banderas:
Cada bandera (flag) es un bit y se usa para registrar la información de estado y de
control de las operaciones del microprocesador. Hay nueve banderas (los 7 bits restantes
del registro no se utilizan):
Seis banderas de estado: Registran el estado del procesador, normalmente asociado a
una comparación o a una instrucción aritmética:
CF = CarryFlag - Bandera de Acarreo. Indica acarreo en las instrucciones aritméticas.
OF = OverflowFlag - Bandera de desbordamiento (aritmético).
ZF = Zero Flag - Bandera de resultado cero o comparación igual.
SF = SignFlag - Bandera de resultado o comparación negativa.
PF = ParityFlag - Bandera de paridad (número par de bits).
AF = Auxiliar Flag - Bandera auxiliar. Indica si hay necesidad de ajuste en las
operaciones aritméticas con números BCD (Decimal Codificado en Binario).
Tres banderas de control: Registran el modo de funcionamiento del procesador.
DF = DirectionFlag - Bandera de dirección. Controla la dirección (hacia adelante o
hacia atrás) en las operaciones con cadenas de caracteres incrementando o
decrementando automáticamente los registros índices (SI y DI).
IF = InterruptFlag - Bandera de interrupciones. Indica si están permitidas o no las
interrupciones de los dispositivos externos (más adelante se ampliará sobre el tema de
interrupciones).
TF = TrapFlag - Bandera de atrape. Controla la operación modo paso a paso.
El registro de banderas en primer lugar sirve para la comunicación entre las
instrucciones consecutivas en lenguaje de máquina, almacenando el estado de las
operaciones aritméticas y lógicas. De manera que un programa podrá determinar por
ejemplo, mediante la bandera de carry (CF), si después de la suma de dos registros de
16 bits, el resultado es superior a 65535 y por tanto ya no puede representarse como
cifra de 16 bits. Los bits de signo, cero y desbordamiento (overflow), efectúan
U.N.Ca. Fa.C.E.y N. Tecnicatura en Informática 2014
Ing. Georgina Inés Cerúsico de Tognola Arquitectura del Procesador I Pág. 8
funciones similares y con su ayuda puede determinarse después de comparar dos
registros, si el valor del primer registro es superior, inferior o igual que el del segundo.
Segmentos y registros asociados:
Como vemos, un programa consta de cuatro tipos de segmentos. Cada segmento se
direcciona mediante un determinado tipo de registro de segmento.
Segmento de Código. Cada instrucción se direcciona mediante:
registro de segmento: CS
registro de desplazamiento: IP
CS : IP
(Dirección completa de la siguiente instrucción a ejecutar)
Segmento de datos. Los datos se direccionan mediante:
registro de segmento: DS
registros de desplazamiento: BX, SI o DI
DS : BX o DS : SI o DS : DI
(Dirección completa de un dato en el segmento de datos)
Segmento de pila. Los datos se direccionan mediante:
registro de segmento: SS
registros de desplazamiento: SP o BP
SS : SP o SS : BP
(Dirección completa de un resultado intermedio en la pila)
Segmento extra. Igual que el de datos, sustituyendo DS por ES, es decir:
registro de segmento: ES
registros de desplazamiento: BX, SI y DI
ES : BX o ES : SI o ES : DI
(Dirección completa de un dato en el segmento de datos adicionales)
Ejercicio Práctico
Registros Internos del Microprocesador
Con los valores de lo registros, y teniendo en cuenta el programa, coloca (V) o (F):
Si la CPU debe acceder a una celda para almacenar resultados intermedios, podría acceder
a las celdas siguientes: 17CD:0978, y 17CD:0000.
La CPU está trabajando modo paso a paso.
La dirección de segmento del área de memoria donde se ha cargado el programa es 16CD.
La CPU no está permitiendo que la interrumpan.
La última operación que realizó el micro produjo desbordamiento.
Las direcciones de desplazamiento de las celdas donde se podrían guardar datos
adicionales son: 7FCD, FC34 y 0086.
Se han completado correctamente las direcciones de las posiciones de memoria donde se
ha cargado el programa.
La última operación que realizó el micro dio resultado cero o comparación igual.
La dirección de segmento del área de memoria donde se han cargado los datos del
programa es 17CD.
La siguiente instrucción a ejecutar es 0119.
U.N.Ca. Fa.C.E.y N. Tecnicatura en Informática 2014
Ing. Georgina Inés Cerúsico de Tognola Arquitectura del Procesador I Pág. 9
AX = 12CF BX = 0086 CX= 0002 DX = 12DC SP = 0978 BP = 0000 SI = 7FCD
DI = FC34 IP = 0119
SS = 17CD ES = 34FF DS = 21FF CS = 16CD
c = 1 p = 0 o = 1 z = 0 s = 0 a = 0 t = 1 i = 1 d = 0
21FF : 0119 F7D0 NOT AX
21FF : 011B EB04 JMP 0121
21FF : 011E B42C MOV AH,2C
De ser necesario, realiza las correcciones en las direcciones de las posiciones de
memoria para que estén indicadas correctamente.
ESPECIFICACIONES DE PROCESADORES
Con frecuencia se hace referencia a especificaciones confusas cuando se habla
de procesadores. Los párrafos que siguen analizan algunas de ellas, incluyendo al bus de
datos, el bus de direcciones y la velocidad. Se adjunta a este apunte una tabla con las
especificaciones de los microprocesadores de las PC.
Los procesadores pueden ser identificados a través de dos parámetros
principales: su “anchura” y su velocidad.
La velocidad de un procesador es un concepto bastante simple: ésta se mide en
megahertz (MHz), es decir, millones de ciclos por segundo, y como es de suponer,
cuanto mayor sea mejor. Hablamos entonces de microprocesadores con una velocidad
de 850 MHz, de 900 MHz y de 1000 MHz o más, lo que nos hace contar con
microprocesadores que trabajan a más de 1 GHz (GigaHertz).
La ”anchura” de un procesador requiere que se analicen tres especificaciones
principales de un procesador. Ellas son:
El tamaño de los registros internos.
El ancho o tamaño del bus de entrada y salida de datos.
El ancho o tamaño del bus de direccionamiento de memoria.
Bus de datos: El ancho del bus externo de datos, define el número de bits de
datos que pueden ser transferidos hacia fuera o dentro del microprocesador en un ciclo.
Un sistema típico de computación tiene varios buses internos y externos. Como se
mencionó anteriormente, un bus es una serie de conexiones que transportan señales
comunes. Entre más señales puedan transferirse simultáneamente, más datos podrán
enviarse en un intervalo específico y, por lo tanto, más ancho y rápido será el bus. Un
bus de datos más ancho es como tener una autopista con más carriles, la cual permite un
tránsito mayor.
Los datos de una computadora son enviados como información digital
consistente de un intervalo en el cual un alambre transfiere 5 Voltios para expresar un
bit de datos 1, o 0 Voltio para expresar un bit de datos 0. Entre más alambres tenga, más
bits individuales podrá enviar en el mismo intervalo. Un chip como el 80286 o el 80386
SX, con 16 cables o hilos para transmitir y recibir datos, tiene un bus de datos de 16
bits. Un chip de 32 bits, como el 80386 DX y el 486, tiene el doble de alambres
Responde: ¿Cuántos ciclos por segundo son 2.4 GHz?
U.N.Ca. Fa.C.E.y N. Tecnicatura en Informática 2014
Ing. Georgina Inés Cerúsico de Tognola Arquitectura del Procesador I Pág. 10
dedicados a la transmisión simultánea de datos que uno de 16 bits; uno de 32 puede
enviar entonces el doble de información en el mismo intervalo. Los Pentium, Pentium
Pro y Pentium II pueden transferir 64 bits de datos a la vez desde y hacia la memoria del
sistema.
Registros Internos: El tamaño de los registros internos indica la cantidad de
información sobre la cual puede operar el procesador al mismo tiempo; también
determina cómo transfiere los datos dentro del chip. A esto se lo conoce también como
bus interno de datos. Desarrollaremos en detalle el tema de registros internos en las
páginas siguientes y allí se verá que por ejemplo, el procesador puede sumar los
contenidos de dos registros y almacenar el resultado en un tercero. El tamaño de registro
determina el tamaño de los datos que puede manejar el procesador, y describe también
el tipo de software o instrucciones que puede ejecutar un chip. Es decir que los
procesadores con registros internos de 32 bits pueden ejecutar instrucciones de 32 bits
que procesan porciones de 32 bits de información, pero los procesadores con registros
de 16 bits, no. Los procesadores desde el 80386 al Pentium III poseen registros internos
de 32 bits, y por lo tanto ejecutan los mismos sistemas operativos y aplicaciones de 32
bits.
Bus de direcciones: El bus de direcciones es el conjunto de alambres o hilos,
como decimos en las clases, que transporta la información de direccionamiento usada
para describir la ubicación de memoria a la cual se está enviando la información o
aquella de donde se está obteniendo, en un momento dado. Como en el caso del bus de
datos, cada alambre de un bus de dirección transporta un solo bit, éste es uno de los
dígitos de la dirección. Entre más hilos se usen para calcular estas direcciones, mayor
será el número total de ubicaciones de direcciones. El tamaño (o ancho) del bus de
direcciones indica el tamaño máximo de RAM que un chip puede direccionar.
Como las computadoras usan el sistema de numeración binaria (base 2), un bus
de direcciones que constara sólo de dos hilos podría proporcionar cuatro direcciones
distintas solamente (00, 01, 10, y 11) es decir 22. Un bus de tres hilos permitiría 8
combinaciones o direcciones distintas: 000, 001, 010, 011, 100, 101, 110, y 111, es
decir 23. Los procesadores 8086 y 8088 usaban un bus de direcciones de 20 bits, por lo
tanto podían direccionar 220
puntos de memoria distintos, es decir 1048576 celdas de
memoria.
El bus de datos y el de direcciones son independientes, y los diseñadores y
fabricantes de chips pueden usar el tamaño que deseen para cualquiera de ellos. Sin
embargo, generalmente los microprocesadores con buses de datos más grandes tienen
buses de direcciones mayores. Esta información nos da una idea aproximada de la
potencia relativa del chip: el tamaño del bus de datos es una indicación de la
capacidad de transferencia de información, y el tamaño del bus de direcciones indica
cuánta memoria puede manejar el chip.
SET DE INSTRUCCIONES DEL MICROPROCESADOR
Responde: Si se almacenan ocho bits en cada celda de memoria, ¿cuántos MB son
capaces de direccionar los chips con un bus de direcciones de 24 bits?
U.N.Ca. Fa.C.E.y N. Tecnicatura en Informática 2014
Ing. Georgina Inés Cerúsico de Tognola Arquitectura del Procesador I Pág. 11
Cada microprocesador posee un conjunto o set de instrucciones definido que constituye
su lenguaje de máquina. Todo programa realizado en un lenguaje de alto nivel, al
compilarse es llevado o traducido a este conjunto de instrucciones que es lo que el
microprocesador interpreta y ejecuta.
Las instrucciones del microprocesador Intel 8088/8086 y sus sucesores se dividen en los
siguientes grupos:
Instrucciones de Transferencia de Datos: Mueven información entre registros y
posiciones de memoria o puertos de entrada/salida, por ejemplo: MOV (mover), IN
(entrada de puerto), OUT (salida al puerto), etc.
Instrucciones Aritméticas: Realizan operaciones aritméticas sobre números
binarios o números BCD (Decimal Codificado en Binario), por ejemplo: ADD
(sumar sin acarreo), DIV (dividir sin signo), MUL (multiplicar sin signo), SUB
(restar sin acarreo), etc.
Instrucciones de Manejo de Bits: Realizan operaciones de desplazamiento,
rotación y lógicas sobre registros o posiciones de memoria, por ejemplo: AND (Y
lógico), NOT (NO lógico), OR (O lógico inclusivo), etc.
Instrucciones de Transferencia de Control: Sirven para controlar la secuencia de
ejecución de las instrucciones del programa, por ejemplo: CALL (llamar a un
procedimiento), JMP (bifurcación incondicional), LOOP (bucle hasta que se acabe
el contador), etc.
Instrucciones de Manejo de Cadenas (Strings): Realizan operaciones sobre series
de bytes o palabras, por ejemplo: CMPS (comparar cadenas), LODS (cargar
cadena), MOVS (mover cadena), etc.
Instrucciones de Interrupción: Provocan la interrupción del microprocesador para
que realice un servicio determinado, por ejemplo: INT (interrupción), IRET (retorno
de interrupción), etc.
Instrucciones de Control de Microprocesador: Activan y desactivan banderas y
cambian el estado de ejecución del micro, por ejemplo: CLC (borra bandera de
acarreo), HLT (parar el procesador), NOP (no operación), etc.
El total de instrucciones del microprocesador Intel 8088/8086 es de 92, éstas se
encuentran en todos sus sucesores, además de las nuevas instrucciones incorporadas a
cada micro (80286, 80386, etc. )
Cada instrucción del código de máquina es una secuencia de bits, la que para facilitar su
manejo es codificada en Lenguaje Ensamblador. Así como cada microprocesador tiene
su set de instrucciones (lenguaje de máquina), existe un Lenguaje Ensamblador para
cada microprocesador, por ejemplo Lenguaje Ensamblador para el 80286, Ensamblador
para el Pentium II, para el Pentium III, etc.
Ejemplo de instrucciones Ensamblador
Posición Código Ensamblador Comentario
Memoria Máquina
15FC:0100 B80500 MOV AX,0005 AX = 05h = 5d
15FC:0103 BB0200 MOV BX,0002 BX = 02h = 2d
15FC:0106 01D8 ADD AX,BX AX = AX + BX = 07h = 7d
15FC:0108 29D8 SUB AX,BX AX = AX - BX = 05h = 5d
15FC:010A B81300 MOV AX,0013 AX = 13h = 19d
15FC:010D B302 MOV BL,02 BL = 02h = 2d
15FC:010F F6F3 DIV BL Divide AX / BL
Cociente queda en AL = 09h = 9d
Resto queda en AH = 01h = 1d
U.N.Ca. Fa.C.E.y N. Tecnicatura en Informática 2014
Ing. Georgina Inés Cerúsico de Tognola Arquitectura del Procesador I Pág. 12
15FC:0111 B83412 MOV AX,1234 AX = 1234h = 4660d
15FC:0114 BB0200 MOV BX,0002 BX = 02h = 2d
15FC:0117 F7E3 MUL BX Multiplica AX * BX
Resultado queda en AX = 2468h = 9320d
15FC:0119 F7D0 NOT AX No lógico al AX
Antes del Not AX = 2468h = 9320d
Después del Not AX = DB97h= 56215d
15FC:011B EB04 JMP 0121 Salto incondicional a la posición 0121
15FC:011D B42C MOV AH,2C Función 2Ch de la Int 21
(Interrupción del DOS Obtener hora del
sistema)
15FC:011F CD21 INT 21 CH = hora( 0 a 23 )
CL = minutos ( 0 a 59 )
DH = segundos ( 0 a 59 )
DL = centésimas ( 0 a 99 )
15FC:0121 90 NOP No operación
Volcado de Memoria (Dump) - Programa cargado en memoria
Las líneas siguientes muestran el programa anterior como se vería en la memoria
principal de la computadora, cada Byte (representado por dos cifras hexadecimales),
corresponde a una posición de memoria, la secuencia de bits (0 y 1) correspondiente es
el programa en lenguaje de máquina. Recuerden que aunque, tanto las direcciones de
memoria como su contenido se expresan en hexadecimal, en realidad todo es manejado
por la máquina en binario.
15FC:0100 B8 05 00 BB 02 00 01 D8 - 29 D8 B8 13 00 B3 02 F6
15FC:0110 F3 B8 34 12 BB 02 00 F7 - E3 F7 D0 EB 04 B4 2C CD
15FC:0120 21 90
Ejecución paso a paso del programa y visualización de los registros del micro
Si se ejecutara paso a paso el programa (instrucción por instrucción), se obtendría el
siguiente estado de los registros internos del microprocesador. En cada paso se muestran
los registros con sus correspondientes valores, la dirección y la próxima instrucción a
ejecutarse (en código de máquina y en ensamblador).
MOV AX,0005
AX=0005 BX=0000 CX=0022 DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000
DS=15FC ES=15FC SS=15FC CS=15FC IP=0103
15FC:0103 BB0200 MOV BX,0002
AX=0005 BX=0002 CX=0022 DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000
DS=15FC ES=15FC SS=15FC CS=15FC IP=0106
15FC:0106 01D8 ADD AX,BX
AX=0007 BX=0002 CX=0022 DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000
DS=15FC ES=15FC SS=15FC CS=15FC IP=0108
15FC:0108 29D8 SUB AX,BX
Responde: ¿por qué las posiciones de memoria van aumentando de esa forma?. ¿Por
qué se pasa de la dirección 15FC:0100 a la dirección 15FC:0103, de ahí a la
dirección 15FC:0106, luego a la dirección 15FC:0108, etc.?
U.N.Ca. Fa.C.E.y N. Tecnicatura en Informática 2014
Ing. Georgina Inés Cerúsico de Tognola Arquitectura del Procesador I Pág. 13
AX=0005 BX=0002 CX=0022 DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000
DS=15FC ES=15FC SS=15FC CS=15FC IP=010A
15FC:010A B81300 MOV AX,0013
AX=0013 BX=0002 CX=0022 DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000
DS=15FC ES=15FC SS=15FC CS=15FC IP=010D
15FC:010D B302 MOV BL,02
AX=0013 BX=0002 CX=0022 DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000
DS=15FC ES=15FC SS=15FC CS=15FC IP=010F
15FC:010F F6F3 DIV BL
AX= 0109 BX=0002 CX=0022 DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000
DS= 15FC ES=15FC SS=15FC CS=15FC IP=0111
15FC:0111 B83412 MOV AX,1234
AX=1234 BX=0002 CX=0022 DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000
DS=15FC ES=15FC SS=15FC CS=15FC IP=0114
15FC:0114 BB0200 MOV BX,0002
AX=1234 BX=0002 CX=0022 DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000
DS=15FC ES=15FC SS=15FC CS=15FC IP=0117
15FC:0117 F7E3 MUL BX
AX=2468 BX=0002 CX=0022 DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000
DS=15FC ES=15FC SS=15FC CS=15FC IP=0119
15FC:0119 F7D0 NOT AX
AX=DB97 BX=0002 CX=0022 DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000
DS=15FC ES=15FC SS=15FC CS=15FC IP=011B
15FC:011B EB04 JMP 0121
AX= DB97 BX=0002 CX=0022 DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000
DS=15FC ES=15FC SS=15FC CS=15FC IP=0121
15FC:0121 90 NOP
AX=DB97 BX=0002 CX=0022 DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000
DS=15FC ES=15FC SS=15FC CS=15FC IP=0122 NV UP EI PL NZ NA PE NC
15FC:0122 ........
Responde: ¿Qué significa que los valores almacenados en los registros de
segmento (CS, SS, DS y ES) sean iguales?
U.N.Ca. Fa.C.E.y N. Tecnicatura en Informática 2014
Ing. Georgina Inés Cerúsico de Tognola Arquitectura del Procesador I Pág. 14
REPRESENTACIÓN DE DATOS
Hemos mencionado que la computadora y todos sus componentes manipulan
señales digitales binarias. Esto se debe a que son más sencillos de realizar los sistemas
digitales con componentes físicos con dos estados diferenciados. Por lo que el sistema
de numeración más utilizado para la realización de los sistemas digitales es el de base 2
(dos), o binario, en el cual existen solamente dos símbolos, que son el 0 y el 1.
Toda la información que la computadora procesa, almacena y transmite, debe
codificarse de algún modo a binario.
Caracteres ASCII
Además de representar valores numéricos, los bytes se usan para representar caracteres.
Cada byte puede representar 256 caracteres posibles:
* Los 128 primeros (0 a 127) son los caracteres ASCII standard.
* Los 128 últimos (128 a 255) son los caracteres ASCII extendidos para el IBM
PC.
El código ASCII (American Standard CodeforInformationInterchange o Código
Standard Americano para el Intercambio de Información) es un convenio adoptado para
asignar a cada caracter un valor numérico.
El código ASCII incluye:
* Letras mayúsculas y minúsculas.
* Dígitos decimales (0 al 9).
* Caracteres especiales como *, >, <, +, etc.
* Códigos de control (los 32 primeros, del 0 al 31), que tienen dos usos:
a) Por una parte, tienen el significado ASCII standard, es decir, códigos de
control de impresión y de comunicaciones, como 13 (retorno de carro), 12
(alimentación de página), etc.
b) Por otra parte, se utilizan para representar en pantalla caracteres especiales
(símbolos de los naipes, musicales, flechas, etc.).
Los caracteres ASCII extendidos incluyen:
*Símbolos para el dibujo de recuadros.
*Símbolos de relleno y sombreado.
*Letras griegas.
*Símbolos científicos.
*Caracteres especiales en idiomas distintos del Inglés.
SISTEMAS DE NUMERACIÓN
Nuestro sistema de numeración habitual, el que utilizamos en nuestra vida
cotidiana es el de base 10 (o decimal), en el cual existen diez símbolos distintos, del 0 al
9, es decir:
Sistema Decimal:
* La base del sistema es 10, por lo que existen 10 símbolos distintos para representar
todas las cantidades.
* Símbolos: 0, 1, 2, ........, 9
El sistema decimal es uno de los sistemas de numeración llamados “posicionales”,
porque el valor de cada símbolo depende de su posición relativa dentro del número.
U.N.Ca. Fa.C.E.y N. Tecnicatura en Informática 2014
Ing. Georgina Inés Cerúsico de Tognola Arquitectura del Procesador I Pág. 15
Es decir el “1” en el número 31 no tiene el mismo valor del “1” en el número 163,
porque la posición del “1” es distinta.
Por ejemplo, 31 en base 10 quiere decir:
31(10 = 3 x 101 + 1 x 10
0
Para indicar explícitamente que el número 31 está en base 10, lo representaremos así:
31(10 o 31d
El número 163(10 es igual a :
163(10 = 1 x 102 + 6 x 10
1 + 3 x 10
0
= 100 + 60 + 3
= 163(10
Esta forma de representar el número corresponde al denominado TEOREMA
FUNDAMENTAL DE LA NUMERACION
Es decir que de acuerdo a la posición que tiene el dígito en la cantidad, es la potencia
a la que debemos elevar la base, que en este caso es 10.
1 6 3(10
2 1 0
Numerando de derecha a izquierda los dígitos de un número, empezando con cero, el
valor de posición del dígito n es 10n.
La computadora está diseñada sobre la base del sistema de numeración binario (base 2).
Este es el sistema que utilizan internamente los circuitos digitales que conforman el
hardware de la computadora, por eso será el sistema al que prestaremos mayor atención
y estudio.
Por lo tanto:
* La base del sistema de numeración es 2, por lo que existen 2 dígitos para representar
todas las cantidades.
* Símbolos: 0, 1
Ejemplos de estos números serían 11100010101, 110010, etc.
Podría considerarse un número binario: 1201110110 ? Por qué?
También podemos expresar los números binarios haciendo uso del Teorema
Fundamental, nos sirve para relacionar una cantidad expresada en cualquier
sistema base b, con la misma cantidad expresada en el sistema decimal.
U.N.Ca. Fa.C.E.y N. Tecnicatura en Informática 2014
Ing. Georgina Inés Cerúsico de Tognola Arquitectura del Procesador I Pág. 16
Numerando de derecha a izquierda los dígitos de un número, empezando por cero, el
valor de posición es 2n.
Por ejemplo, 1101 en base 2 quiere decir:
1 1 0 1 (2 = 1 x 23 + 1 x 2
2 + 0 x 2
1 + 1 x 2
0
3 2 1 0 = 1 x 8 + 1 x 4 + 0 x 2 + 1 x 1
= 8 + 4 + 0 + 1
= 13(10
Para indicar que el número 1101 está en base 2, lo representaremos como 1101(2
En general, el subíndice “(n” indica la base de numeración en que se representa un
número. Si no se indica, se supone que la base es 10.
Por su relación con la base 2 y la facilidad de conversión de una base a otra, es
importante conocer también otras bases de numeración como:
* La base 8 (octal), con los dígitos 0, 1, 2, 3, 4, 5, 6, y 7.
* La base 16 (hexadecimal), con los dígitos 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D,
E y F. Los dígitos hexadecimales A al F se corresponden con los valores decimales 10
al 15.
Las bases 2, 8 y 16 son equivalentes en el sentido de que es inmediato pasar de una a
otra. Todo consiste en agrupar o desagrupar los dígitos binarios, y aplicar las tablas
siguientes:
Binario Octal
000 0
001 1
010 2 011 3
100 4
101 5 110 6
111 7
Vemos que con tres dígitos binarios es posible representar los 8 símbolos del sistema
octal, esto es porque:
8 = 23
De la misma manera se necesitarán 4 dígitos binarios para representar los 16 símbolos
del sistema hexadecimal:
16 = 24
El Teorema Fundamental de la Numeración dice que el valor decimal de una cantidad expresada
en otros sistemas de numeración, viene dado por la fórmula:
..... A4 A3 A2 A1 A0,A-1 A-2 A-3 A-4…… (b= ...A4 x b4 + A3 x b
3 + A2 x b
2 + A1 x b
1 + A0 x b
0 +
A-1 x b-1
+ A-2 x b-2
+ A-3 x b-3
+ A-4 x b-4
+……
siendo b la base en la que está el número, y los Ailos distintos símbolos.
U.N.Ca. Fa.C.E.y N. Tecnicatura en Informática 2014
Ing. Georgina Inés Cerúsico de Tognola Arquitectura del Procesador I Pág. 17
Binario Hexadecimal Decimal
0000 0
0001 1
0010 2 0011 3
0100 4
0101 5
0110 6
0111 7
1000 8
1001 9 1010 A
1011 B
1100 C
1101 D
1110 E 1111 F
Por ejemplo, para pasar de base 2 a bases 8 y 16, se agrupan 3 y 4 dígitos binarios,
respectivamente, y se convierte a continuación cada grupo, de dígitos binarios al dígito
de la base correspondiente:
* Base 2 a base 8: 1101(2 = 001 101(2 = 15(8
Esto es así porque si nos fijamos en la tabla correspondiente tenemos:
001(2 = 1(8
101(2 = 5(8
Si tomamos el mismo número y lo queremos pasar a hexadecimal tendremos:
* Base 2 a base 16: 1101(2 = 1101(2 = D(16
1101(2 = D(16 fijándonos en la tabla.
A la inversa, si se dispone de la representación en base 8 o 16, para pasar a base 2 basta
convertir cada dígito en un cierto número de dígitos binarios (3 y 4, respectivamente),
fijándonos en las tablas de conversión correspondientes. Por ejemplo:
* Base 8 a base 2: 34(8 = 011 100(2 = 11100(2
* Base 16 a base 2: 56(16 = 0101 0110(2 = 1010110(2
La base 16 es muy utilizada para representar la información almacenada en la memoria
de la computadora, como también las direcciones de las posiciones de memoria.
Otras conversiones:
La tercera columna de la tabla corresponde a los números de nuestro sistema
decimal, ¿cómo tendrían que completarla?
U.N.Ca. Fa.C.E.y N. Tecnicatura en Informática 2014
Ing. Georgina Inés Cerúsico de Tognola Arquitectura del Procesador I Pág. 18
Para pasar de cualquier sistema a base 10 simplemente se forma el polinomio
equivalente resultado de la aplicación del Teorema Fundamental de la
Numeración.
Para pasar de base 2 a 8 y a 16, hemos visto que el pasaje es directo fijándonos en
las tablas correspondientes.
Sólo nos queda contemplar el caso de pasaje de un número expresado en una base 10,
por ejemplo a base 2, y en general de base 10 a cualquier base se realizan divisiones
sucesivas. Es decir que:
Si se divide un número expresado en base 10 por la base b, y el cociente se vuelve
a dividir por b y así sucesivamente, el cociente y los restos obtenidos (*) forman el
número en el sistema de base b.
Por ejemplo para pasar el número 13(10 a binario:
13 2
1 6 2
0 3 2 13(10 = 1101(2
1
(*)
Suma de números binarios
Las tablas de sumar son las siguientes:
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 10 (0 con acarreo 1)
1 0 0 1 0 0
+ 1 0 0 1 0
1 1 0 1 1 0
1 1 1 (acarreos)
1 1 0 0 1
+ 1 0 0 1 1
1 0 1 1 0 0
Suma de números hexadecimales
1 1
F en nuestro sistema 9
+ 1 decimal: + 1
1 0 1 0
1
U.N.Ca. Fa.C.E.y N. Tecnicatura en Informática 2014
Ing. Georgina Inés Cerúsico de Tognola Arquitectura del Procesador I Pág. 19
Así tendríamos por ejemplo:
1 1 (acarreos)
1 8 C D
+ 0 2 6 C
1 B 3 9
UNIDADES DE MEDIDA
BIT:
La memoria de la computadora se compone de unidades de almacenamiento llamadas
bits, que tienen dos estados posibles (representados por 0 y 1), es decir, sirven para
almacenar información expresada en binario. La palabra bit es la contracción de
binarydigit (dígito binario). Así pues, todo lo que reside en la memoria de la
computadora (el código de las instrucciones y los datos) son números binarios en bits de
la memoria, a razón de un dígito binario por bit.
BYTE:
Los bits de la memoria se agrupan en bytes u octetos, a razón de 8 bits por byte. Un byte
es realmente la unidad de direccionamiento, es decir, podemos referirnos a cada byte
mediante un número que es su dirección. Los bytes de la memoria se numeran así: el
primer byte es el 0, el segundo es el 1, etc.
La cantidad de memoria de una computadora se medía en un principio en Kilobytes (en
abreviatura, Kbyte, Kb, o simplemente K), siendo:
1 Kbyte = 1 Kb = 1024 bytes = 210
bytes
Por ejemplo, una computadora con 256 Kb tenía 256 x 1024 bytes.
Cantidades mayores de bytes requieren que se usen los llamados MegaBytes y
GigaBytes.
1 MegaByte = 1 MB = 1024 KiloBytes = 220
bytes
Capacidades comunes de memoria principal en nuestros días, son 4 GB, 6 GB, 8 GB,
las que pueden ampliarse si el usuario así lo requiere.
1 GigaByte = 1GB = 1024 MegaBytes = 230
bytes
En el caso de los medios de almacenamiento permanente de datos, podemos hablar de
TeraBytes:
1 TeraByte = 1TB = 1024 GigaBytes = 240
bytes
Un byte puede almacenar, pues, 8 dígitos binarios, es decir, 2 dígitos hexadecimales. El
número de valores posibles que se pueden almacenar es 28 = 256. Las configuraciones
posibles dentro de un byte serían:
0000 0000 = 0
0000 0001 = 1
...........................
1111 1110 = 254
U.N.Ca. Fa.C.E.y N. Tecnicatura en Informática 2014
Ing. Georgina Inés Cerúsico de Tognola Arquitectura del Procesador I Pág. 20
1111 1111 = 255 (28 - 1)
Los bits de un byte se numeran de derecha a izquierda del 0 al 7, es decir, se
corresponden con los exponentes de las potencias de base 2.
NIBBLE:
La agrupación de 4 bits (superiores o inferiores) de un byte se llama nibble. Por tanto,
un byte contiene 2 nibbles. El que corresponde a los bits 0 a 3 se llama nibble inferior, y
el de los bits 4 a 7 se llama nibble superior:
7 6 5 4 3 2 1 0 bits
nibblenibble
superior inferior
El nibble es una unidad de trabajo mucho más cómoda que el bit. En cada nibble se
almacena un dígito hexadecimal. Los 16 valores posibles de un nibble son:
Binario Hexadecimal Binario Hexadecimal
0000 0 1000 8
0001 1 1001 9
0010 2 1010 A
0011 3 1011 B
0100 4 1100 C
0101 5 1101 D
0110 6 1110 E
0111 7 1111 F
El número de configuraciones posibles de nibbles en un byte es de 162 = 256. Las
configuraciones posibles son:
00h = 0
01h = 1
...............
FEh = 254
FFh = 255 (162 -1)
Agrupaciones superiores al byte
Las agrupaciones superiores al byte son las siguientes:
Tipo Definición
Palabra 2 bytes contiguos
Doble Palabra 2 palabras contiguas
Cuádruple Palabra 4 palabras contiguas
Párrafo 16 bytes
Página 256 bytes
Segmento 64 Kbytes (64 KiloBytes)
U.N.Ca. Fa.C.E.y N. Tecnicatura en Informática 2014
Ing. Georgina Inés Cerúsico de Tognola Arquitectura del Procesador I Pág. 21
EJERCICIOS
Cambios de base
Ejercicio n° 1) Convertir los siguientes números en base 2 a números de base 10:
a) (1001001)2; b) (11100111)2; c) (101010101)2; d) (11001100110011) 2
Ejercicio n° 2) Convertir los siguientes números en base 10 a números de base 2:
a) (534)10; b) (232)10; c) (337)10; d) (725)10
Ejercicio n° 3) Convertir los siguientes números en base 2 a números de base 8:
a) (1001001)2; b) (11100111)2; c) (101010101)2; d) (11001100110011) 2
Ejercicio n° 4) Convertir los siguientes números en base 2 a números de base 16:
a) (1001001)2; b) (11100111)2; c) (101010101)2; d) (11001100110011) 2
Ejercicio n° 5) Convertir los siguientes números en base 8 a números de base 2:
a) (7334)8; b) (234)8; c) (7765)8; d) (1454)8
Ejercicio n° 6) Convertir los siguientes números en base 16 a números de base 2:
a) (A1093)16; b) (BC432)16; c) (9754D)16; d) (38A9D)8
Representación de Caracteres
Ejercicio n° 7) Descifre el siguiente código ASCII: 1001010 1001111 1001000 1001110
0100000 1000100 1001111 1000101
Ejercicio n° 8) Escriba su propio nombre en código ASCII
Ejercicio n° 9) Escriba los siguientes números decimales en BCD:
a) 538; b) 1754; c) 54216; d)25469
U.N.Ca. Fa.C.E.y N. Tecnicatura en Informática 2014
Ing. Georgina Inés Cerúsico de Tognola Arquitectura del Procesador I Pág. 22
BIBLIOGRAFÍA
- Patterson, David A. y Hennessy, John L. Estructura y diseño de computadores. La
interfaz hardware / software. Ed. Reverte. 2011.
- Rodríguez Roselló, Miguel Angel. Programación Ensamblador en entorno MS-DOS.
Anaya Multimedia. 1988.
- Mano, M. Morris. Arquitectura de Computadoras. Tercera Edición. Prentice-Hall
Hispanoamericana. 1995.
- Stallings. W. Organización y Arquitectura de Computadores. 5ª Edicion. Prentice Hall
2000.
- Santamaría, Pablo. Representación de los números en la computadora. Facultad de
Ciencias Astronómicas y Geofísicas. Universidad Nacional de la Plata. 2009.
Disponible en: http://www.famaf.unc.edu.ar/~vmarconi/fiscomp/representacion-
numeros.pdf
- Cerúsico, Georgina Inés. Arquitectura del Procesador I. Notas de Cátedra. Universidad
Nacional de Catamarca. 2014.
- Hennessy, .John L. y Patterson, David A. Computer Architecture: A Quantitative
Approach. Ed. Morgan Kaufman . 2001.
- Wilkinson, Barry. Computer Architecture: Design And Performance. Prentice Hall
International. 2ª Edition. 1996.
- Brookshear, J. Glenn. Introducción a las Ciencias de la Computación. Cuarta Edición.
Addison-Wesley Iberoamericana. 1995.
- Tischer, Michael. Jennrich, Bruno. PC Interno Programación de sistema. Marcombo.
1996.
Top Related