SlideShare una empresa de Scribd logo
1 de 60
UNIVERSIDAD TECNICA ESTATAL DE
QUEVEDO
UNIDAD 2 ARQUITECTURA DEL COMPUTADOR
FACULTAD DE CIENCIAS DE LA INGENIERÍA
QUINTO SEMESTRE
2013-2014
ING. EDUARDO SAMANIEGO
ESTUDIANTES DE TERCER AÑO ING. SISTEMAS
LA UNIDAD CENTRAL DE PROCESAMIENTO
Repertorio de instrucciones
 Es una especificación que detalla las instrucciones que una CPU de un
ordenador puede entender y ejecutar, o el conjunto de todos los
comandos implementados por un diseño particular de una CPU.
 La arquitectura del conjunto de instrucciones (ISA) se emplea a veces
para distinguir este conjunto de características de
la microarquitectura, que son los elementos y técnicas que se
emplean para implementar el conjunto de instrucciones.
Características de las instrucciones de
Máquina
 Código de operación.
 Referencia de datos fuente.
 Referencia al operando resultado.
 Referencia a la siguiente instrucción.
Código de operación
Especifica la operación a ser realizada. Su especificación y formato serán
determinados por la arquitectura del conjunto de instrucciones del
componente de hardware de computador.
Características de las instrucciones de
Máquina
Referencia de datos fuente.
 La operación puede implicar uno o más operandos fuente, que son
entradas para la instrucción.
Referencia al operando resultado.
 La operación puede producir un resultado.
Referencia a la siguiente instrucción.
 Dice a la CPU de donde captar la siguiente instrucción tras
completarse la ejecución de la instrucción actual.
 Como las instrucciones máquina operan con datos
 Las categorías más importantes de datos son:
 Números
 Caracteres
 Datos Lógicos
 División
Números
 Tenemos tres tipos de datos numéricos:
Enteros (MIPS)
 Con signo, representados en complemento a 2.
Tipos de Operandos
Tipos de Operandos
 Sin signo, en binario natural.
 Tamaños: byte, media palabra.
 Punto flotante (MIPS)
 IEEE 754: simple precisión (32 bits) y doble precisión (64 bits).
 Decimal (no en la MIPS)
 En BCD (Decimal Codificado en Binario):
 Empaquetado: 2 dígitos decimales por byte.
 Ejemplo: 01001001 = 49.
 Desempaquetado: 1 dígito/byte.
 Ejemplo: 00000100 00001001 = 49.
Tipos de Operandos
Caracteres
 Al igual que los números los caracteres se almacenan en los sistemas
de cómputo en datos binarios. Una de la representaciones más
conocida es el ASCII
Datos Lógicos
 A veces es útil considerar una unidad de n bits como n elementos o
datos de 1 bit, donde cada elemento tiene un valor 1 o 0.
Dirección
 En ocasiones debe realizarse algún cálculo sobre la referencia de un
operando, se consideran como números enteros sin signo
Tipos de Operaciones
Los códigos de operación varían de una máquina a otra, pero las
operaciones son las mismas. Los tipos de operaciones son:
 Transferencia de datos
 Aritméticas
 Lógicas
 Conversión
 Entrada/Salida
 Control del sistema
 Control de flujo
Tipos de Operaciones
Transferencia de datos
 La instrucción de transferencia debe especificar varias cosas:
 Posiciones de los operandos fuente y destino
 Longitud de los datos a transferir
 Modo de direccionamiento para cada operando
Aritméticas
 Las operaciones aritméticas básicas son: suma , resta, multiplicación y
división; pero hay operaciones que requieren un solo operando:
 Absolute
 Negative
 Increment
 Derement
Tipos de Operaciones
Lógicas
 Se basan en operaciones boleanas. En este caso se aplican operando básicos
como, AND, OR, XOR, EQUAL, además se incluyen operaciones de
desplazamiento y rotación tales como.
 Desplazamiento lógico a la derecha
 Desplazamiento lógico a la izquierda
 Desplazamiento aritmético a la derecha
 Desplazamiento aritmético a la izquierda
 Rotación a la derecha
 Rotación a la izquierda
Tipos de Operaciones
Conversión
 Instrucciones de conversión son aquellas que cambian el formato u
operan sobre el formato de los datos. Un ejemplo común es el de
convertir un decimal a binario.
Entrada/Salida
 Como ya los revisamos antes teníamos varios tipos de entradas
salidas: entrada/salida programada aisladas, entradas/salidas
programadas asignadas en memoria, DMA y procesador de E/S.
Control del sistema
 Llamadas instrucciones privilegiadas, que se ejecutan solo cuando el
procesador está en un estado privilegiado o está ejecutando un
programa en una zona privilegiada. Por lo general las usa el sistema
operativo.
Tipos de Operaciones
Control de flujo
 Algunas razones para el uso de funciones de control de flujo:
 Para ejecutar instrucciones más de una vez
 Para la toma de decisiones
 Ejecución de programas largos
 Operaciones de control de flujo:
 Instrucciones de bifurcación
 Instrucciones de salto implícito
 Instrucciones de llamada a procedimiento.
Modos de Direccionamiento
 Es un mecanismo que permite conocer la ubicación de un objeto (dato
o instrucción). Los modos de direccionamiento disponibles están
determinados por la arquitectura interna de la máquina y por el
repertorio de instrucciones.
Modos de direccionamiento en MIPS (millones de instrucciones por
segundo)
 Direccionamiento directo a registro.
 Direccionamiento indirecto a registro con desplazamiento.
 Direccionamiento relativo a PC con desplazamiento.
 Direccionamiento inmediato.
 Direccionamiento pseudodirecto.
 Direccionamiento implícito.
Direccionamiento directo a registro
 El campo tiene 5 bits.
 Permitido para operando fuente o destino.
 Notación: $n
Ejemplo:
 add $16, $17, $18 _ suma el contenido del registro 17 con el registro 18 y lo almacena en el
registro 16.
Direccionamiento indirecto a registro con desplazamiento
 Campos:
 Registro: 5 bits.
 Desplazamiento: 16 bits.
 Permitido para operando fuente en almacenamientos y destino en cargas.
 Notación: desplazamiento($n)
Ejemplo:
 lw $16, 20($17) _ carga (“load word”) en el registro 16 la palabra contenida 20 bytes más allá de
la dirección almacenada en el registro
Modos de Direccionamiento
Modos de Direccionamiento
Direccionamiento relativo a PC con desplazamiento
 Campos:
 Desplazamiento: 16 bits.
 El desplazamiento se alinea a múltiplo de 4 bits y se extiende en signo a 32
bits para calcular la dirección efectiva. Se utiliza para direcciones en
bifurcaciones.
 Notación: oculto en etiqueta.
Ejemplo:
 bne $16, $17, Fin _ Si el contenido del registro 16 es ¹ del 17, entonces salta
a la dirección indicada por la etiqueta “Fin”.
Modos de Direccionamiento
Direccionamiento inmediato
 Campos:
 Inmediato de 16 bits.
 Los datos inmediatos se extienden a 32 bits.
 En ciertas instrucciones se hace extensión de signo.
 En otras instrucciones se hace extensión con ceros.
 También se usa para indicar la longitud de un desplazamiento.
 En este caso el inmediato es de 5 bits.
 Permitido sólo para operandos fuente.
 Notación: dato (sin prefijo).
Ejemplo:
 addi $16, $17, 1 _ suma una unidad al contenido del registro 17 y el resultado lo
almacena en el registro 16.
Modos de Direccionamiento
Direccionamiento pseudodirecto
 Campos:
 Dirección de 26 bits.
 La dirección se desplaza dos bits a la izquierda (es decir, se multiplica por 4),
y se concatena a los cuatro primeros bits del contador de programa. Se utiliza
en instrucciones de salto.
 Notación: dirección (sin prefijo)
Ejemplo:
 j 2500 _ salta a la dirección de memoria correspondiente a la palabra 2500
(dirección 10000 = 2500·4).
Direccionamiento implícito
 Un operando tiene direccionamiento implícito cuando está
determinado por el código de operación. En MIPS hay pocos casos.
 Ejemplo: jal 2500 _ almacena la dirección de la siguiente instrucción
del programa (PC + 4) en el registro de retorno $ra y salta a la
dirección de memoria correspondiente a la palabra 2500 (dirección
10000), donde empieza una subrutina.
Modos de Direccionamiento
Formatos de Instrucciones
 Un programa consta de una secuencia de instrucciones, cada una de las
cuales especifica una acción particular. Una parte de la instrucción,
llamada código de operación, señala la acción que va a ejecutarse.
 . El propósito de una instrucción es especificar la acción que debe ser
realizada y los operandos sobre los que se efectúa esta acción. Dentro de
esos operandos pueden quedar incluidos tanto los datos de la operación
como los lugares donde deben depositarse los resultados que la
instrucción pueda producir.
 La mayoría de las instrucciones de un procesador tienen una de las
siguientes formas:
 xn ← f(x1, x2, . . . , xn) xn ← f(x1, x2, . . . , xn− 1)
Formatos de Instrucciones
 Donde x1, x2, . . . , xn son los operandos de la instrucción. La
representación natural de esta instrucción de n operandos es el
formato de la figura 2.1 que comprende un código de operación y la
especificación den operandos.
Criterios de diseño de los formatos de
instrucción
 Cuando se diseña un computador ha de elegirse el formato, o formatos, de
instrucción considerando multitud de factores. Uno de los factores más
importantes a tener en cuenta es la longitud de la palabra de instrucción:
ésta puede o no ser igual para todas las instrucciones del computador y puede
ser menor, igual o mayor que la longitud de palabra de memoria.
 También conviene que la longitud de instrucción sea múltiplo o submúltiplo de
la palabra de memoria. Una característica importante a tener en cuenta para
el diseño de los formatos de instrucción es la ortogonalidad. Se dice que dos
aspectos de una arquitectura son ortogonales si son independientes.
Número de direcciones
 Especificar explícitamente sólo m de los n operandos, dejando implícita
la especificación de los n − m restantes. Se dice que un procesador es de
m direcciones si m es el número máximo de operandos explícitos que
tiene una instrucción aritmético-lógica genérica.
 En la actualidad, el número de direcciones de las instrucciones depende
de la organización interna del procesador. Los computadores pueden
tener una de las siguientes organizaciones:

 Organización de un solo acumulador.
 Organización en registros de uso general.
 Organización de pila.
Instrucciones con longitud variable
 Algunas máquinas tienen instrucciones con un número variable de bits. Esto
implica que la primera parte de la palabra de instrucción debe tener
información sobre el código de operación y sobre el número de operandos que
le siguen. De esta forma, la longitud total de la instrucción depende del
número de operandos. Sin embargo, en estas máquinas, el número de bits del
código de operación suele ser fijo. Un ejemplo de este tipo de formatos lo
constituye el VAX.
Instrucciones con código de operación
de longitud variable
 Una máquina con un formato de instrucción con código de operación
de longitud fija de n bits puede tener 2n instrucciones diferentes, que
pueden ser monarias, binarias, etc. Sin embargo, puede ser posible
mantener una longitud de instrucción fija y variar la longitud del
código de operación según diferentes factores, tales como la
frecuencia de uso de las instrucciones o el número de operandos de
las mismas. En los apartados siguientes se abordará cada uno de estos
esquemas.
Instrucciones con código de operación de
longitud variable
 Una máquina con un formato de instrucción con código de operación de
longitud fija de n bits puede tener 2n instrucciones diferentes, que pueden
ser monarias, binarias, etc.
 Sin embargo, puede ser posible mantener una longitud de instrucción fija y
variar la longitud del código de operación según diferentes factores, tales
como la frecuencia de uso de las instrucciones o el número de operandos de
las mismas.
 En los apartados siguientes se abordará cada uno de estos esquemas.
