Sei sulla pagina 1di 102

EL COMPUTADOR

EL COMPUTADOR

Una computadora o computador, también


denominada ordenador, es una máquina
electrónica que recibe y procesa datos para
convertirlos en información conveniente y útil.
EL COMPUTADOR

Dos partes esenciales la constituyen, por una


lado el hardware, que es su composición física
(circuitos electrónicos, cables, gabinete,
teclado, etc) y por otra el software, siendo ésta
la parte intangible (programas, datos,
información, etc). Una no funciona sin la otra.
EL COMPUTADOR

Una computadora está formada, físicamente,


por numerosos circuitos integrados y otros
muchos componentes de apoyo, extensión y
accesorios, que en conjunto pueden ejecutar
tareas diversas con suma rapidez y bajo el
control de un programa.
EL COMPUTADOR

Desde el punto de vista funcional es una


máquina que posee, al menos, una CPU,
una memoria principal y dispositivos de entrada
y salida.
HISTORIA DEL COMPUTADOR
El ÁBACO:
Es considerado como el más antiguo
instrumento de cálculo, adaptado y apreciado
en diversas culturas.
En épocas muy tempranas el hombre primitivo
encontró materiales para idear instrumentos de
conteo. Es probable que su inicio fuera una
superficie plana y piedras que se movían sobre
líneas dibujadas con polvo. Hoy en día se tiende
a pensar que el origen del ábaco se encuentra
en China, donde el uso de este instrumento aún
es notable al igual que en Japón.
HISTORIA DEL COMPUTADOR
LA PASCALINA:
Primer modelo de calculadora mecánica, con la
que éste podía calcular con mayor rapidez y
seguridad.
La pascalina algo menos que una caja de
zapatos y era de forma baja y alargada. En su
interior se disponían unas ruedas dentadas
conectadas entre sí, formando una cadena de
transmisión, de modo que cuando una rueda
giraba completamente sobre su eje, hacía
avanzar un grado a la siguiente.
HISTORIA DEL COMPUTADOR
LA LOCURA DE BABBAGE:
La primera computadora fue la máquina
analítica creada por Charles Babbage, profesor
matemático de la Universidad de Cambridge en
el siglo XIX. La idea que tuvo Charles Babbage
sobre un computador nació debido a que la
elaboración de las tablas matemáticas era un
proceso tedioso y propenso a errores. En 1823
el gobierno Británico lo apoyo para crear el
proyecto de una máquina de diferencias, un
dispositivo mecánico para efectuar sumas
repetidas.
HISTORIA DEL COMPUTADOR
LA LOCURA DE BABBAGE:

Babbage inventó en 1822 la primera


