Sunteți pe pagina 1din 18

UNIVERSIDAD NACIONAL SAN ANTONIO

ABAD DEL CUSCO


Facultad de Ciencias Fsicas, Qumicas y Matem aticas.
Carrera Profesional Ingeniera Informatica y de Sistemas.
EL PROCESADOR: CAMINO DE
DATOS Y CONTROL
Autores:
Acostupa Huallparimachi, Katerin Milagros 120877
Canales Turpo, Rocio Sandra 122240
Cardoso Cusihuallpa, Carla Doris 120276
Daz Ccasa, Naysha Naydu 120282
Farfan Escobedo, Jeanfranco David 120885
Palomino Villarroel, Carlos Alain 073310
Quispe Condori, Edgar Rodolfo 120682
Asesor:
M.Sc. Lauro Enciso Rodas
1
Resumen
Castellano
Es importante saber como las instrucciones son manejadas por el computador, para lo cual ana-
lizamos el camino de datos y el control. El camino de datos, esta conformado por el PC, memorias de
instruccion y de datos, registros y ALUs. Juntado todos los elementos mencionados anteriormente
y con ayuda del control podemos ejecutar las instrucciones. Esta ejecucion en una implementacion
de un solo ciclo donde cada instruccion se ejecuta en un ciclo del reloj, pero esto requiere una
gran cantidad de tiempo. Por lo tanto se requiere de una implementacion multiciclos en el cual
una instruccion es ejecutada en m ultiples ciclos de reloj. Para lo cual se aumenta registros adicio-
nales y multiplexores al datapath, as como mas se nales de control. Para determinar que control
se utiliza en instruccion, se utiliza las tecnicas de maquina de estado nito o microprogram. El
control es un aspecto difcil de dise nar, porque pueden existir interrupciones (problemas externos)
o excepciones (problemas internos) que hacen interrumpir el programa. Para resolver el problema la
maquina debe guardar la direccion de la instruccion que tiene el problema y transferirlo al sistema
de operaciones para que tome una accion apropiada. Se tiene dos metodos que logra este proposito:
las interrupciones vectorizadas y el metodo que incluye un estado de registro para mantener la
excepcion. Estos metodo al implementarse requieren mas se nales de control en el datapath.
Ingles
It is important to know how the instructions are handled by the computer, for that we analyze the
data path and control. The datapath is made up by the PC, instruction memory and data registers
and ALUs. We put together and with the help of the control elements can execute instructions.
This implementation can be in a single-cycle implementation where each instruction is executed in
one clock cycle, but this requires a lot of time. Therefore it requires a multi-cycle implementation
in which an instruction is executed in multiple clock cycles. For that we need to put additional
datapath multiplexers, registers and more control signals. To determine which control instruction
is used techniques like nite state machine or microprogram. The control is a dicult aspect of
designing, because there may be interruptions (external problems) or exceptions (internal problems)
they do interrupt the program. To solve the problem, the machine must save the address of the
instruction that has the issue and transfer to system operations to take appropriate action. It has
two methods to achieve this purpose: the vectored interrupts and method including a state registry
to maintain the exception. These method to be implemented require more control signals in the
datapath.
Palabras claves
Datapath, implementacion, PC ( programer counter ), registros, memoria de instrucciones, memoria
de datos, elemento de estado, clocking methodology, edge-triggered clocking, se nal de control, ele-
mento del datapath, register le, sig-extend, direccion del salto de rama, branch taken, branch not
taken, retraso de un salto, termino no importante, opcode, instruccion, implementacion de un solo
ciclo, implementacion multiciclos, maquinas de estado nito, microprogram, interrupcion, excepcion,
interrupcion vectorizada, ALU.
Agradecimientos
Agradecemos a todos los compa neros que llevan el curso de Arquitectura del Computador por la
atencion otorgada de su tiempo al momento de exponer. Ademas queremos agradecer a usted, por
darnos la oportunidad de aumentar nuestros conocimientos para nuestro desarrollo profesional y le
agradecemos de antemano tambien por la nota satisfactoria que nos va a poner, ya que le hemos
dedicado mucho tiempo y esfuerzo a este trabajo que esperemos que sea de su total agrado.
2

Indice
Resumen 2
Palabras Claves 2
Agradecimientos 2
I. INTRODUCCI

ON 5
II.PROBLEM

ATICA DE LA INVESTIGACI

ON 5
2.1 Planteamiento y/o formulacion del problema 5
2.2 Justicacion e importancia de la investigacion 6
2.3. Denicion del problema 6
2.4. Limitaciones del problema 6
2.5. Objetivos 6
2.5.1. Objetivo General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.5.2. Objetivos Especcos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
III. MARCO TE