Instrucciones con código de operación de
longitud variable
Codificación de Huffman:
 Este método de codificación de las instrucciones se adopta aplicando un
principio de diseño básico en Arquitectura de Computadores: mejorar en lo
posible los casos más frecuentes.
 este principio se traduce en que las instrucciones más frecuentes tengan
códigos de operación más cortos y así minimizar su tiempo de decodificación
o la cantidad de memoria ocupada por el programa.
 En general este tipo de código se puede emplear siempre que se quiera
disminuir el número de bits necesarios para una codificación (compresión).
Codificación de Huffman
En este punto hay que destacar que la frecuencia (o probabilidad) de utilización de las
instrucciones se puede medir de dos formas:
 La frecuencia estática, que se refiere a las veces que cada instrucción se utiliza en los
programas.
 La frecuencia dinámica, que se refiere a las veces que esas instrucciones son ejecutadas,
esta frecuencia diferirá de la anterior , por ejemplo, si una instrucción se encuentra en un
bucle, ya que se ejecutará mucha s veces (frecuencia dinámica alta) pero aparecerá en el
programa sólo una vez (frecuencia estática baja).
Según lo que se quiera optimizar en el diseño de un computador se puede utilizar una o la otra.
Si se pretende minimizar la cantidad de memoria ocupada por el programa se utilizará la
frecuencia estática, ya que la memoria ocupada por el programa depende del número de veces
que aparezcan las instrucciones más largas.
Sin embargo, si se pretende minimizar el tiempo de decodificación de las instrucciones se
utilizará la frecuencia dinámica ya que el número de accesos a memoria depende de las veces
que las instrucciones se ejecuten.
Estructura y funcionamiento del procesador
La computadora interactúa con el entorno externo por medio de los periféricos o líneas de
comunicación.
Una computadora como ya ha sido visto en la asignatura precedente lo conforman 4 componentes
estructurales principales:
 Unidad Central de Procesamiento: Controla el funcionamiento de la computadora y lleva a
cabo sus funciones de procesamiento de datos, frecuentemente se le llama microprocesador
o simplemente procesador.
 Memoria principal: Almacena datos.
 E/S: Transfiere datos entre la computadora y el entorno externo.
 Sistema de Interconexión: Es un mecanismo que proporciona la comunicación entre la CPU,
la memoria, y la E/S. En los últimos años ha habido un uso frecuente de varios procesadores
en un solo sistema, surgiendo cuestiones relativas al multiprocesamiento, que será analizado
en esta asignatura más adelante.Según lo que se quiera optimizar en el diseño de un
computador se puede utilizar una o la otra.
Estructura y funcionamiento del procesador
 Su estructura básica se muestra en la figura siguiente.
 Sus principales componentes estructurales son:
 Unidad Aritmética y Lógicas: Lleva a cabo las funciones de procesamiento de datos de la computadora.
 • Registros: Proporciona almacenamiento interno de la CPU.
 • Interconexión interna de la CPU: Es el mecanismo que proporciona comunicación entre la Unidad de
Control, la ALU y los registros.
 • Unidad de Control: controla el funcionamiento de la CPU y por lo tanto, de la computadora. El repertorio
(set) de instrucciones de máquina contribuye en gran medida a definir el procesador. Si conocemos el
repertorio (set) de instrucciones máquina, lo que incluye una comprensión del efecto década código de
operación y de los modos de direccionamiento, y si se conoce el conjunto de registros visibles por el usuario,
entonces se conocen las funciones que puede realizar el procesador.
Estructura y funcionamiento del procesador
Ésta no es una descripción completa. Se necesita conocer las interfaces externas, por lo general, accesibles a
través de un bus, y saber cómo se manejan las interrupciones. Siguiendo esta línea de razonamiento, surge la
siguiente lista de conceptos, necesarios para especificar la funcionalidad de un procesador:
 1. Operaciones (códigos de operación)
 2. Modos de direccionamiento
 3. Registros
 4. Interfaz con el módulo de E/S
 5. Interfaz con el módulo de memoria
 6. Estructura del procesamiento de interrupciones
Esta lista, aunque general, es bastante completa. Los puntos del 1 al 3 quedan definidos por el set de
instrucciones. Los puntos 4 y 5 vienen determinados típicamente por el bus del sistema. El punto 6 está definido
parcialmente por el bus del sistema, y parcialmente por el tipo de apoyo que ofrece el procesador al sistema
operativo.
Estructura y funcionamiento del procesador
La Unidad Aritmética y Lógica:
 La ALU es la parte de la computadora que realiza realmente las operaciones aritméticas y Lógica con los
datos. El resto de los elementos del computador (Unidad de Control, registros, memoria E/S).
 Están principalmente para suministrar datos a la ALU, a fin de que esta los procese, y para recuperar los
resultados.
 La figura indica en términos generales, cómo se interconecta la ALU con el resto del procesador.
 Los datos se presentan a la ALU en registros y en registros se almacenan los resultados delas operaciones
producidas por la ALU.
 Estos registros son posiciones de memoria temporal interna
al procesador que están conectados a la ALU. La ALU también puede activar indicadores (Flags) como
resultado de una operación.
 Por ejemplo, un indicador de desbordamiento se pondrá a 1 si el resultado de una operación excede la
longitud del registro en donde este debe almacenarse. Los valores de los indicadores se almacenan también
en otros registros dentro del procesador.
 La unidad de
control proporciona las señales que gobiernan el funcionamiento de la ALU y la transferencia de los datos
dentro y fuera de la ALU.
Estructura y funcionamiento del procesador
La Unidad de Control:
 La ejecución de una instrucción implica la ejecución de una secuencia de
pasos más pequeños, normalmente llamados “ciclos”. Por ejemplo, una
ejecución puede constar de ciclos de captación, acceso indirecto a memoria,
ejecución e interrupción.
 Además, cada ciclo se compone de una serie de operaciones más elementales,
llamadas “microoperaciones”.
 Una única microoperación implica, por lo general, una transferencia entre
registros, una transferencia entre un registro y un bus externo, o una sencilla
operación de la ALU.4. Interfaz con el módulo de E/S
Estructura y funcionamiento del procesador
La unidad de control de un procesador realiza dos tareas:
 • Secuenciamiento: Hace que el procesador ejecute las microoperaciones en la secuencia
correcta, determinada por el programa que se está ejecutando.
 • Ejecución: Genera las señales de control que provocan la ejecución de cada
microoperación.
Las señales de control generadas por la unidad de control causan la apertura y el cierre de
ciertas puertas lógicas, lo que da como resultado una transferencia de datos hacia, o desde, los
registros, y una operación de la ALU.
Una técnica para construir la unidad de control es la implementación cableada, en la cual ésta es
un circuito combinacional. Sus señales lógicas de entrada, gobernadas por la instrucción máquina
en curso, se transforman en un conjunto de señales de control de salida.
Organización de los registros
Un computador emplea una jerarquía de memoria. En los niveles más altos de la jerarquía, la memoria
es más rápida, más pequeña y más cara (por bit). Dentro de la CPU hay un conjunto de registros que
funciona como un nivel de memoria, por encima de la memoria principal y de la caché en la jerarquía.
Los registros de la CPU son de dos tipos:
 Registros visibles para el usuario: Permiten al programador de lenguaje máquina o ensamblador,
minimizar las referencias a memoria principal cuando optimiza el uso de registros.
 Registros de control y de estado: Son utilizados por la unidad de control para controlar el
funcionamiento de la CPU, y por programas privilegiados del sistema operativo para controlar la
ejecución de programas.
No hay una separación bien definida de registros dentro de estas dos categorías. Por ejemplo, en algunas
máquinas el contador de programa es visible para el usuario (por ejemplo, en el VAX), pero en muchas
no lo es.
Organización de los registros
Registros visibles para el usuario:
Un registro visible para el usuario es uno que puede ser referenciado por medio del lenguaje máquina que ejecuta la CPU.
Podemos clasificarlos en las siguientes categorías:
 Uso general
 Datos
 Direcciones
 Códigos de condición
Los registros de uso general pueden ser asignados por el programador a diversas funciones. A veces, su uso dentro del
repertorio de instrucciones depende de la operación.
Es decir, cualquier registro de uso general puede contener el operando para cualquier código de operación. Esto
proporciona una utilización de registros de auténtico uso general. Con frecuencia, sin embargo, existen restricciones.
Por ejemplo, puede haber registros específicos para operaciones en coma flotante y operaciones de pila. En algunos casos,
los registros de uso general pueden ser utilizados para funciones de direccionamiento.
Los registros de datos pueden usarse únicamente para contener datos, y no se pueden emplear en el cálculo de una
dirección de operando. Los registros de dirección pueden ser de uso más o menos generales, o pueden estar dedicados a
un modo de direccionamiento particular.
Organización de los registros
Entre otros, se pueden citar los siguientes ejemplos:
 Punteros de segmento: En una máquina con direccionamiento segmentado un registro de segmento contiene la
dirección de la base del segmento. Puede haber múltiples registros: por ejemplo, uno para el sistema operativo y
otro para el proceso actual.
 Registros índices: Se usan para direccionamiento indexado, y pueden ser autoindexados.
 Puntero de pila: Si existe direccionamiento a pila visible al usuario, la pila está normalmente en memoria, y hay un
registro dedicado que apunta a la cabecera de ésta. Esto permite un direccionamiento implícito; es decir, apilar
(“push”), desapilar (“pop”), y otras instrucciones dela pila que no necesitan contener un operando explícito
referente a ella.
Hay aquí varias cuestiones de diseño a estudiar. Una importante, es si usar registros de uso completamente general o si
especializar su uso.
Con el uso de registros especializados,
generalmente puede quedar implícito en el código de operación a qué tipo de registro se refiere un determinado campo
de operando.
El campo de operando sólo debe identificar uno de entre un conjunto de registros especializados, en lugar de uno de entre
todos los registros, lo cual ahorra bits.
Por otra parte, esta especialización limita la flexibilidad del programador. No hay una óptima y definitiva solución a
este problema de diseño, pero, como se mencionó, la tendencia parece ir hacia el uso de registros especializados.
Organización de los registros
Registros de Control y de Estado:
 Hay diversos registros de la CPU que se emplean para controlar su funcionamiento. La
mayoría de ellos, en la mayor parte de las máquinas, no son visibles para el usuario.
Algunos de ellos pueden ser visibles a instrucciones máquina ejecutada en un modo de
control o de sistema operativo.
 Puntero de pila: Si existe direccionamiento a pila visible al usuario, la pila está
normalmente en memoria, y hay un registro dedicado que apunta a la cabecera de
ésta. Esto permite un direccionamiento implícito; es decir, apilar (“push”), desapilar
(“pop”), y otras instrucciones dela pila que no necesitan contener un operando
explícito referente a ella.
 Naturalmente, máquinas diferentes tendrán diferentes organizaciones de registros y us
arán distintaterminología.
 Se incluye aquí una lista razonablemente completa de tipos de registros, con una breve
descripción.
Organización de los registros
Son esenciales cuatro registros para la ejecución de una instrucción:
 • Contador de programa (Program Counter, PC): contiene la dirección de la siguiente
instrucción a captar.
 • Registro de instrucciones (Instruction Register, IR): contiene la instrucción captada
más recientemente.
 • Registro de direcciones de memoria (Memory Address Register, MAR): Está
conectado a las líneas de dirección del bus del sistema. Especifica la dirección de
memoria de una operación de lectura o de escritura.
 • Registro intermedio de memoria o Registro de Datos o Registro de Palabra
