Sunteți pe pagina 1din 37

Estructura del Computador

Procesador
Arquitectura del Conjunto de
Instrucciones (ISA)

Estructura del Computador. Prof. Laura Navarro 1


Arquitectura del Conjunto de Instrucciones
La arquitectura del conjunto de instrucciones es la estructura de
un computador que un programador de lenguaje de mquina (o un
compilador) debe entender para escribir un programa correcto
para esa mquina
IBM Introduciendo 360 (1964)
Un conjunto de instrucciones especica la funcionalidad de un
procesador:
Las operaciones que soporta
Los mecanismos de almacenamiento que ene y como son
accedidos
Como el programador/compilador comunica programas al
procesador
Estructura del Computador. Prof. Laura Navarro 2
Arquitectura del Conjunto de Instrucciones
Nivel de Arquitectura del Conjunto de Instrucciones (ISA)
Se encuentra entre el nivel de microarquitectura y el de Sistema
Opera vo
Histricamente este nivel fue desarrollado antes que ningn otro
Es la interfaz entre el hardware y el so ware
El Nivel ISA se dene como la forma en la que se ve la mquina
para un programador en lenguaje de mquina
Actualmente, cuando ya nadie programa en lenguaje de mquina,
podramos decir que es el lenguaje en el que el compilador traduce
los programas (agregando las llamadas al sistema opera vo

Estructura del Computador. Prof. Laura Navarro 3


Arquitectura del Conjunto de Instrucciones
Normalmente los lenguajes de alto nivel se traducen a un lenguaje
intermedio (nivel ISA) que el hardware puede ejecutar
directamente

Programa en Programa en
Programa en C
Pascal C++
Programa compilado Programa compilado Prog. compilado
a programa en ISA a programa en ISA a prog. en ISA
SW
Nivel ISA
HW
Programa ISA ejecutado por
un microprograma o HW

Hardware

Estructura del Computador. Prof. Laura Navarro 4


Caracters cas de las Instrucciones de Mquina
Elementos de una instruccin de mquina:
Cdigo de operacin: Especica la operacin a ejecutar
Referencia al operando fuente: puede tener uno o ms. Son los
operandos de entrada a la operacin
Referencia al operando de salida: la operacin puede producir un
resultado
Referencia a la prxima instruccin: le dice al procesador donde
buscar la prxima instruccin una vez se complete la ejecucin de
la instruccin actual

Estructura del Computador. Prof. Laura Navarro 5


Caracters cas de las Instrucciones de Mquina
Los operandos pueden estar en una de 4 reas:
Memoria principal o virtual
Disposi vo de entrada/salida
Registro del procesador
Inmediato

Estructura del Computador. Prof. Laura Navarro 6


Caracters cas de las Instrucciones de Mquina
Representacin de la instruccin:
Cada instruccin es representada por una secuencia de bits
La instruccin se divide en campos, que se corresponden con los
elementos que cons tuyen la instruccin

Cdigo de Operando Operando


operacin (Direccin) (Direccin)

Estructura del Computador. Prof. Laura Navarro 7


Caracters cas de las Instrucciones de Mquina
Tipos de instrucciones:
Procesamiento de datos: Instrucciones lgicas y aritm cas
Almacenamiento de datos: Movimiento de datos desde y hacia
registros o localidades de memoria
Movimiento de datos: Instrucciones de E/S
Control: Instrucciones de prueba y saltos

Estructura del Computador. Prof. Laura Navarro 8


Caracters cas de las Instrucciones de Mquina
Can dad de direcciones
Mxima can dad de direcciones: 4
Referencia de los 2 operandos de entrada
Referencia al operando de salida
Direccin de la prxima instruccin, generalmente considerada
implcita
Mnima can dad de direcciones: 0
Se u lizan con una organizacin especial de memoria: la pila

Estructura del Computador. Prof. Laura Navarro 9


Caracters cas de las Instrucciones de Mquina

Can dad de Direcciones Representacin simblica Interpretacin


3 OP A, B, C A B OP C
2 OP A, B A A OP B
1 OP A AC AC OP A
0 OP T (T 1) OP T

AC = Acumulador
T= Tope de la pila
(T 1) = Segundo elemento de la pila
A, B, C = Localizacin de memoria o registro
OP = Operador

Estructura del Computador. Prof. Laura Navarro 10


Caracters cas de las Instrucciones de Mquina
Can dad de direcciones

Instruccin Comentario
Instruccin Comentario
SUB Y, A, B YAB
LOAD D AC D
MPY T, D, E TD*E
MPY E AC AC * E
ADD T, T, C TT+C
ADD C AC AC + C
DIV Y, Y, T YY/ T
STOR Y Y AC
LOAD A AC A
Instrucciones de tres direcciones
SUB B AC AC B
DIV Y AC AC / Y
STOR Y Y AC
Instruccin Comentario
MOVE Y, A YA Instrucciones de una direccin
SUB Y, B YAB
MOVE T, D TD
MPY T, E TT*E Programas para ejecutar
ADD T, C TT+C A-B
DIV Y, T YY/ T Y = ------------------
C + (D * E)
Instrucciones de dos direcciones

Estructura del Computador. Prof. Laura Navarro 11


Diseo del Conjunto de Instrucciones
Es muy complejo ya que afecta ml ples aspectos de un sistema de
computacin.
El ISA dene muchas de las funciones llevadas a cabo por el
procesador: ene un efecto signica vo en su implantacin.
Los aspectos ms importantes a considerar en este diseo incluyen:
Repertorio de operaciones: Cuntas y cules operaciones se van a proveer, y su
nivel de complejidad
Tipos de datos: Los dis ntos pos de datos sobre los cules se ejecutarn
operaciones
Formato de instrucciones: longitud de las instrucciones (en bits), can dad de
direcciones, tamao de los diferentes campos, etc.
Registros: Can dad de registros del procesador que pueden ser referenciados por
las instrucciones y su uso
Direccionamiento: la forma o formas en las cuales se especica la direccin de un
operando
Estructura del Computador. Prof. Laura Navarro 12
Tipos de operandos
Las categoras generales de operandos ms importantes son:
Direcciones
Nmeros
Caracteres
Datos lgicos

Estructura del Computador. Prof. Laura Navarro 13


Tipos de Operandos - Nmeros
Todos los lenguajes de mquina incluyen datos numricos
Los nmeros almacenados en un computador son limitados:
Hay un lmite en la magnitud de los nmeros representables en una
mquina
En el caso de los nmeros punto-otante, tambin hay lmites a su
precisin
Son comunes tres pos de datos numricos:
Entero binario o punto jo
Binario punto otante
Decimal
Decimales empaquetados:
Cada dgito decimal se representa por un cdigo de 4 bits y se
almacenan dos dgitos por byte
Para formar los nmeros se juntan los cdigos de 4 bits, generalmente
en ml plos de 8 bits
Estructura del Computador. Prof. Laura Navarro 14
Tipos de Operandos - Caracteres
Un forma comn de datos es texto o cadenas de caracteres
Cada computador usa un conjunto de caracteres, los cuales son
representados asignando a cada caracter un nmero. Esta representacin
debe obedecer unas reglas bsicas:
Debe incluir, como mnimo, 26 maysculas, 26 minsculas, los dgitos del
0 al 9, signos de puntuacin y algunos smbolos matem cos.
Las maysculas deben tener cdigos consecu vos, al igual que las
minsculas y los dgitos.
El orden de los cdigos de las maysculas, minsculas y dgitos deben
coincidir con el orden de estos
Los dgitos deben tener asignados cdigos que hagan sencilla su
conversin a nmeros. Ejemplo, en ASCII los dgitos del 0 al 9 se
representan con los cdigo del 30 al 39 en hexadecimal. Para hacer la
conversin slo es necesario tomar los 4 bits ms a la derecha del byte.
Estructura del Computador. Prof. Laura Navarro 15
Tipos de Operandos - Caracteres
El cdigo de caracteres ms comnmente usado es el ASCII,
tambin llamado IRA (Interna onal Reference Alphabet).
Caracters cas principales:
Originalmente tena 7 bits, lo que permi a 128 caracteres en total
Se expandi luego a 8 bits para incluir caracteres la nos (acentos, etc)
Los cdigos del 0 al 1F (hexadecimal) son caracteres de control y no se
imprimen
Otros cdigos comunes son:
EBCDIC: Usado en mainframes
UNICODE: Expansin de ASCII de 16 bits por caracter que incluye
caracteres especcos de otros idiomas diferentes al ingls

Estructura del Computador. Prof. Laura Navarro 16


Tipos de Operandos Datos Lgicos
Una unidad de n bits que consiste en n elementos de datos de 1
bit, que pueden tomar el valor de 0 o 1
Dos ventajas de la visin orientada a bits:
La memoria se puede usar de una forma ms eciente almacenando un
arreglo de elementos de dato binarios o booleanos en los que cada dato
puede tomar solo los valores 1 (verdadero) o 0 (falso)
Se pueden manipular los bits de un elemento de datos:
Si las operaciones punto otante se implementan por so ware,
necesitamos ser capaces de desplazar los bits signica vos en
algunas operaciones
Para conver r de ASCII a decimal empaquetado, solo necesitamos
extraer los 4 bits ms a la derecha de cada byte

Estructura del Computador. Prof. Laura Navarro 17


Tipos de Operaciones
Transferencia de datos: Transeren datos de un lugar a otro
Aritm cas: Ejecucin de operaciones aritm cas.
Lgicas: Ejecucin de operaciones lgicas.
Conversin: Traduce valores de una seccin de memoria basado en
una tabla de correspondencias o convierte el contenido de una
palabra de una forma a otra (ej: decimal empaquetado a binario)
E/S: Realiza operaciones de lectura y escritura desde o hacia
puertos de E/S y otras relacionadas
Transferencia de control: Operaciones que cambian la secuencia de
ejecucin de las instrucciones: Saltos incondicionales, saltos
condicionales, llamadas a ru nas y retornos,

Estructura del Computador. Prof. Laura Navarro 18


Tipos de Operaciones - Procedimientos
Involucra dos instrucciones bsicas:
Instruccin de llamada: que salta de la localizacin actual al
procedimiento
Instruccin de retorno: que vuelve del procedimiento al lugar
de donde fue llamado

Estructura del Computador. Prof. Laura Navarro 19


Tipos de Operaciones - Procedimientos

Ejemplo de
procedimientos
anidados

Estructura del Computador. Prof. Laura Navarro


Tipos de Operaciones - Procedimientos

Uso de la pila para implementar los procedimientos de la lmina


anterior

Estructura del Computador. Prof. Laura Navarro 21


Tipos de Operaciones - Procedimientos
Procedimiento
P con variables
locales x1 y x2
Procedimiento
Q con
variables
locales y1 y y2

Estructura del Computador. Prof. Laura Navarro 22


Ordenamiento de Bytes
Se reere a como se ordenan los bytes dentro de un palabra
Existen dos formas:
Big-endian: El byte ms signica vo se almacena en la direccin
de memoria de byte ms baja. Es equivalente al orden de
izquierda a derecha de la escritura.
Li le-endian: El byte menos signica vo se almacena en la
direccin de memoria de byte ms baja.

Estructura del Computador. Prof. Laura Navarro 23


Ordenamiento de Bytes
Ejemplo: Si consideramos el valor hexadecimal de 32 bits se
almacena en una memoria direccionable por byte a par r de la
direccin 184, estas son las dos formas en las que se puede
almacenar el valor:

Direccin Valor Direccin Valor

Big endian Little endian

Estructura del Computador. Prof. Laura Navarro 24


Modos de Direccionamiento
Existen una variedad de tcnicas de direccionamiento creadas para
quesea posible referenciar un gran rango de direcciones de
memoria, incluso si el campo de direccin de las instrucciones es
pequeo.
Los modos de direccionamiento ms comunes son:
Inmediato
Directo
Indirecto
De registro
De registro indirecto
Desplazamiento
PIla
Estructura del Computador. Prof. Laura Navarro 25
Modos de Direccionamiento
Inmediato:
El valor del operando se encuentra en la instruccin.
Se acostumbra a u lizar para denir y usar constantes o
inicializar variables
Directo
El campo de direccin con ene la direccin efec va del
operando
La longitud del campo de direccin es usualmente pequeo lo
que limita el rango de direcciones
No es comn en las arquitecturas contemporneas
Direccin efec va: la direccin del dato en memoria principal o registro

Estructura del Computador. Prof. Laura Navarro 26


Modos de Direccionamiento
Indirecto
El campo de direccin referencia a la direccin de una palabra
de memoria que con ene la direccin efec va del operando
De Registro
El campo direccin con ene la direccin a un registro.
Indirecto De Registro
El campo de operando referencia a la direccin de un registro
que con ene, a su vez, la direccin de la palabra de memoria
que con ene la direccin efec va del operando

Estructura del Computador. Prof. Laura Navarro 27


Modos de Direccionamiento
Desplazamiento
Modo de direccionamiento que combina las capacidades del
direccionamiento directo y el direccionamiento indirecto de
registro
Requiere que la instruccin tenga dos campos de direccin,
donde, al menos uno, es explcito:
El valor contenido en un campo de direccin es usado
directamente (valor = A)
El otro campo de direccin se reere a un registro cuyo
contenido se suma a A para producir la direccin efec va

Estructura del Computador. Prof. Laura Navarro 28


Modos de Direccionamiento
Rela vo:
El registro referenciado implcitamente es el contador de
programa (PC)
La direccin de la prxima instruccin a ejecutar se suma al
campo de direccin para generar la direccin efec va
Usualmente el campo de direccin se trata como un nmero
en complemento a 2
La direccin efec va es un desplazamiento rela vo a la
direccin de la instruccin.

Estructura del Computador. Prof. Laura Navarro 29


Modos de Direccionamiento
Registro-Base
El registro referenciado con ene una direccin de memoria principal y
el campo de direccin con ene el desplazamiento desde esa direccin
El registro referenciado puede ser implcito o explcito
Es una forma conveniente de implementar segmentacin
Indexado
El campo de direccin referencia a una direccin en memoria
principal y el registro referenciado con ene un desplazamiento
posi vo desde esa direccin
El mtodo para calcular la direccin efec va es el mismo que en el
direccionamiento de registro-base
Se usa como mecanismo eciente para ejecutar operaciones itera vas

Estructura del Computador. Prof. Laura Navarro 30


Modos de Direccionamiento
Pila
La pila es un arreglo lineal de localizaciones
La pila est conformada por un bloque reservado de
localizaciones de memoria. Los datos se agregan as al tope de
la pila mientras el bloque est parcialmente lleno
Se asocia un apuntador a la pila cuyo valor es el de la direccin
del tope de la misma
Esta apuntador se man ene en un registro
Las referencias a localizaciones en memoria son por
direccionamiento indirecto de registro.

Estructura del Computador. Prof. Laura Navarro 31


Modos de Direccionamiento (Resumen)

Estructura del Computador. Prof. Laura Navarro 32


Modos de Direccionamiento (resumen)
Modo Algoritmo Ventaja principal Desventaja principal
No se hace referencia Magnitud del
Inmediato Operando = D
a memoria operando limitada
Espacio de
Directo DE = D Simple
direcciones limitado
Espacio de Ml ples referencias
Indirecto DE = (D)
direcciones grande a memoria
No hay referencias a Espacio de
Registro DE = R
memoria direcciones limitado
Espacio de Referencia a memoria
Registro indirecto DE = (R)
direcciones grande adicional
Desplazamiento DE = D + (R) Flexibilidad Complejidad
No hay referencia a
Pila DE = Tope de la pila Aplicabilidad limitada
memoria

DE = Direccin efectiva D = Campo de Direccin R = Registro


(D) = Contenido de D (R) = Contenido de R
Estructura del Computador. Prof. Laura Navarro 33
Formato de Instruccin
Dene la distribucin de los bits de una instruccin en funcin
delos campos de lo cons tuyen
Aspectos ms importantes del diseo:
Longitud de la instruccin
Distribucin de los bits en el formato
Instrucciones de longitud variable

Estructura del Computador. Prof. Laura Navarro 34


Formato de Instruccin - Longitud
Problema de diseo fundamental
Afecta y es afectado por:
Tamao de la memoria
Organizacin de la memoria
Estructura del bus
Complejidad del procesador
Velocidad del procesador
Debe sr igual a la longitud de las transferencias de memoria, o al
menos uno debe ser ml plo del otro
Debe ser ml plo de la longitud de un caracter (usualmente 8 bits)
y de la longitud de los nmeros punto jo

Estructura del Computador. Prof. Laura Navarro 35


Formato de Memoria Distribucin de Bits
Depende de:
Can dad de modos de direccionamiento: si se deben expresar
explcitamente, requiere ms bits
Can dad de operandos: Ms operandos, mas largas las
instrucciones, menos operandos, ms compleja la programacin.
Mquinas actuales acostumbran a usar 2
Registros o memoria: Los registros requieren menos bits
Rango de direcciones: Depende de la can dad de bits asignados al
campo
Granularidad de las direcciones: byte o palabra

Estructura del Computador. Prof. Laura Navarro 36


Formato de Instrucciones Longitud Variable

Las variaciones pueden proveerse de manera eciente y compacta


Incrementa la complejidad del procesador

Estructura del Computador. Prof. Laura Navarro 37

S-ar putea să vă placă și