ORICO 7
3.1 Antecedentes de la Informacion 7
3.2. Base teorica 7
3.2.1. Convenciones del dise no logico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.2.2. El datapath (ruta de camino) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.2.3: Un plan de aplicacion simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2.4. Una implementacion multiciclo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2.5. Excepciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.3 Hipotesis 14
3.4 Variables e Indicadores 15
IV. METODOLOG

IA DE LA INVESTIGACI

ON 15
4.1 Tipo y nivel de investigacion 15
4.2 Poblacion y muestreo 15
4.3 Fuentes, tecnicas e instrumentos de recoleccion de datos 15
4.4 Metodos y procedimientos para la recoleccion de datos 15
4.5 Analisis e interpretacion de datos y resultados 16
4.6 Contrastacion de los resultados con los objetivos 16
4.7 Vericacion de las hipotesis 16
3
V. PROYECCI

ON ADMINISTRATIVA 16
5.1. Cronograma de Actividades 16
5.2. Presupuesto 16
5.3. Financiamiento 17
VI. CONCLUSIONES, SUGERENCIAS Y RECOMENDACIONES 17
VII. REFERENCIAS BIBLIOGR

AFICAS 18
VIII. ANEXOS 18
4
I. INTRODUCCI

ON
En este tema se estudia la Unidad Central de Procesamiento (CPU) Camino de datos: Es la
seccion del computador encargada de manipular y transformar los datos procedentes de la memoria
o los registros internos, para obtener los resultados. Su labor es soportar el conjunto de operaciones
que precisan las instrucciones del repertorio que es capaz de interpretar la unidad de control Unidad
de control: Es la seccion del computador encargada de interpretar las instrucciones del programa y
gobernar la ejecucion de las mismas. La organizacion de los procesadores ha evolucionado con el paso
de los a nos, guiada por el desarrollo tecnologico y la necesidad de obtener altas prestaciones
En este tema se analizan las ideas basicas comunes a todos los procesadores, que sientan las bases para
poder comprender los avances en arquitectura de computadores El procesador es el que se encarga de
ejecutar las instrucciones especicadas por el programa.
Funciones basicas:
Captar instrucciones. El procesador debe leer instrucciones de la memoria
Interpretar instrucciones. La instruccion debe decodicarse para determinar que accion es nece-
saria
Captar datos. La ejecucion puede exigir leer datos de la memoria o de un modulo de E/S
Procesar datos. La ejecucion de una instruccion puede exigir llevar a cabo alguna operacion
aritmetica o logica
Escribir datos. Los resultados de una ejecucion pueden tener que ser escritos en la memoria o en
un modulo de E/S
Se dise nara una implementacion que incluya las instrucciones mas importantes. Instrucciones de
acceso a memoria: lw, sw. Instrucciones aritmetico-logicas: add, sub, slt, and, or. Brincos: BEQ, J.
Los pasos generales son : Enviar el contador del programa (PC) a la memoria que contiene el codigo y
atrapar la instruccion. Leer uno o dos registros usando los campos de la instruccion para seleccionar los
registros a leer. Uso de la ALU para el calculo de una direccion, ejecucion de una operacion aritmetica
o logica o comparaciones. Acceso a la memoria de datos para lectura o escritura
II.PROBLEM

ATICA DE LA
INVESTIGACI