(MemoryBuffer Register, MBR): Está conectado a las líneas de datos del bus del
sistema. Contiene el valor a almacenar en memoria o el último valor leído de
memoria. Normalmente, la CPU actualiza el contador de programa después de cada cap
tación de instrucción, demanera que siempre apunta a la siguiente instrucción a
ejecutar.
Organización de los registros
Como alternativa, puedehaber registros intermedios adicionales en torno a la ALU; estos
registros sirven como registros de entrada y salida de la ALU, e intercambian datos con MBR
y los registros visibles para el usuario. Todos los diseños de CPU incluyen un registro o un
conjunto de registros, conocidos a menudo como palabra de estado del programa
(program status word, PSW), que contiene información de estado. PSW contiene
normalmente códigos de condición, además de otra información de estado. Entre los
campos o indicadores comunes se incluyen los siguientes:
 • Signo: Contiene el bit de signo del resultado de la última operación aritmética.
 • Cero: Puesto a uno cuando el resultado es 0.
 • Acarreo: Puesto a uno si una operación da lugar a un acarreo (suma) o adeudo
(resta) del bit más significativo. Se usa en operaciones aritméticas multipalabra.
 • Igual: Puesto a uno si el resultado de una comparación lógica es la igualdad.
 • Desbordamiento: Usado para indicar un desbordamiento aritmético.
 • Interrupciones habilitadas/inhabilitadas: Usado para permitir o inhabilitar
interrupciones.
 • Supervisor: Indica si la CPU funciona en modo supervisor o usuario. Únicamente en
modo supervisor se pueden ejecutar ciertas instrucciones privilegiadas y se puede
acceder a ciertas áreas de memoria.
Ejemplo de ejecución de un programa
Suponiendo que en el disco duro de un PC esté guardado el programa Sumar, si alguien quiere realizar
una suma con dicho programa, deberá seguir, como mínimo, los siguientes cinco pasos:
 1. Encender el ordenador. Enseguida algunos programas del sistema operativo instalado en la
máquina se cargarán en la memoria principal y tomarán el control de la computadora, la cual
quedará a la espera de que el usuario "diga" que quiere hacer.
 2. Seleccionar el programa Sumar para ejecutarlo. Si el sistema operativo ofrece una interfaz
gráfica, el usuario podrá seleccionar el programa haciendo doble clic con el puntero del ratón sobre
su nombre (Sumar).
 3. Introducir los datos de entrada. El usuario debe teclear un número (por ejemplo, el 3) y pulsar
Enter, y realizar la misma operación para el segundo número (por ejemplo, el 5). A continuación, la
unidad aritmético/lógica calculará la suma, que en este caso resultará ser 8. Los tres datos también
se guardarán en la memoria.
 4. Finalizar el programa. Llegados a este punto, el programa Sumar finalizará después de que el
usuario pulse cualquier tecla. En consecuencia, el sistema operativo liberará el espacio de memoria
ocupado por las instrucciones del programa y por todos los datos utilizados en su ejecución (en este
caso tres datos). Después de ejecutar cualquier programa siempre hay que dejar libre el espacio de
memoria ocupado y, así, dejar hueco para que otros programas puedan ejecutarse.
 5. Apagar el ordenador. Si ahora el usuario decide apagar el ordenador, también se liberará el
espacio de memoria ocupado por los programas del sistema operativo y todo volverá a estar como al
principio.
Aritmética del Computador
 Los computadores no almacenan los números con precisión infinita sino de
forma aproximada empleando un número fijo de bits (apócope del término
inglés Binary Digit) o bytes (grupos de ocho bits). Prácticamente todos los
computadores permiten al programador elegir entre varias representaciones o
'tipos de datos'. Los diferentes tipos de datos pueden diferir en el número de
bits empleados, pero también (lo que es más importante) en cómo el número
representado es almacenado: en formato fijo (también denominado 'entero') o
en punto flotante2 (denominado 'real').
Unidad Aritmética-Lógica
 Unidad Lógica Aritmética (ULA), o Arithmetic Logic Unit (ALU), es un circuito
digital que calcula operaciones aritméticas (como suma, resta,
multiplicación, etc.) y operaciones lógicas (como igual a, menor que, mayor
que, etc.), entre dos números.
 Muchos tipos de circuitos electrónicos necesitan realizar algún tipo de
operación aritmética, así que incluso el circuito dentro de un reloj digital
tendrá una ALU minúscula que se mantiene sumando 1 al tiempo actual, y se
mantiene comprobando si debe activar el pitido del temporizador, etc.
Aritmética del Computador
 Los computadores no almacenan los números con precisión infinita sino de
forma aproximada empleando un número fijo de bits (apócope del término
inglés Binary Digit) o bytes (grupos de ocho bits). Prácticamente todos los
computadores permiten al programador elegir entre varias representaciones o
'tipos de datos'. Los diferentes tipos de datos pueden diferir en el número de
bits empleados, pero también (lo que es más importante) en cómo el número
representado es almacenado: en formato fijo (también denominado 'entero') o
en punto flotante2 (denominado 'real').
Representación de Enteros
 En el sistema de numeración binaria, cualquier número puede
representarse tan solo con los dígitos 1 y 0. El signo menos, y la coma de
la base (que separa la parte entera del decimal). Por ejemplo:
 -1101,01012 = -13,312510
 Una palabra de 8 bits puede representar números desde 0 hasta 255.
Entre los que se encuentran:
 00000000 = 0
 00000001 = 1
 00101001 = 41
 10000000 = 128
 11111111 = 255
Aritmética con enteros
 Las reglas:
1. Obtener el complemento booleano de cada bit del
entero (incluyendo el bit de signo). Es decir, cambiar cada 1
por 0, y cada 0 por 1.
2. Tratando el resultado como un entero binario sin signo,
sumarle 1. Este proceso en dos etapas se denomina
transformación a complemento a dos, u obtención del
complemento a dos de un entero.
SUMA
 La suma se efectúa igual que si los números enteros
fuesen sin signo. Si el resultado de la operación es
positivo, se obtiene un número positivo en forma de
complemento a dos, que tiene la misma forma como
entero sin signo. Si el resultado de la operación es
negativo, conseguimos un número negativo en forma de
complemento a dos.
MULTIPLICACIÒN
1. La multiplicación implica la generación de productos parciales, uno
para cada digito del multiplicador. Estos productos parciales se suman
después para producir el producto final.
2. Los productos parciales se definen fácilmente. Cuando el bit del
multiplicador es 0, el producto es 0. Cuando el multiplicador es 1, el
producto parcial es el multiplicando.
3. El producto total se obtiene sumando los productos parciales. Para
esta operación, cada producto parcial sucesivo se desplaza en una
posición hacia la izquierda con respecto al producto parcial
precedente.
DIVISIÒN
 La división es más compleja que la multiplicación pero está basada en los
principios generales. La operación conlleva repetidos desplazamientos y
sumas o restas.
 Primero se examinan los bits del dividendo de izquierda a derecha hasta que
el conjunto de bits examinados represente un número mayor o igual que el
divisor; o, en otras palabras, hasta que el divisor sea capaz de dividir al
número. Hasta que eso ocurre, se van colocando ceros en el cociente de
izquierda a derecha. Cuando dicho evento ocurre, se coloca un 1 en el
cociente, y se substrae el divisor del dividendo parcial. Al resultado se le
denomina resto parcial. Desde este punto en adelante, la división sigue un
patrón cíclico. En cada ciclo, se añaden bits adicionales del dividendo al
resto parcial hasta que el resultado sea mayor o igual al divisor. Como
antes, de este número se resta el divisor para producir un nuevo parcial. El
proceso continua hasta que se acaban los bits del dividendo.
REPRESENTACIÒN EN COMA FLOTANTE
 La representación de coma flotante: es una forma de
notación científica usada en los CPU, GPU, FPU, etc., con
la cual se pueden representar números reales
extremadamente grandes y pequeños de una manera muy
eficiente y compacta, y con la que se pueden realizar
operaciones aritméticas. El estándar para la
representación en coma flotante es el IEEE 754.
Representación (número de bits) Características
Tipo
Signo
Exponente
Significante
Total
Tamaño
Biasdel
exponente
Bitsdeprecisión
(Nro.debitssignificativos)
Dígitossignificativos
endecimal(aprox)
Rango
Medio (Half) 1 6 9 16 2 bytes (16 bits) 31 10 3 ?? ??
Simple (Simple) 1 8 23 32 4 bytes (32 bits) 127 24 6 1/2 -1,701411733e38 .. 3,402823466e+38
Doble (Double) 1 11 52 64 8 bytes (64 bits) 1023 53 15 2,2250738585072014e-308 .. 1,7976931348623158e+308
Cuádruple (Quad) 1 15 112 128 16 bytes (128 bits) 16383 113 33 ?? ??
ARITMÈTICA EN COMA FLOTANTE
 Más una Unidad de Control que conectará ambas unidades y que se
encarga entre otras cosas de normalizar adecuadamente el resultado.
 En todos los computadores se ha normalizado la notación en coma
flotante al estándar IEEE-754. Este estándar posee dos formatos
posibles de representación o almacenamiento de la información,
aunque internamente puede utilizarse formatos con más bits para una
mayor precisión.
ARITMÈTICA EN COMA FLOTANTE
 Simple Precisión
El estándar IEEE-754 para la representación en simple precisión de
números en coma flotante exige una cadena de 32 bits. El primer bit es
el bit de signo (S), los siguientes 8 son los bits del exponente (E) y los
restantes 23 son la mantisa (M):
ARITMÈTICA EN COMA FLOTANTE
 Doble Precisión
El estándar IEEE-754 para la representación en doble precisión de
números en coma flotante exige una cadena de 64 bits. El primer bit es
el bit de signo (S), los siguientes 11 son los bits del exponente (E) y los
restantes 52 son la mantisa (M):
ARITMÈTICA EN COMA FLOTANTE
 Precisión Extendida
 Formato de precisión extendida en IEEE754.
 Este formato suele reservarse normalmente para almacenar resultados
intermedios, su longitud extra le permite proteger los resultados
finales del redondeo y los cálculos intermedios del overflow y
underflow. El bit implícito de los anteriores formatos aquí no se
contempla, ya que se encuentra físicamente presente en la mantisa.
LA UNIDAD DE CONTROL
 uno de los tres bloques funcionales principales en los que se divide
una unidad central de procesamiento. Los otros dos bloques son la
unidad de proceso y el bus de entrada/salida. Su función es buscar las
instrucciones en la memoria principal, decodificarlas (interpretación)
y ejecutarlas, empleando para ello la unidad de proceso.
 En computadoras, la unidad de control fue históricamente definida
como una parte distinta del modelo de referencia de 1946 de la
arquitectura de von neumann. en diseños modernos de computadores,
la unidad de control es típicamente una parte interna del CPU.
LA UNIDAD DE CONTROL
 Componentes:
 Registro de instrucción: Es el encargado de almacenar la instrucción que
se está ejecutando.
 Registro contador de programas: Contiene la dirección de memoria de la
siguiente instrucción a ejecutar.
 Controlador y decodificador: Se encarga de interpretar la instrucción para
su posterior proceso. Es el encargado de extraer el código de operación
de la instrucción en curso.
 Secuenciador: Genera microórdenes necesarias para ejecutar la
instrucción.
 Reloj: Proporciona una sucesión de impulsos eléctricos a intervalos
constantes.
FUNCIONAMIENTO
 La función principal de la unidad de control de la UCP es dirigir la
secuencia de pasos de modo que la computadora lleve a cabo un ciclo
completo de ejecución de una instrucción.
 1. Ir a la memoria y extraer el código de la siguiente instrucción (que
estará en la siguiente celda de memoria por leer). Este paso se llama ciclo
de fetch en la literatura computacional (to fetch significa traer, ir por).
 2. Decodificar la instrucción recién leída (determinar de qué instrucción
se trata).
 3. Ejecutar la instrucción.
 4. Prepararse para leer la siguiente casilla de memoria (que contendrá la
siguiente instrucción), y volver al paso 1 para continuar.
PASOS PARA LA EJECUCION DE UN
PROGRAMA
 En virtud de que el programa comienza a partir de la celda número 10, se debe indicar