computadora de propósito general. Nunca llegó
a construirla, ya que las técnicas de precisión de
la época no estaban preparadas para satisfacer
las necesidades de su proyecto. Pero el
concepto que dejó BABBAGE en el diseño de su
máquina, ha suministrado ideas básicas que se
utilizaron en las computadoras modernas.
HISTORIA DEL COMPUTADOR
LA PRIMERA TARJETA PERFORADA:
El telar de tejido, inventado en 1801 por el
Francés Joseph-Marie Jackard (1753-1834),
usado todavía en la actualidad, se controla por
medio de tarjetas perforadas. El telar de Jackard
opera de la manera siguiente: las tarje tarjetas
se perforan estratégicamente y se acomodan en
cierta secuencia para indicar un diseño de
tejido en particular.
HISTORIA DEL COMPUTADOR
LAS MAQUINAS ELECTROMECANICAS DE
CONTABILIDAD (MEC):
Los resultados de las máquinas tabuladoras
tenían que llevarse al corriente por medios
manuales, hasta que en 1919 la Computing-
Tabulating-Recording-Company. Anunció la
aparición de la impresora/listadora. Esta
innovación revolucionó la manera en que las
Compañías efectuaban sus operaciones. Para
reflejar mejor el alcance de sus intereses
comerciales, en 1924 la Compañía cambió el
nombre por el de international Bussines
MachinesCorporation (IBM)
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
Código de instrucciones:
El código de instrucciones es un grupo de bits
que instruye a la computadora como ejecutar
una operación específica siendo su parte más
básica la parte de operación, el cual es un grupo
de bits que define operaciones como sumar,
restar, multiplicar, desplazar y complementar
Un código de operación se denomina
Macrooperación, y especifica un conjunto de
microoperaciones.
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
Código de instrucciones:
Las instrucciones máquina o instrucciones del
computador:
Las instrucciones de computadora son las que
comprueban el funcionamiento de la CPU que
las ejecuta y es un código binario que especifica
una secuencia de microoperaciones para la
computadora.
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
Código de instrucciones:
Ciclo de instrucción:
Un ciclo de instrucción es el período de tiempo
durante el cual un ordenador lee y procesa una
instrucción de lenguaje máquina de su memoria
o la secuencia de acciones que la unidad central
(CPU) funciona para ejecutar cada instrucción
de código de máquina en un programa.
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
Código de instrucciones:
Control y sincronización de tiempo:
Existen dos tipos principales de organizaciones
de control: Control por cableado
Control microprogramado
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
Código de instrucciones:
Control y sincronización de tiempo:
Control por cableado
En la organización por cableado, la lógica de
control se logra mediante compuertas, Flip-
Flops y otros circuitos digitales.
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
Código de instrucciones:
Control y sincronización de tiempo:
Control microprogramado
En la organización microprogramada, la
información de control esta almacenada en una
memoria de control. La memoria de control
está programada para iniciar la secuencia de
microoperaciones requerida.
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
Código de instrucciones:
El número de bits requerido para el código de
operación de una instrucción depende de la
cantidad total de operaciones disponibles en la
computadora. El código de operación debe
estar formado de por lo menos n bits para un
conjunto dado operaciones diferentes.
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
Código de instrucciones:
Consideremos una computadora con 64
operaciones diferentes, una de las cuales es la
operación sumar (ADD). El código de operación
consta de seis bits, con una configuración de
bits 110010 asignada a la operación ADD.
Cuando este código de operación se decodifica
en la unidad de control, la computadora emite
señales de control para leer un operando de la
memoria y sumar el operando a un registro del
procesador.
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
Código de instrucciones:
Operación de computadora y una
microoperación.
Una operación es parte de una instrucción
almacenada en la memoria de la computadora.
Es un código binario que le dice a la
computadora que ejecute una operación
específica. La unidad de control recibe la
instrucción de la memoria e interpreta los bits
de código de la operación.
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
Código de instrucciones:
Operación de computadora y una
microoperación.
Después emite una secuencia de señales de
control para iniciar microoperaciones en los
registros internos de la computadora. Para cada
código de operación, el control envía una
secuencia de microoperaciones necesarias para
la implantación del hardware de la operación
especificada.
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
La CPU (Unidad de Procesamiento Central)
Procesador o Microprocesador
Gestiona cada paso en el proceso de los datos.
Actúa como el conductor y el supervisor de los
componentes de hardware del sistema.
Asimismo, está unida, directa o indirectamente,
con todos los demás componentes de la placa
principal.
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
La CPU (Unidad de Procesamiento Central)

El procesador está equipado con buses de


direcciones, de datos y de control, que le
permiten llevar a cabo sus tareas. Estos
sistemas de buses varían dependiendo de la
categoría del procesador.
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
La CPU (Unidad de Procesamiento Central)

Su misión consiste en controlar y coordinar


todas las operaciones del sistema. Para ello
extrae, una a una, las instrucciones del
programa que está en la memoria central del
ordenador (memoria RAM), las analiza y emite
las órdenes necesarias para su completa
realización.
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
La CPU (Unidad de Procesamiento Central)
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
La CPU (Unidad de Procesamiento Central)

UNIDAD DE DECODIFICACIÓN Cuando el


microprocesador lee de memoria una
instrucción, el código de esa instrucción le llega
a esta unidad. Esta unidad se encarga de
interpretar ese código para averiguar el tipo de
instrucción a realizar. Por ejemplo, instrucciones
de suma, multiplicación, almacenamiento de
datos en memoria
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
La CPU (Unidad de Procesamiento Central)

UNIDAD DE EJECUCIÓN Una vez que la unidad