ON
2.1 Planteamiento y/o formulacion del problema
Segun David A.Patterson y John L. Hennessy: .
El
rendimiento de una maquina depende de tres
factores clave: Conteo de Instrucciones, tiempo del ciclo de reloj y ciclos de reloj por instruccion. Para
un programa dado, el conteo de instrucciones depende del repertorio de instrucciones y del compilador;
sin embargo, el tiempo del ciclo de reloj y los ciclos de reloj por instruccion dependen directamente
de la implementacion del procesador.(Pagina 284: 2005)
El camino de datos y el control en diversas ejecuciones que procesa el computador no es tan eciente
como queremos por causa de las implementaciones que se hace con el camino de datos y ademas al
momento de ejecutar las instrucciones tenemos problemas con algunas interrupciones y excepciones
que se producen.
5
2.2 Justicaci on e importancia de la investigacion
La investigacion se realizo para poder entender y realizar implementaciones que permitan tener
una mejor rendimiento del computador en el momento de ejecutar las diversas instrucciones.
La idea principal consiste en conocer los principios aplicados en la creacion de un camino de datos
y el dise no del control. El punto importante consiste en mostrar como el repertorio de instrucciones
determina muchos de aspectos de la implementacion, y como la eleccion de diferentes estrategias de
implementacion afecta al ciclo de reloj y al CPI de la maquina. La mayora de conceptos expuestos
durante la implementacion de este sub-conjunto MIPS, son ideas basicas para la construccion de una
amplia gama de microprocesadores de proposito general utilizados en computadoras de alto rendi-
miento, as como en el desarrollo de procesadores de proposito especco, los cuales son usados en
una amplia gama de productos desde VCRs hasta automoviles. Cabe resaltar tambien, que el dise no
de controles es una de las partes mas importantes, laboriosas y difciles de la construccion de una
arquitectura ya que el rendimiendo, el costo y la abilidad dependen basicamente de esta parte.
2.3. Denici on del problema
con el avance del desarrollo de software y hardware surgen problemas con el rendimiento de las
computadoras, ya que estos avances exigen mayor potencia. Por lo tanto surgen distintas formas de
implementar los elementos del camino de dato y el control, y ademas cada uno de estas implemen-
taciones tiene una forma de procesar excepciones. Pero no todas de estas implementaciones tiene un
buen rendimiento.
2.4. Limitaciones del problema
Las limitaciones que encontramos son:
Nuestras fuentes estaban en otro idioma lo cual diculta el entendimiento de muchos conceptos.
Las implementaciones que se estudian en esta investigacion ya no tienen un uso en la actualidad.
La falta de algunos conocimientos previos que la fuente nos exiga.
Manejar el concepto de datapath necesita de una buena base en electronica. digital
2.5. Objetivos
2.5.1. Objetivo General
Estudiar conceptos basicos de arquitectura de microprocesador: Comprender las funciones de
las diferentes unidades (por ejemplo, la unidad de control, la memoria, la Ruta de datos, ALU,
PC, etc.)que se utilizan en el dise no de un procesador.
Implementar de distintas formas el camino de datos y el control
Estudiar como se controlan las excepciones en la implementaciones realizadas.
Ver como se realizan las ejecuciones en las distintas implementaciones.
Mostrar como se va realizando la ejecucion de las instrucciones internamente.
2.5.2. Objetivos Especcos
Estudiar que implementacion es la de mejor rendimiento, tomando en cuenta .
Explicar implementaciones basandose en microprograming y maquinas de estado nito.
6
III. MARCO TE