a la unidad de control que esa celda contiene la primera instrucción. Esto se hace por
medio de un apuntador (que forma parte de los circuitos electrónicos de la unidad de
control) que recibe el nombre de contador de programa (CP). Así pues, el primer paso
debe consistir en apuntar a la casilla 10, y esto se representara por CP-10.
 (obsérvese que este paso es externo, esto es, no forma parte del programa, sino que se
tiene que hacer “desde afuera” para iniciar la operación de la computadora)
 La unidad de control ejecutara el paso I e ira a la casilla 10 para leer su contenido, que
es 21.
 La unidad de control ejecuta el paso II, con lo que decodifica el 21 recién leído y
determina que se trata de una operación CARGA_Ac. En este momento sucede algo de
primordial importancia: como la instrucción 21 tiene una longitud de dos celdas cuyo
valor se cargara en el acumulador (que en este caso de casualidad también es 21), la
maquina deberá ajustar el valor del contador de programa para que este apunte a
celda siguiente.
CONTRL MICRO PROGRAMADO
 Se empezará por definir palabra de control (CW: control word) como
una palabra cuyos bits individuales representan las diferentes señales
de control. Por lo tanto, cada uno de los pasos de control de la
secuencia de control de una instrucción define una combinación única
de unos y ceros en la CW. Una secuencia de CW correspondientes a la
secuencia de control de una instrucción de máquina constituye el
microprograma para esa instrucción. Las palabras individuales de
control en este microprograma por lo general se denominan
microinstrucciones.
CONTRL MICRO PROGRAMADO
 Considérese que los microprogramas correspondientes al conjunto de
instrucciones de una computadora están almacenados en una memoria
especial a la que se denomina la memoria de microprograma. La
unidad de control puede generar las señales de control para cualquier
instrucción, leyendo en forma secuencial las CW del microprograma
correspondiente en la memoria de microprograma. Esto sugiere
organizar la unidad de control. Para leer en forma secuencial las
palabras de control a partir de la memoria de microprograma se
emplea un contador de microprograma (m PC).

Más contenido relacionado

La actualidad más candente

Arquitectura Multiprocesadores
Arquitectura Multiprocesadores Arquitectura Multiprocesadores
Arquitectura Multiprocesadores JUANR1022
 
4.2 espacios de estados determinísticos y espacios no determinísticos.
4.2 espacios de estados determinísticos y espacios no determinísticos.4.2 espacios de estados determinísticos y espacios no determinísticos.
4.2 espacios de estados determinísticos y espacios no determinísticos.Jose Maldonado Cortes
 
Método de Ordenamiento Directa (Burbuja)
Método de Ordenamiento Directa (Burbuja)Método de Ordenamiento Directa (Burbuja)
Método de Ordenamiento Directa (Burbuja)Sarai Gotopo
 
Ensamblador y enlazador
Ensamblador y enlazadorEnsamblador y enlazador
Ensamblador y enlazadorRickyZhengHu
 
ORIGEN Y EVOLUCIÓN DE LAS REDES DE COMPUTADORAS
ORIGEN Y EVOLUCIÓN DE LAS REDES DE COMPUTADORASORIGEN Y EVOLUCIÓN DE LAS REDES DE COMPUTADORAS
ORIGEN Y EVOLUCIÓN DE LAS REDES DE COMPUTADORASkevin vargas paredes
 
Red NEURONAL MADALINE
Red NEURONAL MADALINERed NEURONAL MADALINE
Red NEURONAL MADALINEESCOM
 
Protocolos De Contencion
Protocolos De ContencionProtocolos De Contencion
Protocolos De Contencionpaulino2
 
maquinas de turing jflap
maquinas de turing jflapmaquinas de turing jflap
maquinas de turing jflapAnel Sosa
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasYESENIA CETINA
 
Diferencia de lan y wan
Diferencia de lan y wanDiferencia de lan y wan
Diferencia de lan y wanGenesis Perez
 
Clase 3 Modelo Entidad Relacion
Clase 3   Modelo Entidad   RelacionClase 3   Modelo Entidad   Relacion
Clase 3 Modelo Entidad Relacionoswchavez
 
Portafolio Lenguajes y Autómatas Unidad 1
Portafolio Lenguajes y Autómatas Unidad 1Portafolio Lenguajes y Autómatas Unidad 1
Portafolio Lenguajes y Autómatas Unidad 1Humano Terricola
 
12962797 ccna-3-v-40-exploration-examen-final-modulo-3-50-preguntas (1)
12962797 ccna-3-v-40-exploration-examen-final-modulo-3-50-preguntas (1)12962797 ccna-3-v-40-exploration-examen-final-modulo-3-50-preguntas (1)
12962797 ccna-3-v-40-exploration-examen-final-modulo-3-50-preguntas (1)Connections Systems
 
SO Unidad 2: Mecanismos de comunicación y sincronización de procesos
SO Unidad 2: Mecanismos de comunicación y sincronización de procesosSO Unidad 2: Mecanismos de comunicación y sincronización de procesos
SO Unidad 2: Mecanismos de comunicación y sincronización de procesosFranklin Parrales Bravo
 
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...Hugo Alberto Rivera Diaz
 

La actualidad más candente (20)

Arquitectura Multiprocesadores
Arquitectura Multiprocesadores Arquitectura Multiprocesadores
Arquitectura Multiprocesadores
 
4.2 espacios de estados determinísticos y espacios no determinísticos.
4.2 espacios de estados determinísticos y espacios no determinísticos.4.2 espacios de estados determinísticos y espacios no determinísticos.
4.2 espacios de estados determinísticos y espacios no determinísticos.
 
Método de Ordenamiento Directa (Burbuja)
Método de Ordenamiento Directa (Burbuja)Método de Ordenamiento Directa (Burbuja)
Método de Ordenamiento Directa (Burbuja)
 
Unidad aritmetico logica ALU
Unidad aritmetico logica ALUUnidad aritmetico logica ALU
Unidad aritmetico logica ALU
 
Ensamblador y enlazador
Ensamblador y enlazadorEnsamblador y enlazador
Ensamblador y enlazador
 
ORIGEN Y EVOLUCIÓN DE LAS REDES DE COMPUTADORAS
ORIGEN Y EVOLUCIÓN DE LAS REDES DE COMPUTADORASORIGEN Y EVOLUCIÓN DE LAS REDES DE COMPUTADORAS
ORIGEN Y EVOLUCIÓN DE LAS REDES DE COMPUTADORAS
 
Red NEURONAL MADALINE
Red NEURONAL MADALINERed NEURONAL MADALINE
Red NEURONAL MADALINE
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Fragmentacion
FragmentacionFragmentacion
Fragmentacion
 
Protocolos De Contencion
Protocolos De ContencionProtocolos De Contencion
Protocolos De Contencion
 
maquinas de turing jflap
maquinas de turing jflapmaquinas de turing jflap
maquinas de turing jflap
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadoras
 
TABLA DE SÍMBOLOS
TABLA DE SÍMBOLOSTABLA DE SÍMBOLOS
TABLA DE SÍMBOLOS
 
Diferencia de lan y wan
Diferencia de lan y wanDiferencia de lan y wan
Diferencia de lan y wan
 
Clase 3 Modelo Entidad Relacion
Clase 3   Modelo Entidad   RelacionClase 3   Modelo Entidad   Relacion
Clase 3 Modelo Entidad Relacion
 
Rendimiento del CPU
Rendimiento del CPURendimiento del CPU
Rendimiento del CPU
 
Portafolio Lenguajes y Autómatas Unidad 1
Portafolio Lenguajes y Autómatas Unidad 1Portafolio Lenguajes y Autómatas Unidad 1
Portafolio Lenguajes y Autómatas Unidad 1
 
12962797 ccna-3-v-40-exploration-examen-final-modulo-3-50-preguntas (1)
12962797 ccna-3-v-40-exploration-examen-final-modulo-3-50-preguntas (1)12962797 ccna-3-v-40-exploration-examen-final-modulo-3-50-preguntas (1)
12962797 ccna-3-v-40-exploration-examen-final-modulo-3-50-preguntas (1)
 
SO Unidad 2: Mecanismos de comunicación y sincronización de procesos
SO Unidad 2: Mecanismos de comunicación y sincronización de procesosSO Unidad 2: Mecanismos de comunicación y sincronización de procesos
SO Unidad 2: Mecanismos de comunicación y sincronización de procesos
 
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
 

Destacado

Arquitectura de computadoras
Arquitectura de computadorasArquitectura de computadoras
Arquitectura de computadorasm220
 
Arquitectura de Computadores Capitulo II
Arquitectura de Computadores Capitulo IIArquitectura de Computadores Capitulo II
Arquitectura de Computadores Capitulo IIVideoconferencias UTPL
 
SENA Arquitectura de Computadores
SENA Arquitectura de Computadores SENA Arquitectura de Computadores
SENA Arquitectura de Computadores Cindy
 
Actividad unidad 3
Actividad unidad 3Actividad unidad 3
Actividad unidad 3jhon230882
 
Buses, Direccionamiento, Temporizacion
Buses, Direccionamiento, TemporizacionBuses, Direccionamiento, Temporizacion
Buses, Direccionamiento, TemporizacionYESENIA CETINA
 
arquitectura de computadores- partes
arquitectura de computadores- partesarquitectura de computadores- partes
arquitectura de computadores- partesCristian Nuñez
 
Organización y Arquitectura de Computador
Organización y Arquitectura de ComputadorOrganización y Arquitectura de Computador
Organización y Arquitectura de Computadorpacampble
 
Organizaci쟹 arquitectura de computadoras 5� edicion (william stallings)
Organizaci쟹 arquitectura de computadoras  5� edicion (william stallings)Organizaci쟹 arquitectura de computadoras  5� edicion (william stallings)
Organizaci쟹 arquitectura de computadoras 5� edicion (william stallings)Jaime Ferreyra
 
Unidad 1 introducción a la arquitectura de computadores
Unidad 1  introducción a la arquitectura de computadoresUnidad 1  introducción a la arquitectura de computadores
Unidad 1 introducción a la arquitectura de computadoresCarlos Andrés Pérez Cabrales
 
Curso de arquitectura de computadoras
Curso de arquitectura de computadorasCurso de arquitectura de computadoras
Curso de arquitectura de computadorasreyesjaime
 
Unidad 1 introducción a la arquitectura de computadores
Unidad 1  introducción a la arquitectura de computadoresUnidad 1  introducción a la arquitectura de computadores
Unidad 1 introducción a la arquitectura de computadoresCarlos Andres Perez Cabrales
 
Arquitectura de Computadores Capitulo III
Arquitectura de Computadores Capitulo IIIArquitectura de Computadores Capitulo III
Arquitectura de Computadores Capitulo IIIVideoconferencias UTPL
 
Arquitectura de computadoras
Arquitectura de computadorasArquitectura de computadoras
Arquitectura de computadorasfarmero
 
Empezar en senavirtual
Empezar en senavirtualEmpezar en senavirtual
Empezar en senavirtualCarlos Uribe
 

Destacado (20)

Arquitectura de computadoras
Arquitectura de computadorasArquitectura de computadoras
Arquitectura de computadoras
 
Unidad 2 arquitectura de computadoras
Unidad 2 arquitectura de computadorasUnidad 2 arquitectura de computadoras
Unidad 2 arquitectura de computadoras
 
Arquitectura de Computadores Capitulo II
Arquitectura de Computadores Capitulo IIArquitectura de Computadores Capitulo II
Arquitectura de Computadores Capitulo II
 
SENA Arquitectura de Computadores
SENA Arquitectura de Computadores SENA Arquitectura de Computadores
SENA Arquitectura de Computadores
 