de decodificación sabe cuál es el significado de
la instrucción leída de memoria, se lo comunica
a la unidad de ejecución. Esta unidad será la
encargada de consumar la ejecución y para ello
activará las señales necesarias y en un orden
determinado.
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
La CPU (Unidad de Procesamiento Central)

UNIDAD ARITMETICO LOGICA (ALU) La ALU


(Aritmethic Logic Unit) es encargado de realizar
todas aquellas operaciones matemáticas.
(suma, resta, multiplicación, división) y las
operaciones lógicas (AND, NOR, NOT, NAND,
OR, X-OR, entre otros).
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
La CPU (Unidad de Procesamiento Central)
Saber cómo funciona un microprocesador,
implica conocer cómo se van ejecutando cada
una de las instrucciones del programa que se
almacena en memoria.
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
La CPU (Unidad de Procesamiento Central)
UNIDAD DE CONTROL Es el centro nervioso del
ordenador, ya que desde ella se controlan y
gobiernan todas las operaciones. Como
funciones básica tiene:
• Tomar las instrucciones de memoria
• Decodificar o interpretar las instrucciones
• Ejecutar las instrucciones, tratar las situaciones
de tipo interno (inherentes a la propia CPU) y
de tipo externo (inherentes a los periféricos)
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
La CPU (Unidad de Procesamiento Central)

Para realizar su función, la unidad de control


consta de los siguientes elementos:
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
La CPU (Unidad de Procesamiento Central)
Contador de programa.
Contiene la dirección de memoria de la siguiente
instrucción a ejecutar. Al iniciar la ejecución de un
programa toma la dirección de su primera
instrucción. Incrementa su valor en uno, de forma
automática, salvo si la instrucción que se está
ejecutando es de salto o de ruptura de secuencia,
donde el contador tomará la dirección de la
instrucción que se tenga que ejecutar; esta
dirección está en la propia instrucción en curso.
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
La CPU (Unidad de Procesamiento Central)
Registro de instrucción.
Contiene la instrucción que se está ejecutando en
cada momento. Esta instrucción llevará consigo el
código de operación y en su caso los operando
(datos sobre los que actúa la instrucción, por
ejemplo los números a sumar) o las direcciones de
memoria de estos operando.
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
La CPU (Unidad de Procesamiento Central)
Decodificador
Se encarga de extraer el código de operación de la
instrucción en curso (que está en el registro de
instrucción), lo analiza y emite las señales
necesarias al resto de elementos para su ejecución
a través del secuenciador.
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
La CPU (Unidad de Procesamiento Central)
Reloj
Proporciona una sucesión de impulsos eléctricos o
ciclos a intervalos constantes (frecuencia
constante), que marcan los instantes en que han
de comenzar los distintos pasos de que consta
cada instrucción.
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
La CPU (Unidad de Procesamiento Central)
Secuenciador
En este dispositivo se generan órdenes muy
elementales (micro órdenes) que, sincronizadas
por los impulsos de reloj, hacen que se vaya
ejecutando poco a poco la instrucción que está
cargada en el registro de instrucción.
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
La CPU (Unidad de Procesamiento Central)
UNIDAD ARITMÉTICO-LÓGICA (ALU) Esta unidad
se encarga de realizar las operaciones elementales
de tipo aritmético y de tipo lógico. A través de un
bus interno se comunica con la unidad de control
la cual le envía los datos y le indica la operación a
realizar.
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
La CPU (Unidad de Procesamiento Central)
La ALU está formada a su vez por los siguientes
elementos:
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
La CPU (Unidad de Procesamiento Central)
Circuito operacional
Contiene los circuitos necesarios para la realización
de las operaciones con los datos procedentes de
los registros de entrada (REN). Este circuito tiene
unas entradas de órdenes para seleccionar la clase
de operación que debe realizar en cada momento
(suma, resta, entre otros.).
Circuito operacional
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
La CPU (Unidad de Procesamiento Central)
Registros de entrada (REN)
En ellos se almacenan los datos u operandos que
intervienen en una instrucción antes de la
realización de la operación por parte del circuito
operacional. También se emplean para el
almacenamiento de resultados intermedios o
finales de las operaciones respectivas.
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
La CPU (Unidad de Procesamiento Central)
Registro Acumulador
Almacena los resultados de las operaciones
llevadas a cabo por el circuito operacional.
Está conectado con los registros de entrada para
realimentación en el caso de operaciones
encadenadas. Asimismo tiene una conexión
directa al bus de datos para el envío de los
resultados a la memoria central o a la
unidad de control.
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
La CPU (Unidad de Procesamiento Central)
Registro de estado (flags)
Se trata de unos registros de memoria en los que
se deja constancia algunas condiciones que se
dieron en la última operación realizada y que
habrán de ser tenidas en cuenta en operaciones
posteriores. Por ejemplo, en el caso de hacer una
resta, tiene que quedar constancia si el resultado
fue cero, positivo o negativo.
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
REGISTROS
Los registros son áreas del almacenamiento local
dentro del procesador, que son usadas para
almacenar datos con los cuales está trabajando el
procesador en un momento dado de la ejecución
de una instrucción.
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
REGISTROS
Cada procesador contiene cierto número de
éstos, algunos dedicados a tareas específicas y
otros disponibles para uso general por los
programadores. Los registros son la memoria más
rápida disponible en la PC, ya que éstos son la
base de la estructura lógica del procesador.)
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
REGISTROS
El ancho (en bits) de los registros del procesador,
determina cuánta información puede manejar a la
vez. Esto, a veces, es usado para determinar el
tamaño del procesador. Por ejemplo, es común
escuchar hablar sobre un procesador de 16 bits o
uno de 32 bits. El tamaño del procesador
normalmente se refiere al tamaño de los registros
internos del CPU
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
REGISTROS
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
REGISTROS
Registros de segmento.
Un registro de segmento tiene 16 bits de longitud
y facilita un área de memoria para
direccionamiento conocida como el segmento
actual. Registro de Descripción
segmento