ORICO
Es importante el dise no de la computadora ya que nos permite un buen rendimiento de la compu-
tadora al ejecutar instrucciones, en este caso utilizamos instrucciones MIPS. Todas las instrucciones
requieren tareas similares :
Direccionar memoria con PC para buscar instrucciones e incrementar PC
Leer uno o dos registros
Utilizar ALU para
Acceder a memoria escribir dato en registro cambiar PC
3.1 Antecedentes de la Informaci on
Considerando el capitulo IV del libro ,nos brinda la informacion necesaria sobre del rendimiento
de un computador el cual sera de mucha utilidad en el desarrollo de presente capitulo,otra alternativa
seria tomar en cuenta las cesiones de clase realizadas por el docente,que al igual que el libro establece
un camino a seguir en el desarrollo del presente tema camino de datos y control.
3.2. Base te orica
3.2.1. Convenciones del dise no logico
Consiste en dos diferentes tipos de elementos logicos:
Elementos que opera en valores de data
Elementos que contienen estados.
los elementos que opera en valores de data son todos combinacionales. Mientras que otros elementos en
el dise no no son combinacionales, pero en vez de eso contienen estados. Un elemento contiene estados si
tiene alg un almacenamiento interno, a ellos se les conoce como elementos de estados ,los componentes
logicos que contienen estados son tambien llamados secuenciales porque sus salidas dependen ambos
de sus entradas y el contenido de su estado interno Una metodologa clocking se dene cuando las
se nales pueden ser ledas y cuando estas pueden ser escritas. Un edge-triggered clocking methodology
signica que cualquier valor almacenado en un elemento logico secuencial es puesto al da solo en un
clock edge, edge-triggered clocking methodologyademas un nos permite que leer el contenido de un
registro
3.2.2. El datapath (ruta de camino)
El datapath realiza operaciones aritmeticas y logicas. Los elementos de un datapath son:
ALU.
Memoria de instrucciones.
Memoria de datos.
Banco de registros.
Sumadores.
7
Ejecucion de Instrucciones
Una memoria para guardar y leer instrucciones. Es llamada la Memoria de instrucciones
Un registro, llamado PC (contador de programa), para guardar la direccion de la instruccion
actual.
Un sumador para incrementar el PC.
Procesador Monociclo
Para lo cual comenzaremos por los elementos basicos y sus funciones asociadas que son:
1. Contador de Programas: La PC tiene la direccion de la instruccion en el programa que
esta siendo ejecutado. El proceso es: Cada instruccion esta en una direccion de memoria dada.
Almacenamos la direccion en el registro PC (counter program o contador de programas). Tras
procesar una instruccion avanzamos el contador hasta la siguiente instruccion.
2. Operaciones de Tipo R: Involucran tres registros: dos de lectura y uno de escritura. Usan
la ALU (unidad aritmetica logica) para realizar las operaciones
3. Acceso a Memoria: Instrucciones lw y sw. La direccion se indica con un registro mas un
desplazamiento de 16 bits con signo. El desplazamiento se extiende a 32 bits.
4. Saltos condicionales: Eval uan si dos registros contienen o no el mismo valor. Si la condicion
se cumple aplican el salto. El salto es relativo con signo. Los 16 bits se extienden a 32 y se
desplazan 2 posiciones a la izquierda para direccionar solo palabras completas. El PC ya se ha
actualizado a PC + 4.
5. Todo junto: La ejecucion de una instruccion comienza con dos pasos:
Obtener la instruccion de la memoria.
Incrementar el PC para preparar la ejecucion de la instruccion siguiente.
Los tres elementos anteriores se combinan para formar un datapath que obtiene una ins-
truccion e incrementa el PC.
Para construir el camino de datos hemos de combinar los elementos explicados anteriormente. Inten-
taremos reutilizar parte del hardware mediante los multiplexores.
Instrucciones
Podemos mencionar:
1. Instrucciones Aritmetico LogicasLos operadores son: add, sub, and, or y slt. Por ejemplo:
addrd, rs, rt
Ejemplo : addS1, S2, S3 S1 = S2 + S3
2. Instrucciones de acceso a Memoria: Las operaciones son: lw y sw. Por ejemplo:
lw rt, despl(rd) o sw rt, despl(rd)
Ejemplos : lwS1, 24(S2) S1 = Mem[S2 + 24] swS1, 24(S2) Mem[S2 + 24] = S1
3. Instrucciones de Salto:
Salto Condicional:
8
beqrs, rt, despl
Ejemplos : beqS1, S2, despl si(S1 = S2) PC = PC + despl
Salto Incondicional
jdireccion
Ejemplos : j1000 PC = PC[31 28] + 1000[27 2] + 00[1 0]
En la siguiente imagen vemos un datapath completo con sus se nales de control.
3.2.3: Un plan de aplicaci on simple
En esta seccion, nos jamos en lo que podra ser considerado como la mas simple implementacion
de nuestro subconjunto MIPS. Construimos esta sencilla aplicacion utilizando la ruta de datos de la
ultima seccion y a nadiendo una funcion de control simple. Esta sencilla aplicacion cubre palabra de
carga (lw), palabra tienda (sw), rama igual (beq), y las instrucciones de aritmetica logica add, sub,
and, or, y set. Despues vamos a profundizar en el dise no para incluir una instruccion de salto (j).
El control ALU
Recordemos que la ALU tiene tres entradas de control y que solo cinco de las ocho combinaciones
posibles son utilizadas.
La seleccion entre cada una de estas cinco funciones dependera de la clase de instruccion. Para
cargas y almacenamientos se requiere que la ALU realice una suma para calcular la direccion de la
localidad de memoria a la que se realizara el acceso. Para instrucciones aritmetico logicas la ALU
realizara una suma, resta, AND, OR o ajuste sobre menor que, dependiendo del campo de funcion
que se encuentra en los 6 bits menos signicativos en esta clase de instrucciones. Para el salto sobre
igual la ALU necesita realizar una resta.
Como un primer paso realizaremos una peque na unidad de control que tenga una entrada de 2
bits a la que denominaremos ALUOp. Con esta entrada se determinara si la ALU realizara una suma
(ALUOp = 00) para cargas y almacenamientos, una resta (ALUOp = 01) para brincos sobre igual
o si la operacion quedara determinada por el campo de funcion (ALUOp = 10) para instrucciones
tipo-R. La salida de este Control de la ALU sera de 3 bits y se conectara directamente con las lneas
de control de la ALU.
Este estilo de usar diferentes niveles de decodicacion (p. Ej., la unidad de control principal genera los
bits ALUOp, los cuales son usados como entradas al control de la ALU para generar las se nales que
controlan a la ALU) es una tecnica de implementacion com un. El usar m ultiples niveles de control
reduce el tama no del control principal, por que el control principal ya no necesitara como entrada al
campo de funcion, solamente al codigo de operacion (opcode), con ello se aumenta su velocidad de
respuesta considerablemente.
El dise no de la unidad de control principal
Ahora que contamos con un control para la ALU, es posible realizar el control principal; para ello
es conveniente repasar los formatos de las instrucciones que se consideraron en la seccion anterior
como: Las instrucciones tipo-R. Algunas observaciones relacionadas con los formatos y que pueden ser
importantes para el dise no del hardware son:
9
El codigo de operacion (opcode), esta siempre contenido en los bits 31-26. A este campo lo
referiremos como Op[5-0].
Los dos registros a ser ledos estan siempre especicados por los campos rs y rt, en las posiciones
25-21 y 20-16. Esto para las instrucciones tipo-R, brincos sobre igual y los almacenamientos.
El registro base para las instrucciones de cargas y almacenamientos es rs y esta en los bits 25-21.
Los 16 bits de desplazamiento para brincos sobre igual, cargas y almacenamientos estan siempre
en las posiciones 15-0.
El registro destino esta en uno de dos lugares. Para las cargas esta en los bits de posicion 20-16
(rt), mientras que para instrucciones tipo-R su posicion es 15-11 (rd). Entonces necesitamos un
multiplexor para seleccionar el campo que corresponda al registro que se escribira de acuerdo a
la operacion.
Usando esta informacion, podemos agregar etiquetas y el multiplexor extra al camino de los datos.
Asi podemos determinar que se tienen 7 se nales de control, mas las se nales del control de la ALU.
La unidad de control ajustara el valor de todas las se nales dependiendo del codigo de operacion
(opcode), con excepcion de la se nal PCSrc. Esta se nal debera acertarse cuando se trate de un brinco
condicional, solo si el resultado de la comparacion es verdadero. Por lo que a la entrada de la se nal
PCSrc colocaremos una AND de dos entradas, una de ellas provendra de la bandera zero (producida
por la ALU) y la otra la generara la unidad de control siempre que se trate de un brinco, a esta ultima
se nal la denominaremos branch.
Por lo tanto, el control basicamente es un circuito logico combinacional cuyas entradas corresponden
a los 6 bits del opcode y sus salidas son las 7 se nales de control. Para el dise no del control, es
necesario recordar los codigos de operaci on para cada una de las instrucciones bajo consideracion.
Implementacion de los Saltos
A la implementacion construida le agregaremos el hardware necesario para soportar los saltos. La
diferencia entre j(jump) y beq (branch) es que la primera instruccion es incondicional, de manera que
el salto siempre se realizara. Sin embargo mantienen en com un el hecho de que se trata de un salto
de palabras de 4 bytes, por lo que los 26 bits encontrados en la instruccion deben desplazarse a la
izquierda en 2, llenando estos espacios con ceros. De manera que al realizarse el salto, el nuevo valor
del contador del programa se formara por la concatenacion de:
Los 4 bits mas signicativos del valor de PC + 4 (estos son los bits 31-28 de la direccion
secuencialmente contin ua al salto).
Los 26 bits del campo inmediato de la instruccion del salto.
Los bits 00dos.
Debe agregarse un multiplexor mas, por medio del cual se podra seleccionar entre PC + 4 y el valor
obtenido de la concatenacion anterior. Por que una implementacion de un ciclo de reloj no es
usada
Una implementacion de este estilo tiene un CPI igual a 1 (Ciclos por Instruccion) y puesto que no
sabemos cual es la instruccion que se estara ejecutando, hasta que inicie su ejecucion, todos los ciclos
de reloj deberan ser del mismo tama no. Por lo que el tama no del ciclo de reloj estara determinado por
la ruta mas larga posible en la maquina. Esta ruta ciertamente es para una instruccion de carga, la
cual utiliza cinco unidades funcionales en serie: La memoria de instrucciones, el archivo de registros,
la ALU, la memoria de datos y nuevamente el archivo de registros. Esta instruccion determinara el
tama no del ciclo.
Las instrucciones que podran ser rapidas, como los saltos que aunque solo ocupan la memoria de
instrucciones, tardaran lo mismo que las cargas. Entonces, aunque el CPI es igual a 1, el rendimiento
de esta implementacion no es muy bueno dado que diferentes clases de instrucciones podran ejecutarse
en menos tiempo.
Una implementacion de un solo ciclo terminada se puede ver en la siguiente imagen:
10
3.2.4. Una implementaci on multiciclo
Llamado tambien implementacion del ciclo del reloj m ultiple, es una implementacion en que cada
instruccion es ejecutada en m ultiples ciclos del reloj. Las ventajas porque se utiliza la implementacion
multiciclos son:
Permite a la unidad funcional que sea usado mas de una vez por instruccion.
Reducir el hardware requerido.
Las diferencias que presenta la implementacion multiciclos con anteriores datapath son:
Una sola unidad de memoria usada para instrucciones y datos.
Un solo ALU.
Cinco registro adicionales.
Ya que varias unidades funcionales son compartidas por diferentes propositos se debe a nadir multiple-
xores para que cumplan sus respectivos objetivos. Los tipos de almacenamiento en esta implementacion
son:
Datos usados por instrucciones subsecuencia son almacenados en: el archivo de registro, la
PC o la memoria.
Los datos usados por la misma instruccion son almacenan en un registro adicional.
Los registros adicionales que se presenta son:
1. Instruction register.- Guarda la salida de la memoria cuando es una instruccion de lectura,
requiere una se nal de control de escritura.
2. Memory data register.- Guarda la salida de la memoria cuando es un dato ledo.
3. Los registros A y B.- Mantienen los valores de los registros operando ledos desde el archivo
de registro.
4. ALUOut.- Mantiene la salida del ALU.
El datapath multiciclo todava requiere adiciones de apoyo para las sucursales y los saltos. Con las
instrucciones de salto, hay tres fuentes posibles para el valor que sera escrito en el PC:
1. El valor del ALU que es PC+4. Este valor debe ser almacenado directamente en el PC.
2. El registro ALUOut, donde se almacena la direccion de los saltos despues que es calculado.
3. Los 26 bits mas bajos de la Instruction Register (IR) desplazado a la izquierda por dos y conca-
tenado con los 4 bits mas altos del incremento de PC, que es la fuente cuando la instruccion es
salto
Para la implementacion multiciclos se puede utilizar los shared buses (conjunto de lneas que conectan
m ultiples unidades) para reducir el n umero de lneas de se nales de interconexion de la unidades fun-
cionales. Pero esto signicara un rendimiento de la potencia mayor. Un datapath con implementacion
multiciclos es la siguiente:
11
Romper la ejecucion de la instruccion en ciclos de reloj
1. B usqueda de pasos de instrucciones
IR <= Memory[PC]; PC <=PC+4;
Buscar la instruccion desde memoria y calcular la direccion de la siguiente instruccion.
2. Decodicacion de instrucciones y paso de buscar registro
A<=Reg[IR[25:21]]; B<=Reg[IR[20:16]]; ALUOut<= PC + (sign-extend
(IR[15-0])<<2);.
Se lee los valores desde el archivo de registro y se almacena en los registros temporales A y B.
Se calcula la direccion de registro del salto para guardar en el ALUOut.
3. Ejecutar, calcular la direccion de memoria o nalizacion del saltoLa operacion de la
trayectoria es determinado por la clase de instruccion.
a) Referencia de memoria
ALUOut <= A + sig-extend(IR[15:0]);
El ALU esta a nadiendo los operandos para formar la direccion de memoria.
b) Instruccion aritmetica-logica (R-type)
ALUOut<= A op B;
El ALU esta realizando la operacion especicada por el codigo de funcion en los dos valores
ledos desde el archivo de registro en un anterior ciclo.
c) Branch
if (A ==B) PC <= ALUOut;
El ALU es usado para comparar igualdades entre los dos registros ledos en un anterior
paso. La se nal de salida Zero del ALU es usado para determinar si o no es un branch.
d) Jump
PC <=[PC[31:28].(IR[25:0].2?b00)];
El PC es reemplazado por la direccion de salto.
4. Acceso a memoria e instrucciones R-type En este paso, la carga o almacenamiento accede
a la memoria y una instruccion logica aritmetica escribe el resultado, cuando este valor es
recuperado de la memoria es almacenado dentro del registro de memoria de datos (MDR),
donde sera usado en el siguiente ciclo del reloj.
12
a) Acceso a memoria
MDR <= Memory[ALUOut]; or Memory[ALUOut] <= B;
Si esta instruccion es una carga, el dato es recuperado de la memoria y guardado en el
MDR, si la instruccion es de almacenamiento el dato es escrito en memoria, en ambos casos
la direccion usada es la procesada en el ultimo ciclo y es guardad en ALUOut.
b) Instruccion logica aritmetica
Reg[IR[15 : 11]] <= ALUOut;
Ubicar el contenido de ALUout, que corresponde al resultado de la operacion del ALU en
el ultimo ciclo del clock, en el registro de resultados.
5. Paso nal en la memoria de lectura Durante este paso, las cargas se completan rescribiendo
los valores de la memoria.
Reg[IR[20 : 16]] <= MDR;
Escribe los datos de carga, que se encontraban en MDR, en el ciclo previo, en el registro de
archivos.
Deniendo los Controles
Luego de determinar cada uno de los controles de signos y saber cuando se deben aceptar, debe-
mos implementar nuestras unidades de control. Para dise nar estas unidades en el caso de Caminos de
datos con ciclos simples usamos las tablas de verdad para especicar el comportamiento, pero para
unidades Multi-Ciclos el control se hace mas complejo porque las instrucciones son ejecutadas en una
serie de pasos; para poder especicar una unidad multi ? ciclos debes ser especicados el signo que se
indicara en un paso y el signo del paso siguiente en la secuencia. Existen dos tecnicas para especicar
el control:
Maquinas de estado nito: Una maquina de estado nito consiste en un conjunto de esta-
dos y direcciones que nos muestran las direcciones en como cambian los estados.
Las direcciones estan denidas como el siguientes estado de la funcion, cuando usamos maquinas
de estado nito para el control, cada estas tambien especica un conjunto de salidas que son
aceptadas cuando la maquina esta en ese estado, la Implementacion de una maquina de estado
nito com unmente asume que todos las salidas que no estan explcitamente aceptados son no
aceptados.
Microprograming: Es una tecnica para dise nar unidades de control complejos, usa una modelo
de hardware simple que es programado para implementar un circuito mas complejo. Actualmente
es usada para implementar algunas partes de instrucciones complejas, tales como las Pentium.
3.2.5. Excepciones
Las excepciones y las interrupciones son la parte mas difcil de controlar por lo cual requieres un
tratamiento especial por parte del procesador
Excepcion: Acontecimiento inesperado dentro del procesador.
Instruccion indenida.
Desbordamiento aritmetico.
Error de direccion.
13
Llamada a un servicio del sistema operativo.
Interrupcion: Un excepto que proviene de fuera del procesador.
Motivado por la demanda de un dispositivo de entrada / salida que pretende comunicarse
con el procesador.
Tratamiento de excepciones e interrupciones
1. Cada excepcion concreta requiere un tratamiento individualizado, dependiendo de las causas que
la produzcan.
2. Cuando sucede una excepcion, se realizan automaticamente las siguientes operaciones:
Identicar la causa que ha producido la excepcion
Guardar la direccion de la instruccion culpable (oending) de la excepcion.
Transferir el control al sistema operativo
3. En el MIPS se considerara que la direccion de comienzo del tratamiento de las excepciones es la
C000000016.
4. MC68000: excepciones vectorizadas:
Vector de excepcion: direccion de comienzo de la rutina de tratamiento
Existe un vector de excepcion distinto para cada tipo de excepcion contemplada.
Cada tipo de excepcion tiene una rutina de tratamiento especca.
Cuando se produce la excepcion, se carga en el PC el vector correspondiente.
5. En el MIPS simplicado se a nadira la siguiente circuitera:
Un registro de 32 bits para guardar la direccion de la instruccion causante de la excepcion:
EPC.
Un registro de 32 bits que contiene un campo que indicara la causa que ha producido la
excepcion: Causa (Cause).
Una se nal de control para escribir en el EPC: EscrEPC (EPCWrite).
Una se nal de control para escribir en el registro de causa: EscrCausa (CauseWrite).
Un multiplexor para seleccionar el valor escrito en el registro Cause.
Al multiplexor para cargar el valor siguiente al PC se le a nadira una cuarta posibilidad
para cargar el valor C000000016 de la rutina de tratamiento de excepciones.
6. Posibles causas de excepcion en nuestro camino de datos:
Instruccion indenida (codigo: 0)
Desbordamiento aritmetico (codigo: 1)
3.3 Hipotesis
Hay distintos formas para implementar el camino de datos y el control, es importante su estudio
de estas implementaciones para ver como es eciente la computadora en cada implementacion. Deter-
minando as que una implementacion multiciclos es mas eciente que una implementacion de un solo
ciclo. As como tambien el estudio de las excepciones que se producen por estar relacionadas estas
implementaciones con elementos de entrada o salida, para darle una mayor abilidad al dise no.
14
3.4 Variables e Indicadores
Las variables son:
Camino de ciclo simple
Camino multiciclos
Los indicadores:
CPI
Clock cycle time
Conteo de instrucciones
Rendimiento
IV. METODOLOG