Actividad unidad 3
Actividad unidad 3Actividad unidad 3
Actividad unidad 3
 
Buses, Direccionamiento, Temporizacion
Buses, Direccionamiento, TemporizacionBuses, Direccionamiento, Temporizacion
Buses, Direccionamiento, Temporizacion
 
arquitectura de computadores- partes
arquitectura de computadores- partesarquitectura de computadores- partes
arquitectura de computadores- partes
 
Act4
Act4Act4
Act4
 
Organización y Arquitectura de Computador
Organización y Arquitectura de ComputadorOrganización y Arquitectura de Computador
Organización y Arquitectura de Computador
 
Organizaci쟹 arquitectura de computadoras 5� edicion (william stallings)
Organizaci쟹 arquitectura de computadoras  5� edicion (william stallings)Organizaci쟹 arquitectura de computadoras  5� edicion (william stallings)
Organizaci쟹 arquitectura de computadoras 5� edicion (william stallings)
 
Unidad 1 introducción a la arquitectura de computadores
Unidad 1  introducción a la arquitectura de computadoresUnidad 1  introducción a la arquitectura de computadores
Unidad 1 introducción a la arquitectura de computadores
 
Curso de arquitectura de computadoras
Curso de arquitectura de computadorasCurso de arquitectura de computadoras
Curso de arquitectura de computadoras
 
Unidad 1 introducción a la arquitectura de computadores
Unidad 1  introducción a la arquitectura de computadoresUnidad 1  introducción a la arquitectura de computadores
Unidad 1 introducción a la arquitectura de computadores
 
Arquitectura de Computadores Capitulo III
Arquitectura de Computadores Capitulo IIIArquitectura de Computadores Capitulo III
Arquitectura de Computadores Capitulo III
 
Arquitectura de computadoras
Arquitectura de computadorasArquitectura de computadoras
Arquitectura de computadoras
 
Edu mica
Edu micaEdu mica
Edu mica
 
ARQUITECTURA UNIDAD 2
ARQUITECTURA UNIDAD 2ARQUITECTURA UNIDAD 2
ARQUITECTURA UNIDAD 2
 
Otros dispositivos y accesorios
Otros dispositivos y accesoriosOtros dispositivos y accesorios
Otros dispositivos y accesorios
 
Diapositivas hardware
Diapositivas hardwareDiapositivas hardware
Diapositivas hardware
 
Empezar en senavirtual
Empezar en senavirtualEmpezar en senavirtual
Empezar en senavirtual
 

Similar a Unidad 2 arquitectura del computador

Formatos de instrucción
Formatos de instrucciónFormatos de instrucción
Formatos de instrucciónSantiago Rozo
 
Arquitectura de Computadores Cap VI:Repertorio de Instrucciones
Arquitectura de Computadores Cap VI:Repertorio de InstruccionesArquitectura de Computadores Cap VI:Repertorio de Instrucciones
Arquitectura de Computadores Cap VI:Repertorio de InstruccionesVideoconferencias UTPL
 
Capacidad de la unidad de procesamiento (grecia gonzález 30203532)
Capacidad de la unidad  de procesamiento (grecia gonzález   30203532)Capacidad de la unidad  de procesamiento (grecia gonzález   30203532)
Capacidad de la unidad de procesamiento (grecia gonzález 30203532)GreciaGonzlez9
 
Arquitectura de Computadores (II Bimestre)
Arquitectura de Computadores (II Bimestre)Arquitectura de Computadores (II Bimestre)
Arquitectura de Computadores (II Bimestre)Videoconferencias UTPL
 
capacidad de unidad de procesamiento, universidad santiago mariño
capacidad de unidad de procesamiento, universidad santiago mariño capacidad de unidad de procesamiento, universidad santiago mariño
capacidad de unidad de procesamiento, universidad santiago mariño MiguelSifontes6
 
Capacidad de la_unidad_de_procesamiento
Capacidad de la_unidad_de_procesamientoCapacidad de la_unidad_de_procesamiento
Capacidad de la_unidad_de_procesamientoCarlosenriqueVelasqu4
 
Unidad central de procesamiento
Unidad central de procesamientoUnidad central de procesamiento
Unidad central de procesamientoAlejandro Molina
 
Registros Basicos del CPU.pptx
Registros Basicos del CPU.pptxRegistros Basicos del CPU.pptx
Registros Basicos del CPU.pptxEdwin Jaramillo
 
Arquitectura de un computador
Arquitectura de un computadorArquitectura de un computador
Arquitectura de un computadorthegrim85
 
Capacidad de la cpu
Capacidad de la cpuCapacidad de la cpu
Capacidad de la cpuAnaKarina114
 
CAPACIDAD DE LA UNIDAD DE PROCESAMIENTO
CAPACIDAD DE LA UNIDAD DE PROCESAMIENTOCAPACIDAD DE LA UNIDAD DE PROCESAMIENTO
CAPACIDAD DE LA UNIDAD DE PROCESAMIENTORafael Espina
 
Elementos basicos de_programacion
Elementos basicos de_programacionElementos basicos de_programacion
Elementos basicos de_programacionthaynasantos1997
 
Arquitectura resumen capitulos 5 y 6 efrain saransig
Arquitectura resumen capitulos 5 y 6 efrain saransigArquitectura resumen capitulos 5 y 6 efrain saransig
Arquitectura resumen capitulos 5 y 6 efrain saransigEfrain Zrng
 

Similar a Unidad 2 arquitectura del computador (20)

Formatos de instrucción
Formatos de instrucciónFormatos de instrucción
Formatos de instrucción
 
Arquitectura de Computadores Cap VI:Repertorio de Instrucciones
Arquitectura de Computadores Cap VI:Repertorio de InstruccionesArquitectura de Computadores Cap VI:Repertorio de Instrucciones
Arquitectura de Computadores Cap VI:Repertorio de Instrucciones
 
Emsamblador
EmsambladorEmsamblador
Emsamblador
 
Yeimir rincon 20%
Yeimir rincon 20%Yeimir rincon 20%
Yeimir rincon 20%
 
Capacidad de la unidad de procesamiento (grecia gonzález 30203532)
Capacidad de la unidad  de procesamiento (grecia gonzález   30203532)Capacidad de la unidad  de procesamiento (grecia gonzález   30203532)
Capacidad de la unidad de procesamiento (grecia gonzález 30203532)
 
Arquitectura de Computadores (II Bimestre)
Arquitectura de Computadores (II Bimestre)Arquitectura de Computadores (II Bimestre)
Arquitectura de Computadores (II Bimestre)
 
capacidad de unidad de procesamiento, universidad santiago mariño
capacidad de unidad de procesamiento, universidad santiago mariño capacidad de unidad de procesamiento, universidad santiago mariño
capacidad de unidad de procesamiento, universidad santiago mariño
 
Capacidad de la_unidad_de_procesamiento
Capacidad de la_unidad_de_procesamientoCapacidad de la_unidad_de_procesamiento
Capacidad de la_unidad_de_procesamiento
 
Arquitectura isa 1
Arquitectura isa 1Arquitectura isa 1
Arquitectura isa 1
 
Unidad central de procesamiento
Unidad central de procesamientoUnidad central de procesamiento
Unidad central de procesamiento
 
Jin Unidad5
Jin Unidad5Jin Unidad5
Jin Unidad5
 
Registros Basicos del CPU.pptx
Registros Basicos del CPU.pptxRegistros Basicos del CPU.pptx
Registros Basicos del CPU.pptx
 
Arquitectura de un computador
Arquitectura de un computadorArquitectura de un computador
Arquitectura de un computador
 
Unidad I.pdf
Unidad I.pdfUnidad I.pdf
Unidad I.pdf
 
Capacidad de la cpu
Capacidad de la cpuCapacidad de la cpu
Capacidad de la cpu
 
CAPACIDAD DE LA UNIDAD DE PROCESAMIENTO
CAPACIDAD DE LA UNIDAD DE PROCESAMIENTOCAPACIDAD DE LA UNIDAD DE PROCESAMIENTO
CAPACIDAD DE LA UNIDAD DE PROCESAMIENTO
 
Elementos basicos de_programacion
Elementos basicos de_programacionElementos basicos de_programacion
Elementos basicos de_programacion
 
ELEMENTOS DE PROGRA 30-05.pdf
ELEMENTOS DE PROGRA 30-05.pdfELEMENTOS DE PROGRA 30-05.pdf
ELEMENTOS DE PROGRA 30-05.pdf
 
Arquitectura resumen capitulos 5 y 6 efrain saransig
Arquitectura resumen capitulos 5 y 6 efrain saransigArquitectura resumen capitulos 5 y 6 efrain saransig
Arquitectura resumen capitulos 5 y 6 efrain saransig
 
Tutorial ensamblador
Tutorial ensambladorTutorial ensamblador
Tutorial ensamblador
 

Último

MODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docxMODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docxRAMON EUSTAQUIO CARO BAYONA
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfDaniel Ángel Corral de la Mata, Ph.D.
 
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docxEDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docxLuisAndersonPachasto
 
Fichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdfFichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdfssuser50d1252
 
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxMonitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxJUANCARLOSAPARCANARE
 
SIMULACROS Y SIMULACIONES DE SISMO 2024.docx
SIMULACROS Y SIMULACIONES DE SISMO 2024.docxSIMULACROS Y SIMULACIONES DE SISMO 2024.docx
SIMULACROS Y SIMULACIONES DE SISMO 2024.docxLudy Ventocilla Napanga
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Angélica Soledad Vega Ramírez
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfFichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfssuser50d1252
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...YobanaZevallosSantil1
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALEDUCCUniversidadCatl
 
Técnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesTécnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesRaquel Martín Contreras
 
cuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básicacuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básicaGianninaValeskaContr
 

Último (20)

MODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docxMODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docx
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
 
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docxEDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
 
Fichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdfFichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdf
 
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxMonitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
SIMULACROS Y SIMULACIONES DE SISMO 2024.docx
SIMULACROS Y SIMULACIONES DE SISMO 2024.docxSIMULACROS Y SIMULACIONES DE SISMO 2024.docx
SIMULACROS Y SIMULACIONES DE SISMO 2024.docx
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfFichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 
recursos naturales america cuarto basico
recursos naturales america cuarto basicorecursos naturales america cuarto basico
recursos naturales america cuarto basico
 
TL/CNL – 2.ª FASE .
TL/CNL – 2.ª FASE                       .TL/CNL – 2.ª FASE                       .
TL/CNL – 2.ª FASE .
 
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
 
Técnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesTécnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materiales
 
cuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básicacuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básica
 