cs Segmento de código
ds Segmento de datos
ss Segmento de pila
es Apuntador de segmento extra
fs Apuntador de segmento extra
gs Apuntador de segmento extra
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
REGISTROS
Registro CS.
El SO almacena la dirección inicial del segmento de
código de un programa en el registro CS.
Esta dirección de segmento, más un valor de
desplazamiento en el registro apuntador de
instrucción (IP), indica la dirección de una
instrucción que es buscada para su ejecución
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
REGISTROS
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, más un valor de
desplazamiento en una instrucción, genera una
referencia a la localidad de un byte especifico en el
segmento de datos.
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
REGISTROS
Registro SS.
El registro SS permite la colocación en memoria de
una pila, para almacenamiento temporal de
direcciones y datos. El SO 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 pila (SP), indica la palabra actual en
la pila que está siendo direccionada.
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
REGISTROS
Registro ES.
Algunas operaciones con cadenas de caracteres
(datos de caracteres) utilizan el registro extra 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 de segmento
apropiada.
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
REGISTROS
Registros FS y GS.
Son registros extra de segmento en los
procesadores 80386 y posteriores.
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
REGISTROS
Registros de propósito general.
Los registros de propósito general AX, BX, CX y DX
son los motores 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".
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
REGISTROS
Registros de propósito general.
Registro AX. El registro AX, es utilizado para
operaciones que implican entrada/salida y la
mayor parte de la aritmética. Como: 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.
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
REGISTROS
Registros de propósito general.
Registro 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.
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
REGISTROS
Registros de propósito general.
Registro 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.
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
REGISTROS
Registros de propósito general.
Registro DX
Es conocido como el registro de datos. Algunas
operaciones de entrada/salida requieren su uso, y
las operaciones de multiplicación y división con
cifras grandes suponen al DX y al AX trabajando
juntos.
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
REGISTROS
Registros de propósito general.
Registros Apuntadores.
Los registros SP (apuntador de la pila) y BP
(apuntador de base) están asociados con el
registro SS y permiten al sistema acceder datos en
el segmento de la pila.
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
REGISTROS
Registros de propósito general.
Registros Apuntadores.
Los registros SP El apuntador de la pila de 16 bits
está asociado con el registro SS y proporciona un
valor de desplazamiento que se refiere a la palabra
actual que está siendo procesada en la pila.
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
REGISTROS
Registros de propósito general.
Registros Apuntadores.
Registro BP.
Es de 16 bits facilita la referencia de parámetros,
los cuales son datos y direcciones transmitidos vía
pila.
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
REGISTROS
Registros de propósito general.
Registros Índice.
Los registros SI y DI están disponibles para
direccionamiento indexado y para sumas y restas.
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
REGISTROS
Registros de propósito general.
Registro SI.
El registro índice fuente SI de 16 bits, es requerido
por algunas operaciones con cadenas de
caracteres. En este contexto, el SI está asociado
con el registro DS.
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
REGISTROS
Registros de propósito general.
Registro DI.
El registro índice destino DI, también es requerido
por algunas operaciones con cadenas de
caracteres. En este contexto, el DI está asociado
con el registro ES.
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
REGISTROS
Las Banderas
Proveen una manera de obtener información
acerca de del estado actual de la máquina y el
resultado de procesamiento de una instrucción.
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
REGISTROS
Las Banderas
OF (Overflow, desbordamiento). Indica
desbordamiento de un bit de orden alto (mas a la
izquierda) después de una operación aritmética.