IA DE LA
INVESTIGACI

ON
4.1 Tipo y nivel de investigaci on
El tipo de investigacion es basica y el nivel de investigacion es explicativo.
4.2 Poblaci on y muestreo
En esta investigacion no existe poblacion, por consiguiente tampoco existira muestreo.
4.3 Fuentes, tecnicas e instrumentos de recoleccion de datos
Fuentes
La internet.
El libro : Computer Organization and Design the Hardware .
Tecnicas
La observacion.
Instrumentos
Cuaderno de datos.
El computador.
4.4 Metodos y procedimientos para la recolecci on de datos
El metodo representa la estrategia concreta e integral de trabajo para el analisis de un problema
o cuestion coherente con la denicion teorica del mismo y con los objetivos de la investigacion.
Leer la fuente indicada por el profesor.
Resumir la fuente, viendo los puntos precisos del tema.
Realizar mapas mentales u otra tecnica de resumen.
15
4.5 Analisis e interpretacion de datos y resultados
Los resultados nos muestran que las implementaciones de un solo ciclo ya no se fabrican por no
tener eciencia ademas que el rendimiento de estas implementacion es superada enormemente por
la implementacion multiciclos que es mucho mas rapida ademas que la implementacion multiciclos
procesa bien las excepciones.
4.6 Contrastaci on de los resultados con los objetivos
RESULTADOS
Obtencion de conocimiento sobre datapath y control.
Desarrollo de problemas propuestos por la bibliografa.
Desarrollo de exposicion en clases
Si observamos nuestros resultados podemos ver que nuestros objetivo general fue cumplido con gran
exito, y gracias al desarrollo de problemas se pudo aplicar todos lo aprendido de manera tal que se
cumplieron los objetivos especcos jados.
4.7 Vericacion de las hip otesis
Como se puede ver en el desarrollo de la parte teorica, el problema planteado (mejorar el rendi-
miento) se puede solucionar con una implementacion multiciclos, tal como se planteo en la hipotesis,
por lo que podemos aceptar la hipotesis.
V. PROYECCI