Unidad 2 arquitectura del computador

  • 1. UNIVERSIDAD TECNICA ESTATAL DE QUEVEDO UNIDAD 2 ARQUITECTURA DEL COMPUTADOR FACULTAD DE CIENCIAS DE LA INGENIERÍA QUINTO SEMESTRE 2013-2014 ING. EDUARDO SAMANIEGO ESTUDIANTES DE TERCER AÑO ING. SISTEMAS
  • 2. LA UNIDAD CENTRAL DE PROCESAMIENTO Repertorio de instrucciones  Es una especificación que detalla las instrucciones que una CPU de un ordenador puede entender y ejecutar, o el conjunto de todos los comandos implementados por un diseño particular de una CPU.  La arquitectura del conjunto de instrucciones (ISA) se emplea a veces para distinguir este conjunto de características de la microarquitectura, que son los elementos y técnicas que se emplean para implementar el conjunto de instrucciones.
  • 3. Características de las instrucciones de Máquina  Código de operación.  Referencia de datos fuente.  Referencia al operando resultado.  Referencia a la siguiente instrucción. Código de operación Especifica la operación a ser realizada. Su especificación y formato serán determinados por la arquitectura del conjunto de instrucciones del componente de hardware de computador.
  • 4. Características de las instrucciones de Máquina Referencia de datos fuente.  La operación puede implicar uno o más operandos fuente, que son entradas para la instrucción. Referencia al operando resultado.  La operación puede producir un resultado. Referencia a la siguiente instrucción.  Dice a la CPU de donde captar la siguiente instrucción tras completarse la ejecución de la instrucción actual.
  • 5.  Como las instrucciones máquina operan con datos  Las categorías más importantes de datos son:  Números  Caracteres  Datos Lógicos  División Números  Tenemos tres tipos de datos numéricos: Enteros (MIPS)  Con signo, representados en complemento a 2. Tipos de Operandos
  • 6. Tipos de Operandos  Sin signo, en binario natural.  Tamaños: byte, media palabra.  Punto flotante (MIPS)  IEEE 754: simple precisión (32 bits) y doble precisión (64 bits).  Decimal (no en la MIPS)  En BCD (Decimal Codificado en Binario):  Empaquetado: 2 dígitos decimales por byte.  Ejemplo: 01001001 = 49.  Desempaquetado: 1 dígito/byte.  Ejemplo: 00000100 00001001 = 49.
  • 7. Tipos de Operandos Caracteres  Al igual que los números los caracteres se almacenan en los sistemas de cómputo en datos binarios. Una de la representaciones más conocida es el ASCII Datos Lógicos  A veces es útil considerar una unidad de n bits como n elementos o datos de 1 bit, donde cada elemento tiene un valor 1 o 0. Dirección  En ocasiones debe realizarse algún cálculo sobre la referencia de un operando, se consideran como números enteros sin signo
  • 8. Tipos de Operaciones Los códigos de operación varían de una máquina a otra, pero las operaciones son las mismas. Los tipos de operaciones son:  Transferencia de datos  Aritméticas  Lógicas  Conversión  Entrada/Salida  Control del sistema  Control de flujo
  • 9. Tipos de Operaciones Transferencia de datos  La instrucción de transferencia debe especificar varias cosas:  Posiciones de los operandos fuente y destino  Longitud de los datos a transferir  Modo de direccionamiento para cada operando Aritméticas  Las operaciones aritméticas básicas son: suma , resta, multiplicación y división; pero hay operaciones que requieren un solo operando:  Absolute  Negative  Increment  Derement
  • 10. Tipos de Operaciones Lógicas  Se basan en operaciones boleanas. En este caso se aplican operando básicos como, AND, OR, XOR, EQUAL, además se incluyen operaciones de desplazamiento y rotación tales como.  Desplazamiento lógico a la derecha  Desplazamiento lógico a la izquierda  Desplazamiento aritmético a la derecha  Desplazamiento aritmético a la izquierda  Rotación a la derecha  Rotación a la izquierda
  • 11. Tipos de Operaciones Conversión  Instrucciones de conversión son aquellas que cambian el formato u operan sobre el formato de los datos. Un ejemplo común es el de convertir un decimal a binario. Entrada/Salida  Como ya los revisamos antes teníamos varios tipos de entradas salidas: entrada/salida programada aisladas, entradas/salidas programadas asignadas en memoria, DMA y procesador de E/S. Control del sistema  Llamadas instrucciones privilegiadas, que se ejecutan solo cuando el procesador está en un estado privilegiado o está ejecutando un programa en una zona privilegiada. Por lo general las usa el sistema operativo.
  • 12. Tipos de Operaciones Control de flujo  Algunas razones para el uso de funciones de control de flujo:  Para ejecutar instrucciones más de una vez  Para la toma de decisiones  Ejecución de programas largos  Operaciones de control de flujo:  Instrucciones de bifurcación  Instrucciones de salto implícito  Instrucciones de llamada a procedimiento.
  • 13. Modos de Direccionamiento  Es un mecanismo que permite conocer la ubicación de un objeto (dato o instrucción). Los modos de direccionamiento disponibles están determinados por la arquitectura interna de la máquina y por el repertorio de instrucciones. Modos de direccionamiento en MIPS (millones de instrucciones por segundo)  Direccionamiento directo a registro.  Direccionamiento indirecto a registro con desplazamiento.  Direccionamiento relativo a PC con desplazamiento.  Direccionamiento inmediato.  Direccionamiento pseudodirecto.  Direccionamiento implícito.
  • 14. Direccionamiento directo a registro  El campo tiene 5 bits.  Permitido para operando fuente o destino.  Notación: $n Ejemplo:  add $16, $17, $18 _ suma el contenido del registro 17 con el registro 18 y lo almacena en el registro 16. Direccionamiento indirecto a registro con desplazamiento  Campos:  Registro: 5 bits.  Desplazamiento: 16 bits.  Permitido para operando fuente en almacenamientos y destino en cargas.  Notación: desplazamiento($n) Ejemplo:  lw $16, 20($17) _ carga (“load word”) en el registro 16 la palabra contenida 20 bytes más allá de la dirección almacenada en el registro Modos de Direccionamiento
  • 15. Modos de Direccionamiento Direccionamiento relativo a PC con desplazamiento  Campos:  Desplazamiento: 16 bits.  El desplazamiento se alinea a múltiplo de 4 bits y se extiende en signo a 32 bits para calcular la dirección efectiva. Se utiliza para direcciones en bifurcaciones.  Notación: oculto en etiqueta. Ejemplo:  bne $16, $17, Fin _ Si el contenido del registro 16 es ¹ del 17, entonces salta a la dirección indicada por la etiqueta “Fin”.
  • 16. Modos de Direccionamiento Direccionamiento inmediato  Campos:  Inmediato de 16 bits.  Los datos inmediatos se extienden a 32 bits.  En ciertas instrucciones se hace extensión de signo.  En otras instrucciones se hace extensión con ceros.  También se usa para indicar la longitud de un desplazamiento.  En este caso el inmediato es de 5 bits.  Permitido sólo para operandos fuente.  Notación: dato (sin prefijo). Ejemplo:  addi $16, $17, 1 _ suma una unidad al contenido del registro 17 y el resultado lo almacena en el registro 16.
  • 17. Modos de Direccionamiento Direccionamiento pseudodirecto  Campos:  Dirección de 26 bits.  La dirección se desplaza dos bits a la izquierda (es decir, se multiplica por 4), y se concatena a los cuatro primeros bits del contador de programa. Se utiliza en instrucciones de salto.  Notación: dirección (sin prefijo) Ejemplo:  j 2500 _ salta a la dirección de memoria correspondiente a la palabra 2500 (dirección 10000 = 2500·4).
  • 18. Direccionamiento implícito  Un operando tiene direccionamiento implícito cuando está determinado por el código de operación. En MIPS hay pocos casos.  Ejemplo: jal 2500 _ almacena la dirección de la siguiente instrucción del programa (PC + 4) en el registro de retorno $ra y salta a la dirección de memoria correspondiente a la palabra 2500 (dirección 10000), donde empieza una subrutina. Modos de Direccionamiento
  • 19. Formatos de Instrucciones  Un programa consta de una secuencia de instrucciones, cada una de las cuales especifica una acción particular. Una parte de la instrucción, llamada código de operación, señala la acción que va a ejecutarse.  . El propósito de una instrucción es especificar la acción que debe ser realizada y los operandos sobre los que se efectúa esta acción. Dentro de esos operandos pueden quedar incluidos tanto los datos de la operación como los lugares donde deben depositarse los resultados que la instrucción pueda producir.  La mayoría de las instrucciones de un procesador tienen una de las siguientes formas:  xn ← f(x1, x2, . . . , xn) xn ← f(x1, x2, . . . , xn− 1)
  • 20. Formatos de Instrucciones  Donde x1, x2, . . . , xn son los operandos de la instrucción. La representación natural de esta instrucción de n operandos es el formato de la figura 2.1 que comprende un código de operación y la especificación den operandos.
  • 21. Criterios de diseño de los formatos de instrucción  Cuando se diseña un computador ha de elegirse el formato, o formatos, de instrucción considerando multitud de factores. Uno de los factores más importantes a tener en cuenta es la longitud de la palabra de instrucción: ésta puede o no ser igual para todas las instrucciones del computador y puede ser menor, igual o mayor que la longitud de palabra de memoria.  También conviene que la longitud de instrucción sea múltiplo o submúltiplo de la palabra de memoria. Una característica importante a tener en cuenta para el diseño de los formatos de instrucción es la ortogonalidad. Se dice que dos aspectos de una arquitectura son ortogonales si son independientes.
  • 22. Número de direcciones  Especificar explícitamente sólo m de los n operandos, dejando implícita la especificación de los n − m restantes. Se dice que un procesador es de m direcciones si m es el número máximo de operandos explícitos que tiene una instrucción aritmético-lógica genérica.  En la actualidad, el número de direcciones de las instrucciones depende de la organización interna del procesador. Los computadores pueden tener una de las siguientes organizaciones:   Organización de un solo acumulador.  Organización en registros de uso general.  Organización de pila.
  • 23. Instrucciones con longitud variable  Algunas máquinas tienen instrucciones con un número variable de bits. Esto implica que la primera parte de la palabra de instrucción debe tener información sobre el código de operación y sobre el número de operandos que le siguen. De esta forma, la longitud total de la instrucción depende del número de operandos. Sin embargo, en estas máquinas, el número de bits del código de operación suele ser fijo. Un ejemplo de este tipo de formatos lo constituye el VAX.
  • 24. Instrucciones con código de operación de longitud variable  Una máquina con un formato de instrucción con código de operación de longitud fija de n bits puede tener 2n instrucciones diferentes, que pueden ser monarias, binarias, etc. Sin embargo, puede ser posible mantener una longitud de instrucción fija y variar la longitud del código de operación según diferentes factores, tales como la frecuencia de uso de las instrucciones o el número de operandos de las mismas. En los apartados siguientes se abordará cada uno de estos esquemas.
  • 25. Instrucciones con código de operación de longitud variable  Una máquina con un formato de instrucción con código de operación de longitud fija de n bits puede tener 2n instrucciones diferentes, que pueden ser monarias, binarias, etc.  Sin embargo, puede ser posible mantener una longitud de instrucción fija y variar la longitud del código de operación según diferentes factores, tales como la frecuencia de uso de las instrucciones o el número de operandos de las mismas.  En los apartados siguientes se abordará cada uno de estos esquemas.
  • 26. Instrucciones con código de operación de longitud variable Codificación de Huffman:  Este método de codificación de las instrucciones se adopta aplicando un principio de diseño básico en Arquitectura de Computadores: mejorar en lo posible los casos más frecuentes.  este principio se traduce en que las instrucciones más frecuentes tengan códigos de operación más cortos y así minimizar su tiempo de decodificación o la cantidad de memoria ocupada por el programa.  En general este tipo de código se puede emplear siempre que se quiera disminuir el número de bits necesarios para una codificación (compresión).
  • 27. Codificación de Huffman En este punto hay que destacar que la frecuencia (o probabilidad) de utilización de las instrucciones se puede medir de dos formas:  La frecuencia estática, que se refiere a las veces que cada instrucción se utiliza en los programas.  La frecuencia dinámica, que se refiere a las veces que esas instrucciones son ejecutadas, esta frecuencia diferirá de la anterior , por ejemplo, si una instrucción se encuentra en un bucle, ya que se ejecutará mucha s veces (frecuencia dinámica alta) pero aparecerá en el programa sólo una vez (frecuencia estática baja). Según lo que se quiera optimizar en el diseño de un computador se puede utilizar una o la otra. Si se pretende minimizar la cantidad de memoria ocupada por el programa se utilizará la frecuencia estática, ya que la memoria ocupada por el programa depende del número de veces que aparezcan las instrucciones más largas. Sin embargo, si se pretende minimizar el tiempo de decodificación de las instrucciones se utilizará la frecuencia dinámica ya que el número de accesos a memoria depende de las veces que las instrucciones se ejecuten.
  • 28. Estructura y funcionamiento del procesador La computadora interactúa con el entorno externo por medio de los periféricos o líneas de comunicación. Una computadora como ya ha sido visto en la asignatura precedente lo conforman 4 componentes estructurales principales:  Unidad Central de Procesamiento: Controla el funcionamiento de la computadora y lleva a cabo sus funciones de procesamiento de datos, frecuentemente se le llama microprocesador o simplemente procesador.  Memoria principal: Almacena datos.  E/S: Transfiere datos entre la computadora y el entorno externo.  Sistema de Interconexión: Es un mecanismo que proporciona la comunicación entre la CPU, la memoria, y la E/S. En los últimos años ha habido un uso frecuente de varios procesadores en un solo sistema, surgiendo cuestiones relativas al multiprocesamiento, que será analizado en esta asignatura más adelante.Según lo que se quiera optimizar en el diseño de un computador se puede utilizar una o la otra.
  • 29. Estructura y funcionamiento del procesador  Su estructura básica se muestra en la figura siguiente.  Sus principales componentes estructurales son:  Unidad Aritmética y Lógicas: Lleva a cabo las funciones de procesamiento de datos de la computadora.  • Registros: Proporciona almacenamiento interno de la CPU.  • Interconexión interna de la CPU: Es el mecanismo que proporciona comunicación entre la Unidad de Control, la ALU y los registros.  • Unidad de Control: controla el funcionamiento de la CPU y por lo tanto, de la computadora. El repertorio (set) de instrucciones de máquina contribuye en gran medida a definir el procesador. Si conocemos el repertorio (set) de instrucciones máquina, lo que incluye una comprensión del efecto década código de operación y de los modos de direccionamiento, y si se conoce el conjunto de registros visibles por el usuario, entonces se conocen las funciones que puede realizar el procesador.
  • 30. Estructura y funcionamiento del procesador Ésta no es una descripción completa. Se necesita conocer las interfaces externas, por lo general, accesibles a través de un bus, y saber cómo se manejan las interrupciones. Siguiendo esta línea de razonamiento, surge la siguiente lista de conceptos, necesarios para especificar la funcionalidad de un procesador:  1. Operaciones (códigos de operación)  2. Modos de direccionamiento  3. Registros  4. Interfaz con el módulo de E/S  5. Interfaz con el módulo de memoria  6. Estructura del procesamiento de interrupciones Esta lista, aunque general, es bastante completa. Los puntos del 1 al 3 quedan definidos por el set de instrucciones. Los puntos 4 y 5 vienen determinados típicamente por el bus del sistema. El punto 6 está definido parcialmente por el bus del sistema, y parcialmente por el tipo de apoyo que ofrece el procesador al sistema operativo.
  • 31. Estructura y funcionamiento del procesador La Unidad Aritmética y Lógica:  La ALU es la parte de la computadora que realiza realmente las operaciones aritméticas y Lógica con los datos. El resto de los elementos del computador (Unidad de Control, registros, memoria E/S).  Están principalmente para suministrar datos a la ALU, a fin de que esta los procese, y para recuperar los resultados.  La figura indica en términos generales, cómo se interconecta la ALU con el resto del procesador.  Los datos se presentan a la ALU en registros y en registros se almacenan los resultados delas operaciones producidas por la ALU.  Estos registros son posiciones de memoria temporal interna al procesador que están conectados a la ALU. La ALU también puede activar indicadores (Flags) como resultado de una operación.  Por ejemplo, un indicador de desbordamiento se pondrá a 1 si el resultado de una operación excede la longitud del registro en donde este debe almacenarse. Los valores de los indicadores se almacenan también en otros registros dentro del procesador.  La unidad de control proporciona las señales que gobiernan el funcionamiento de la ALU y la transferencia de los datos dentro y fuera de la ALU.
  • 32. Estructura y funcionamiento del procesador La Unidad de Control:  La ejecución de una instrucción implica la ejecución de una secuencia de pasos más pequeños, normalmente llamados “ciclos”. Por ejemplo, una ejecución puede constar de ciclos de captación, acceso indirecto a memoria, ejecución e interrupción.  Además, cada ciclo se compone de una serie de operaciones más elementales, llamadas “microoperaciones”.  Una única microoperación implica, por lo general, una transferencia entre registros, una transferencia entre un registro y un bus externo, o una sencilla operación de la ALU.4. Interfaz con el módulo de E/S
  • 33. Estructura y funcionamiento del procesador La unidad de control de un procesador realiza dos tareas:  • Secuenciamiento: Hace que el procesador ejecute las microoperaciones en la secuencia correcta, determinada por el programa que se está ejecutando.  • Ejecución: Genera las señales de control que provocan la ejecución de cada microoperación. Las señales de control generadas por la unidad de control causan la apertura y el cierre de ciertas puertas lógicas, lo que da como resultado una transferencia de datos hacia, o desde, los registros, y una operación de la ALU. Una técnica para construir la unidad de control es la implementación cableada, en la cual ésta es un circuito combinacional. Sus señales lógicas de entrada, gobernadas por la instrucción máquina en curso, se transforman en un conjunto de señales de control de salida.
  • 34. Organización de los registros Un computador emplea una jerarquía de memoria. En los niveles más altos de la jerarquía, la memoria es más rápida, más pequeña y más cara (por bit). Dentro de la CPU hay un conjunto de registros que funciona como un nivel de memoria, por encima de la memoria principal y de la caché en la jerarquía. Los registros de la CPU son de dos tipos:  Registros visibles para el usuario: Permiten al programador de lenguaje máquina o ensamblador, minimizar las referencias a memoria principal cuando optimiza el uso de registros.  Registros de control y de estado: Son utilizados por la unidad de control para controlar el funcionamiento de la CPU, y por programas privilegiados del sistema operativo para controlar la ejecución de programas. No hay una separación bien definida de registros dentro de estas dos categorías. Por ejemplo, en algunas máquinas el contador de programa es visible para el usuario (por ejemplo, en el VAX), pero en muchas no lo es.
  • 35. Organización de los registros Registros visibles para el usuario: Un registro visible para el usuario es uno que puede ser referenciado por medio del lenguaje máquina que ejecuta la CPU. Podemos clasificarlos en las siguientes categorías:  Uso general  Datos  Direcciones  Códigos de condición Los registros de uso general pueden ser asignados por el programador a diversas funciones. A veces, su uso dentro del repertorio de instrucciones depende de la operación. Es decir, cualquier registro de uso general puede contener el operando para cualquier código de operación. Esto proporciona una utilización de registros de auténtico uso general. Con frecuencia, sin embargo, existen restricciones. Por ejemplo, puede haber registros específicos para operaciones en coma flotante y operaciones de pila. En algunos casos, los registros de uso general pueden ser utilizados para funciones de direccionamiento. Los registros de datos pueden usarse únicamente para contener datos, y no se pueden emplear en el cálculo de una dirección de operando. Los registros de dirección pueden ser de uso más o menos generales, o pueden estar dedicados a un modo de direccionamiento particular.
  • 36. Organización de los registros Entre otros, se pueden citar los siguientes ejemplos:  Punteros de segmento: En una máquina con direccionamiento segmentado un registro de segmento contiene la dirección de la base del segmento. Puede haber múltiples registros: por ejemplo, uno para el sistema operativo y otro para el proceso actual.  Registros índices: Se usan para direccionamiento indexado, y pueden ser autoindexados.  Puntero de pila: Si existe direccionamiento a pila visible al usuario, la pila está normalmente en memoria, y hay un registro dedicado que apunta a la cabecera de ésta. Esto permite un direccionamiento implícito; es decir, apilar (“push”), desapilar (“pop”), y otras instrucciones dela pila que no necesitan contener un operando explícito referente a ella. Hay aquí varias cuestiones de diseño a estudiar. Una importante, es si usar registros de uso completamente general o si especializar su uso. Con el uso de registros especializados, generalmente puede quedar implícito en el código de operación a qué tipo de registro se refiere un determinado campo de operando. El campo de operando sólo debe identificar uno de entre un conjunto de registros especializados, en lugar de uno de entre todos los registros, lo cual ahorra bits. Por otra parte, esta especialización limita la flexibilidad del programador. No hay una óptima y definitiva solución a este problema de diseño, pero, como se mencionó, la tendencia parece ir hacia el uso de registros especializados.
  • 37. Organización de los registros Registros de Control y de Estado:  Hay diversos registros de la CPU que se emplean para controlar su funcionamiento. La mayoría de ellos, en la mayor parte de las máquinas, no son visibles para el usuario. Algunos de ellos pueden ser visibles a instrucciones máquina ejecutada en un modo de control o de sistema operativo.  Puntero de pila: Si existe direccionamiento a pila visible al usuario, la pila está normalmente en memoria, y hay un registro dedicado que apunta a la cabecera de ésta. Esto permite un direccionamiento implícito; es decir, apilar (“push”), desapilar (“pop”), y otras instrucciones dela pila que no necesitan contener un operando explícito referente a ella.  Naturalmente, máquinas diferentes tendrán diferentes organizaciones de registros y us arán distintaterminología.  Se incluye aquí una lista razonablemente completa de tipos de registros, con una breve descripción.
  • 38. Organización de los registros Son esenciales cuatro registros para la ejecución de una instrucción:  • Contador de programa (Program Counter, PC): contiene la dirección de la siguiente instrucción a captar.  • Registro de instrucciones (Instruction Register, IR): contiene la instrucción captada más recientemente.  • Registro de direcciones de memoria (Memory Address Register, MAR): Está conectado a las líneas de dirección del bus del sistema. Especifica la dirección de memoria de una operación de lectura o de escritura.  • Registro intermedio de memoria o Registro de Datos o Registro de Palabra (MemoryBuffer Register, MBR): Está conectado a las líneas de datos del bus del sistema. Contiene el valor a almacenar en memoria o el último valor leído de memoria. Normalmente, la CPU actualiza el contador de programa después de cada cap tación de instrucción, demanera que siempre apunta a la siguiente instrucción a ejecutar.
  • 39. Organización de los registros Como alternativa, puedehaber registros intermedios adicionales en torno a la ALU; estos registros sirven como registros de entrada y salida de la ALU, e intercambian datos con MBR y los registros visibles para el usuario. Todos los diseños de CPU incluyen un registro o un conjunto de registros, conocidos a menudo como palabra de estado del programa (program status word, PSW), que contiene información de estado. PSW contiene normalmente códigos de condición, además de otra información de estado. Entre los campos o indicadores comunes se incluyen los siguientes:  • Signo: Contiene el bit de signo del resultado de la última operación aritmética.  • Cero: Puesto a uno cuando el resultado es 0.  • Acarreo: Puesto a uno si una operación da lugar a un acarreo (suma) o adeudo (resta) del bit más significativo. Se usa en operaciones aritméticas multipalabra.  • Igual: Puesto a uno si el resultado de una comparación lógica es la igualdad.  • Desbordamiento: Usado para indicar un desbordamiento aritmético.  • Interrupciones habilitadas/inhabilitadas: Usado para permitir o inhabilitar interrupciones.  • Supervisor: Indica si la CPU funciona en modo supervisor o usuario. Únicamente en modo supervisor se pueden ejecutar ciertas instrucciones privilegiadas y se puede acceder a ciertas áreas de memoria.
  • 40. Ejemplo de ejecución de un programa Suponiendo que en el disco duro de un PC esté guardado el programa Sumar, si alguien quiere realizar una suma con dicho programa, deberá seguir, como mínimo, los siguientes cinco pasos:  1. Encender el ordenador. Enseguida algunos programas del sistema operativo instalado en la máquina se cargarán en la memoria principal y tomarán el control de la computadora, la cual quedará a la espera de que el usuario "diga" que quiere hacer.  2. Seleccionar el programa Sumar para ejecutarlo. Si el sistema operativo ofrece una interfaz gráfica, el usuario podrá seleccionar el programa haciendo doble clic con el puntero del ratón sobre su nombre (Sumar).  3. Introducir los datos de entrada. El usuario debe teclear un número (por ejemplo, el 3) y pulsar Enter, y realizar la misma operación para el segundo número (por ejemplo, el 5). A continuación, la unidad aritmético/lógica calculará la suma, que en este caso resultará ser 8. Los tres datos también se guardarán en la memoria.  4. Finalizar el programa. Llegados a este punto, el programa Sumar finalizará después de que el usuario pulse cualquier tecla. En consecuencia, el sistema operativo liberará el espacio de memoria ocupado por las instrucciones del programa y por todos los datos utilizados en su ejecución (en este caso tres datos). Después de ejecutar cualquier programa siempre hay que dejar libre el espacio de memoria ocupado y, así, dejar hueco para que otros programas puedan ejecutarse.  5. Apagar el ordenador. Si ahora el usuario decide apagar el ordenador, también se liberará el espacio de memoria ocupado por los programas del sistema operativo y todo volverá a estar como al principio.
  • 41. Aritmética del Computador  Los computadores no almacenan los números con precisión infinita sino de forma aproximada empleando un número fijo de bits (apócope del término inglés Binary Digit) o bytes (grupos de ocho bits). Prácticamente todos los computadores permiten al programador elegir entre varias representaciones o 'tipos de datos'. Los diferentes tipos de datos pueden diferir en el número de bits empleados, pero también (lo que es más importante) en cómo el número representado es almacenado: en formato fijo (también denominado 'entero') o en punto flotante2 (denominado 'real').
  • 42. Unidad Aritmética-Lógica  Unidad Lógica Aritmética (ULA), o Arithmetic Logic Unit (ALU), es un circuito digital que calcula operaciones aritméticas (como suma, resta, multiplicación, etc.) y operaciones lógicas (como igual a, menor que, mayor que, etc.), entre dos números.  Muchos tipos de circuitos electrónicos necesitan realizar algún tipo de operación aritmética, así que incluso el circuito dentro de un reloj digital tendrá una ALU minúscula que se mantiene sumando 1 al tiempo actual, y se mantiene comprobando si debe activar el pitido del temporizador, etc.
  • 43. Aritmética del Computador  Los computadores no almacenan los números con precisión infinita sino de forma aproximada empleando un número fijo de bits (apócope del término inglés Binary Digit) o bytes (grupos de ocho bits). Prácticamente todos los computadores permiten al programador elegir entre varias representaciones o 'tipos de datos'. Los diferentes tipos de datos pueden diferir en el número de bits empleados, pero también (lo que es más importante) en cómo el número representado es almacenado: en formato fijo (también denominado 'entero') o en punto flotante2 (denominado 'real').
  • 44. Representación de Enteros  En el sistema de numeración binaria, cualquier número puede representarse tan solo con los dígitos 1 y 0. El signo menos, y la coma de la base (que separa la parte entera del decimal). Por ejemplo:  -1101,01012 = -13,312510  Una palabra de 8 bits puede representar números desde 0 hasta 255. Entre los que se encuentran:  00000000 = 0  00000001 = 1  00101001 = 41  10000000 = 128  11111111 = 255
  • 45. Aritmética con enteros  Las reglas: 1. Obtener el complemento booleano de cada bit del entero (incluyendo el bit de signo). Es decir, cambiar cada 1 por 0, y cada 0 por 1. 2. Tratando el resultado como un entero binario sin signo, sumarle 1. Este proceso en dos etapas se denomina transformación a complemento a dos, u obtención del complemento a dos de un entero.
  • 46. SUMA  La suma se efectúa igual que si los números enteros fuesen sin signo. Si el resultado de la operación es positivo, se obtiene un número positivo en forma de complemento a dos, que tiene la misma forma como entero sin signo. Si el resultado de la operación es negativo, conseguimos un número negativo en forma de complemento a dos.
  • 47. MULTIPLICACIÒN 1. La multiplicación implica la generación de productos parciales, uno para cada digito del multiplicador. Estos productos parciales se suman después para producir el producto final. 2. Los productos parciales se definen fácilmente. Cuando el bit del multiplicador es 0, el producto es 0. Cuando el multiplicador es 1, el producto parcial es el multiplicando. 3. El producto total se obtiene sumando los productos parciales. Para esta operación, cada producto parcial sucesivo se desplaza en una posición hacia la izquierda con respecto al producto parcial precedente.
  • 48. DIVISIÒN  La división es más compleja que la multiplicación pero está basada en los principios generales. La operación conlleva repetidos desplazamientos y sumas o restas.  Primero se examinan los bits del dividendo de izquierda a derecha hasta que el conjunto de bits examinados represente un número mayor o igual que el divisor; o, en otras palabras, hasta que el divisor sea capaz de dividir al número. Hasta que eso ocurre, se van colocando ceros en el cociente de izquierda a derecha. Cuando dicho evento ocurre, se coloca un 1 en el cociente, y se substrae el divisor del dividendo parcial. Al resultado se le denomina resto parcial. Desde este punto en adelante, la división sigue un patrón cíclico. En cada ciclo, se añaden bits adicionales del dividendo al resto parcial hasta que el resultado sea mayor o igual al divisor. Como antes, de este número se resta el divisor para producir un nuevo parcial. El proceso continua hasta que se acaban los bits del dividendo.
  • 49. REPRESENTACIÒN EN COMA FLOTANTE  La representación de coma flotante: es una forma de notación científica usada en los CPU, GPU, FPU, etc., con la cual se pueden representar números reales extremadamente grandes y pequeños de una manera muy eficiente y compacta, y con la que se pueden realizar operaciones aritméticas. El estándar para la representación en coma flotante es el IEEE 754.
  • 50. Representación (número de bits) Características Tipo Signo Exponente Significante Total Tamaño Biasdel exponente Bitsdeprecisión (Nro.debitssignificativos) Dígitossignificativos endecimal(aprox) Rango Medio (Half) 1 6 9 16 2 bytes (16 bits) 31 10 3 ?? ?? Simple (Simple) 1 8 23 32 4 bytes (32 bits) 127 24 6 1/2 -1,701411733e38 .. 3,402823466e+38 Doble (Double) 1 11 52 64 8 bytes (64 bits) 1023 53 15 2,2250738585072014e-308 .. 1,7976931348623158e+308 Cuádruple (Quad) 1 15 112 128 16 bytes (128 bits) 16383 113 33 ?? ??
  • 51. ARITMÈTICA EN COMA FLOTANTE  Más una Unidad de Control que conectará ambas unidades y que se encarga entre otras cosas de normalizar adecuadamente el resultado.  En todos los computadores se ha normalizado la notación en coma flotante al estándar IEEE-754. Este estándar posee dos formatos posibles de representación o almacenamiento de la información, aunque internamente puede utilizarse formatos con más bits para una mayor precisión.
  • 52. ARITMÈTICA EN COMA FLOTANTE  Simple Precisión El estándar IEEE-754 para la representación en simple precisión de números en coma flotante exige una cadena de 32 bits. El primer bit es el bit de signo (S), los siguientes 8 son los bits del exponente (E) y los restantes 23 son la mantisa (M):
  • 53. ARITMÈTICA EN COMA FLOTANTE  Doble Precisión El estándar IEEE-754 para la representación en doble precisión de números en coma flotante exige una cadena de 64 bits. El primer bit es el bit de signo (S), los siguientes 11 son los bits del exponente (E) y los restantes 52 son la mantisa (M):
  • 54. ARITMÈTICA EN COMA FLOTANTE  Precisión Extendida  Formato de precisión extendida en IEEE754.  Este formato suele reservarse normalmente para almacenar resultados intermedios, su longitud extra le permite proteger los resultados finales del redondeo y los cálculos intermedios del overflow y underflow. El bit implícito de los anteriores formatos aquí no se contempla, ya que se encuentra físicamente presente en la mantisa.
  • 55. LA UNIDAD DE CONTROL  uno de los tres bloques funcionales principales en los que se divide una unidad central de procesamiento. Los otros dos bloques son la unidad de proceso y el bus de entrada/salida. Su función es buscar las instrucciones en la memoria principal, decodificarlas (interpretación) y ejecutarlas, empleando para ello la unidad de proceso.  En computadoras, la unidad de control fue históricamente definida como una parte distinta del modelo de referencia de 1946 de la arquitectura de von neumann. en diseños modernos de computadores, la unidad de control es típicamente una parte interna del CPU.
  • 56. LA UNIDAD DE CONTROL  Componentes:  Registro de instrucción: Es el encargado de almacenar la instrucción que se está ejecutando.  Registro contador de programas: Contiene la dirección de memoria de la siguiente instrucción a ejecutar.  Controlador y decodificador: Se encarga de interpretar la instrucción para su posterior proceso. Es el encargado de extraer el código de operación de la instrucción en curso.  Secuenciador: Genera microórdenes necesarias para ejecutar la instrucción.  Reloj: Proporciona una sucesión de impulsos eléctricos a intervalos constantes.
  • 57. FUNCIONAMIENTO  La función principal de la unidad de control de la UCP es dirigir la secuencia de pasos de modo que la computadora lleve a cabo un ciclo completo de ejecución de una instrucción.  1. Ir a la memoria y extraer el código de la siguiente instrucción (que estará en la siguiente celda de memoria por leer). Este paso se llama ciclo de fetch en la literatura computacional (to fetch significa traer, ir por).  2. Decodificar la instrucción recién leída (determinar de qué instrucción se trata).  3. Ejecutar la instrucción.  4. Prepararse para leer la siguiente casilla de memoria (que contendrá la siguiente instrucción), y volver al paso 1 para continuar.
  • 58. PASOS PARA LA EJECUCION DE UN PROGRAMA  En virtud de que el programa comienza a partir de la celda número 10, se debe indicar a la unidad de control que esa celda contiene la primera instrucción. Esto se hace por medio de un apuntador (que forma parte de los circuitos electrónicos de la unidad de control) que recibe el nombre de contador de programa (CP). Así pues, el primer paso debe consistir en apuntar a la casilla 10, y esto se representara por CP-10.  (obsérvese que este paso es externo, esto es, no forma parte del programa, sino que se tiene que hacer “desde afuera” para iniciar la operación de la computadora)  La unidad de control ejecutara el paso I e ira a la casilla 10 para leer su contenido, que es 21.  La unidad de control ejecuta el paso II, con lo que decodifica el 21 recién leído y determina que se trata de una operación CARGA_Ac. En este momento sucede algo de primordial importancia: como la instrucción 21 tiene una longitud de dos celdas cuyo valor se cargara en el acumulador (que en este caso de casualidad también es 21), la maquina deberá ajustar el valor del contador de programa para que este apunte a celda siguiente.
  • 59. CONTRL MICRO PROGRAMADO  Se empezará por definir palabra de control (CW: control word) como una palabra cuyos bits individuales representan las diferentes señales de control. Por lo tanto, cada uno de los pasos de control de la secuencia de control de una instrucción define una combinación única de unos y ceros en la CW. Una secuencia de CW correspondientes a la secuencia de control de una instrucción de máquina constituye el microprograma para esa instrucción. Las palabras individuales de control en este microprograma por lo general se denominan microinstrucciones.
  • 60. CONTRL MICRO PROGRAMADO  Considérese que los microprogramas correspondientes al conjunto de instrucciones de una computadora están almacenados en una memoria especial a la que se denomina la memoria de microprograma. La unidad de control puede generar las señales de control para cualquier instrucción, leyendo en forma secuencial las CW del microprograma correspondiente en la memoria de microprograma. Esto sugiere organizar la unidad de control. Para leer en forma secuencial las palabras de control a partir de la memoria de microprograma se emplea un contador de microprograma (m PC).