DF (dirección). Designa la dirección hacia la


izquierda o hacia la derecha para mover o
comparar cadenas de caracteres.
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
REGISTROS
Las Banderas
IF (interrupción). Indica que una interrupción
externa, como la entrada desde el teclado, sea
procesada o ignorada.
TF (trampa). Permite la operación del procesador
en modo de un paso. Los programas depuradores,
activan esta bandera de manera que usted pueda
avanzar en la ejecución de una sola instrucción a
un tiempo, para examinar el efecto de esa
instrucción sobre los registros de memoria.
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
REGISTROS
Las Banderas
SF (signo). Contiene el signo resultante de una
operación aritmética (0 = positivo y 1 = negativo).

ZF (cero). Indica el resultado de una operación


aritmética o de comparación (0 = resultado
diferente de cero y 1 = resultado igual a cero).
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
REGISTROS
Las Banderas
AF (acarreo auxiliar). Contiene un acarreo externo
del bit 3 en un dato de 8 bits para aritmética
especializada.

PF (paridad). Indica paridad par o impar de una


operación en datos de 8 bits de bajo orden (mas a
la derecha).
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
REGISTROS
Las Banderas
CF (acarreo). Contiene el acarreo de orden más
alto (más a la izquierda) después de una operación
aritmética; también lleva el contenido del último
bit en una operación de corrimiento o de rotación.
ORGANIZACIÓN BÁSICA Y DISEÑO
DEL COMPUTADOR
REGISTROS
Las Banderas
Las banderas están en el registro de banderas en
las siguientes posiciones:
INSTRUCCIONES Y MODO DE
DIRECCIONAMIENTO
Las instrucciones máquina:
Son las acciones elementales que puede ejecutar
un computador.

Una acción compleja deberá codificarse como una