ON ADMINISTRATIVA
5.1. Cronograma de Actividades
Proyecto: The Processor: Datapath and Control
ID Tarea Comienzo Fin Duracion
A Inicio Proyecto 19 Mayo 2 Junio 14 dia
B Planicacion 23 Mayo 24 Mayo 1 dia
C Dise no 26 Mayo 27 Mayo 1 dia
D Revision y Validacion 28 Mayo 30 Mayo 2 dia
E Implementacion 31 Mayo 1 Junio 2 dia
F Fin Proyecto 2 Junio 2 Junio 1 dia
Durancion Total - - 14 dias
5.2. Presupuesto
Proyecto: The Processor: Datapath and Control
16
Materiales Cantidad Valor Total
Hojas Bond 35 Hojas 0.05 Soles 1.75 Soles
Internet 5 Horas 1 Sol 5 Soles
Folder 1 Folder 0.50 Soles 0.50 Soles
Impresion 35 Hojas 0.10 Soles 3.5 Soles
Total - - 10.75 Soles
5.3. Financiamiento
Proyecto: The Processor: Datapath and Control
Integrante Monto Total
Carla Cardoso 1.54 Soles 1.54 Soles
Naysha Diaz 1.54 Soles 1.54 Soles
Milagros Acostupa 1.54 Soles 1.54 Soles
Sandra Canales 1.54 Soles 1.54 Soles
Carlos Palomino 1.54 Soles 1.54 Soles
Rodolfo Quispe 1.54 Soles 1.54 Soles
JeanFranco Espinoza 1.54 Soles 1.54 Soles
Total - 10.75 Soles
VI. CONCLUSIONES, SUGERENCIAS Y
RECOMENDACIONES
Los datapath y unidades de control pueden ser dise nados empesando con un conjunto de instruc-
ciones para la arquitectura y un entendimiento de las caractersticas basicas de la tecnologa.
En la parte 3 se mostro como los datapath para procesadores MIPS pueden ser construidos
basandose en la arquitectura y la decision de construir un camino simple (single-cycle).
Podemos ver que la tecnologa afecta al dise no de decision, ya que nos demarca que tipos de
componentes pueden ser usados e el datapath.
En la parte 5 se mostro una alternativa que es construida con ciclos de reloj (clock cycles), esto
consiste en partir.
es
tos ciclos de reloj en pasos, para poder realizar los procesos en diferentes
tiempos y reutilizando la arquitectura.
La parte del control es una de los aspectos mas importantes en el dise no de arquitecturas de
computador, la mayor razon es que el dise no requiere de un entendimiento de como todos los
componentes de procesador operan.
En el proceso de desarrollo del trabajo se pudo obsevar las limitaciones, en el aspecto de co-
nocimiento, que existen ya que para poder entender los controles a cabalidad es necesario un
conocimiento mucho mas profundo de cuestiones que deberan de haber sido desarrolladas en
cursos que son prerequisitos, pero que lamentablemente, por la falta de tiempo en la mayoria de
casos no se llegan tocar.
Durante el desarrollo del trabajo se a podido encontrar algunos problemas con respecto a la
bibliografa, ya que el libro con el que se trabajo esta en su tercera edicion, cuando actualmente
existe una cuarta edicion que tiene un contenido mas amplio sobre los diferentes temas tocados
en las exposiciones.
17
VII. REFERENCIAS BIBLIOGR

AFICAS
Referencias
[1] Computer Organization and Design. David A. Patterson - Jhon L.Hennessy 3

edition
[2] http://www.freebookez.net/patterson-computer-organization-and-design-4th-solutions/
VIII. ANEXOS
18

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