secuencia de instrucciones máquina en lo que se
denomina un programa.
INSTRUCCIONES Y MODO DE
DIRECCIONAMIENTO
Las instrucciones máquina:
En general, una instrucción codifica una operación
básica que el computador realiza sobre unos datos
ubicados en la memoria o en los registros de la
máquina y a los que accede utilizando un modo de
direccionamiento.
INSTRUCCIONES Y MODO DE
DIRECCIONAMIENTO
Las instrucciones máquina:
La ISA de un procesador viene determinada por los
siguientes factores:
• Tipos de datos y formatos que pueden manejar
las instrucciones
• Modos de direccionamiento de los datos en
memoria
• Conjunto básico de operaciones que se pueden
realizar sobre los datos
INSTRUCCIONES Y MODO DE
DIRECCIONAMIENTO
Las instrucciones máquina:
INSTRUCCIONES Y MODO DE
DIRECCIONAMIENTO
Las instrucciones máquina:
Lenguaje ensamblador y máquinas virtuales
Opciones de programación
• Codificar el programa directamente en binario
• Escribir el código binario en hexadecimal
• Lenguaje Ensamblador
• Lenguaje de Alto Nivel: lenguajes que proporcionan una
sintaxis y una semántica más próximas al problema a
resolver
INSTRUCCIONES Y MODO DE
DIRECCIONAMIENTO
Las instrucciones máquina:
Formato de las instrucciones:
En general una instrucción se compone de los siguientes
campos:
• Código de operación (CO)
• Operandos fuente (OP1, OP2,...)
• Operando destino o Resultado (OPd)
• Instrucción siguiente (IS)
INSTRUCCIONES Y MODO DE
DIRECCIONAMIENTO
Las instrucciones máquina:
Formato de las instrucciones:
Los repertorios de instrucciones podemos clasificarlos
atendiendo a los siguientes criterios:
• Primer criterio: número de operando explícitos por
instrucción
• Segundo criterio: forma de almacenar operandos en la
CPU
• Códigos de operación de longitud fija y variable
INSTRUCCIONES Y MODO DE
DIRECCIONAMIENTO
Las instrucciones máquina:
Formato de las instrucciones:
• Primer criterio: número de operando explícitos por
instrucción
INSTRUCCIONES Y MODO DE
DIRECCIONAMIENTO
Las instrucciones máquina:
Formato de las instrucciones:
• Primer criterio: número de operando explícitos por
instrucción
INSTRUCCIONES Y MODO DE
DIRECCIONAMIENTO
Las instrucciones máquina:
Formato de las instrucciones:
• Primer criterio: número de operando explícitos por
instrucción
INSTRUCCIONES Y MODO DE
DIRECCIONAMIENTO
Las instrucciones máquina:
Formato de las instrucciones:
• Primer criterio: número de operando explícitos por
instrucción
INSTRUCCIONES Y MODO DE
DIRECCIONAMIENTO
Las instrucciones máquina:
Formato de las instrucciones:
• Segundo criterio: forma de almacenar operandos en la
CPU
INSTRUCCIONES Y MODO DE
DIRECCIONAMIENTO
Las instrucciones máquina:
Formato de las instrucciones:
• Códigos de operación de longitud fija y variable

Una máquina con un formato de instrucción que


dedica n bits al CO permitirá instrucciones
diferentes, cada una de las cuales puede tener
diferente número de operandos (0, 1, 2,3,…) Los bits
del campo OPERANDOS se pueden utilizar para
extender el CO de aquellas instrucciones con menor
número de operandos.
INSTRUCCIONES Y MODO DE
DIRECCIONAMIENTO
Las instrucciones máquina:
Formato de las instrucciones:
• Códigos de operación de longitud fija y variable
Partimos de una máquina con instrucciones de longitud fija de 24 bits y
consideraremos los siguientes supuestos:

1) La máquina dispone de 16 registros generales

En este caso se pueden codificar 16 instrucciones de 2 operandos: uno en


registro y el otro en memoria
INSTRUCCIONES Y MODO DE
DIRECCIONAMIENTO
Las instrucciones máquina:
Formato de las instrucciones:
• Códigos de operación de longitud fija y variable
INSTRUCCIONES Y MODO DE
DIRECCIONAMIENTO
Las instrucciones máquina:
Formato de las instrucciones:
• Códigos de operación de longitud fija y variable
Optimización del CO variable en función de la frecuencia de las instrucciones
INSTRUCCIONES Y MODO DE
DIRECCIONAMIENTO
Las instrucciones máquina:
Formato de las instrucciones:
• Códigos de operación de longitud fija y variable
Optimización del CO variable en función de la frecuencia de las instrucciones

Podemos optimizar el CO utilizando la codificación de


Huffman, que genera un código de longitud variable con la
propiedad de no superposición de los CO resultantes

La decodificación de un código de Huffman deberá


realizarse de forma serie de izquierda a derecha
INSTRUCCIONES Y MODO DE
DIRECCIONAMIENTO
Las instrucciones máquina:
Formato de las instrucciones:
• Códigos de operación de longitud fija y variable
Optimización del CO variable en función de la frecuencia de las instrucciones

La decodificación de un código de Huffman


INSTRUCCIONES Y MODO DE
DIRECCIONAMIENTO
Las instrucciones máquina:
Formato de las instrucciones:
• Códigos de operación de longitud fija y variable
Optimización del CO variable en función de la frecuencia de las instrucciones
La decodificación de un código de Huffman
INSTRUCCIONES Y MODO DE
DIRECCIONAMIENTO
DIRECCIONAMIENTO

Orden de los bytes en memoria: El concepto de endian lo


introdujo Cohen para expresar la forma como se ordenan los
bytes de un escalar constituido por más de 1 byte.
INSTRUCCIONES Y MODO DE
DIRECCIONAMIENTO
DIRECCIONAMIENTO
• Modo big-endian
El modo big-endian: almacena el byte más significativo del
escalar en la dirección más baja de memoria. Lo utilizan los
procesadores de Motorota, por ejemplo el MC68000

• Modo little-endian
El modo little-endian: almacena el byte más significativo del
escalar en la dirección más alta de memoria. Lo utilizan los
procesadores de Intel, por ejemplo el Pentium.
INSTRUCCIONES Y MODO DE
DIRECCIONAMIENTO
DIRECCIONAMIENTO
Ejemplo: el hexadecimal 12 34 56 78 almacenado en la
dirección de memoria 184 tendrá la siguiente organización
en cada uno de los modos:
INSTRUCCIONES Y MODO DE
DIRECCIONAMIENTO
DIRECCIONAMIENTO

Alineación
Un objeto de datos de n bytes ubicado en la dirección de
memoria D se dice que está alineado si D mod n = 0
INSTRUCCIONES Y MODO DE
DIRECCIONAMIENTO
DIRECCIONAMIENTO

Espacios de direcciones
En un mismo procesador pueden diferenciarse hasta 3
espacios de direcciones diferentes:
• Espacio de direcciones de registros
• Espacio de direcciones de memoria
• Espacio de direcciones de entrada/salida
INSTRUCCIONES Y MODO DE
DIRECCIONAMIENTO
DIRECCIONAMIENTO

Espacios de direcciones
Los espacios de direcciones de memoria y entrada/salida de
algunos procesadores están unificados (un solo espacio),
ocupando los puertos de E/S direcciones de ese espacio
único. En estos procesadores (ejemplo, 68000) no existen
instrucciones específicas de E/S, para esta función se utilizan
las de referencia a memoria (carga y almacenamiento) con
las direcciones asignadas a los puertos.
INSTRUCCIONES Y MODO DE
DIRECCIONAMIENTO
DIRECCIONAMIENTO

Modos de direccionamiento.

Los modos de direccionamiento determinan la forma como el


operando (OPER) presente en las instrucciones especifica la
dirección efectiva (DE) del dato operando (DO) sobre el que
se realiza la operación indicada por CO.
INSTRUCCIONES Y MODO DE
DIRECCIONAMIENTO
DIRECCIONAMIENTO

Modos de direccionamiento.

Implícito
El dato operando se supone ubicado en algún lugar
específico de la máquina, por ejemplo, una pila.
INSTRUCCIONES Y MODO DE
DIRECCIONAMIENTO
DIRECCIONAMIENTO

Modos de direccionamiento.

Inmediato.

• El dato operando se ubica en la propia instrucción no


requiere accesos a memoria.
• Se suele utilizar para datos constantes del programa
• El tamaño está limitado por el número de bits de OPER
INSTRUCCIONES Y MODO DE
DIRECCIONAMIENTO
DIRECCIONAMIENTO

Modos de direccionamiento.

Indirecto (memoria)

• Permite el tratamiento de una dirección de memoria como


un dato
• Permite el paso por referencia de parámetros a subrutinas
• Permite referenciar un espacio mayor de direcciones
INSTRUCCIONES Y MODO DE
DIRECCIONAMIENTO
DIRECCIONAMIENTO

Modos de direccionamiento.

Indirecto (memoria)
INSTRUCCIONES Y MODO DE
DIRECCIONAMIENTO
DIRECCIONAMIENTO

Modos de direccionamiento.

Indirecto (registro)

Potrebbero piacerti anche