PDF de programaci贸n - Tema 4 El procesador: camino de datos y unidad de control

Im谩gen de pdf Tema 4 El procesador: camino de datos y unidad de control

Tema 4 El procesador: camino de datos y unidad de controlgr谩fica de visualizaciones

Publicado el 5 de Julio del 2017
764 visualizaciones desde el 5 de Julio del 2017
1,4 MB
75 paginas
Creado hace 16a (14/11/2008)
Tema 4
El procesador: camino
de datos y unidad de
control

脥ndice

飪 Introducci贸n

飪 Estructura b谩sica de la CPU: camino de datos y

control

飪 El ciclo de instrucci贸n

飪 Dise帽o de un procesador monociclo

飪 Descomposici贸n de la ejecuci贸n en etapas

飪 Realizaci贸n multiciclo

飪 Dise帽o de la unidad de control

飪 Procesamiento de excepciones

Introducci贸n

飦 En este tema se estudia la Unidad Central de Procesamiento (CPU)

鈭 Camino de datos:

飦 Es la secci贸n 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 capas de interpretar la unidad de control

鈭 Unidad de control:

飦 Es la secci贸n del computador encargada de interpretar las instrucciones del

programa y gobernar la ejecuci贸n de las mismas

飦 La organizaci贸n de los procesadores ha evolucionado con el paso
de los a帽os, guiada por el desarrollo tecnol贸gico y la necesidad de
obtener altas prestaciones

飦 En este tema se analizan las ideas b谩sicas comunes a todos los
procesadores, que sientan las bases para poder comprender los
avances en arquitectura de computadores

Introducci贸n

飦 El procesador es el que se encarga de ejecutar las

instrucciones especificadas por el programa.

飦 Funciones b谩sicas:

鈭 Captar instrucciones. El procesador debe leer instrucciones

de la memoria

鈭 Interpretar instrucciones. La instrucci贸n debe decodificarse

para determinar qu茅 acci贸n es necesaria

鈭 Captar datos. La ejecuci贸n puede exigir leer datos de la

memoria o de un m贸dulo de E/S

鈭 Procesar datos. La ejecuci贸n de una instrucci贸n puede
exigir llevar a cabo alguna operaci贸n aritm茅tica o l贸gica

鈭 Escribir datos. Los resultados de una ejecuci贸n pueden

tener que ser escritos en la memoria o en un m贸dulo de E/S

Estructura b谩sica de un procesador

飦 El procesador se compone de

varias partes:

1. La unidad de control

2. La unidad aritm茅tico-l贸gica

3. Un banco de registros

4. Otros registros internos, algunos

de los m谩s importantes:
1. El contador de programa (PC)
2. El registro de instrucciones (IR)

Estructura b谩sica de un procesador

飦 Vamos a construir un camino de datos y su unidad de

control para dos realizaciones diferentes de un
subconjunto del repertorio de instrucciones del MIPS:
鈭 Instrucciones de acceso a memoria: lw, sw

鈭 Instrucciones aritm茅tico-l贸gicas: add, sub, or, slt

鈭 Instrucci贸n de salto condicional: beq

鈭 Instrucci贸n de salto incondicional: j

Memoria deinstruccionesInstrucci贸nDirecci贸nMemoria de DatosDirecci贸nDatosDatosn潞 de registron潞 de registron潞 de registroRegistrosPCALU Estructura b谩sica de un procesador

飦 Metodolog铆a de sincronizaci贸n

鈭 Las unidades funcionales se clasifican en dos tipos:

combinacionales y secuenciales

鈭 La metodolog铆a de sincronizaci贸n define cu谩ndo pueden leerse y

escribirse la diferentes se帽ales

鈭 Asumimos sincronizaci贸n por flancos

Estado 1Estado 2Ciclo de relojL贸gica combinatoria El ciclo de instrucci贸n

飦 El procesamiento que requiere una instrucci贸n se denomina

ciclo de instrucci贸n.

飦 Ciclo b谩sico de instrucci贸n:

INICIO

Captura de
instrucci贸n

Ciclo de captaci贸n

Ejecuci贸n de
la instrucci贸n

Ciclo de ejecuci贸n

FIN

El ciclo de instrucci贸n

飦 Para el subconjunto de instrucciones MIPS, los dos primeros pasos son

id茅nticos:
鈭 Usar el contenido del PC para cargar, desde la memoria que contiene el

c贸digo, la siguiente instrucci贸n

鈭 Leer uno o dos registros, utilizando para ello los campos de la instrucci贸n

espec铆ficos para seleccionarlos

0x40000000 000000010100101101001000001000000x40000004 100101010010101000000000000000000x40000008 000100010100101111111111111110110x4000000C 000000001000010000010001000010100x40000004 PC00000001010010110100100000100000 IR0x40000000 00000001010010110100100000100000 0x40000008 000100010100101111111111111110110x4000000C 000000001000010000010001000010100x40000004100101010010101000000000000000000x40000004 PC1001010100101010000000000000000 IR0x40000000 000000010100101101001000001000000x40000004 100101010010101000000000000000000x40000008 000100010100101111111111111110110x4000000C 000000001000010000010001000010100x40000008 PC1001010100101010000000000000000 IRMemoria Procesador Dise帽o de un camino de datos sencillo

飦 Procesador monociclo:

鈭 Comenzaremos por los elementos b谩sicos y sus

funciones asociadas

鈭 Veremos los elementos necesarios para

implementarlos

鈭 Veremos un conjunto de instrucciones b谩sico

鈭 Veremos como implementar estas instrucciones

Dise帽o de un camino de datos sencillo

飦 Contador de programa:

鈭 Cada instrucci贸n est谩 en una direcci贸n de memoria dada

鈭 Almacenamos la direcci贸n en el registro PC

鈭 Tras procesar una instrucci贸n avanzamos el contador hasta la

siguiente instrucci贸n

Memoria deinstruccionesInstrucci贸nDirecci贸nPCSumador4 Dise帽o de un camino de datos sencillo

飦 Operaciones tipo R:

鈭 Involucran tres registros: dos de lectura y uno de

escritura

鈭 Usan la ALU para realizar las operaciones

Instrucci贸nEscribirRegReg. delectura 1Dato a escribirDatole铆do 1Datole铆do 2Reg. delectura 2Reg. deescrituraREGISTROS3Operaci贸n de la ALUCeroResultadode la ALUALU Dise帽o de un camino de datos sencillo

飦 Acceso a memoria:

鈭 Instrucciones lw y sw

鈭 La direcci贸n se indica con un registro m谩s un

desplazamiento de 16 bits con signo

鈭 El desplazamiento se extiende a 32 bits

lw $t0, 8($s0)

100011

10000

01000

0000000000001000

sw $t0, 32($s0)

101011

10000

01000

0000000000100000

Dise帽o de un camino de datos sencillo

Memoria de DatosDirecci贸nDato aescribirDatole铆doInstrucci贸n16323Operaci贸n de la ALUEscribirRegLeerMemEscribirMemReg. delectura 1Dato a escribirDatole铆do 1Datole铆do 2Reg. delectura 2Reg. deescrituraREGISTROSCeroResultadode la ALUALUExtensi贸nde signo Dise帽o de un camino de datos sencillo

飦 Saltos condicionales:

鈭 Eval煤an si dos registros contienen 贸 no el mismo

valor

鈭 Si la condici贸n 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 s贸lo
palabras completas

鈭 El PC ya se ha actualizado a PC + 4

Dise帽o de un camino de datos sencillo

Instrucci贸n1632EscribirRegReg. delectura 1Dato a escribirDatole铆do 1Datole铆do 2Reg. delectura 2Reg. deescrituraREGISTROS3Operaci贸n de la ALUCeroALUExtensi贸nde signoDesp.2 bits ala izq.ResultadoSumadorPC +4 del camino de datos de instruccionesDestino saltoDecidir si se hace el salto Dise帽o de un camino de datos sencillo

飦 Todo junto:

鈭 Para construir el camino de datos hemos de

combinar los elementos explicados anteriormente

鈭 Intentaremos reutilizar parte del hardware

鈭 El hardware compartido selecciona los datos

mediante multiplexores

鈭 Parte del hardware no se podr谩 reutilizar y habr谩 que

replicarlo

Dise帽o de un camino de datos sencillo

Aritm茅tica + Acceso a Memoria

Instrucci贸n1632EscribirRegFuenteALUMem2regReg. delectura 1Dato a escribirDatole铆do 1Datole铆do 2Reg. delectura 2Reg. deescrituraREGISTROSMemoria de DatosDirecci贸nDato aescribirDatole铆do3Operaci贸n de la ALULeerMemEscribirMemCeroResultadode la ALUALUExtensi贸nde signoMuxMux Dise帽o de un camino de datos sencillo

Incorporamos gesti贸n de PC

1632EscribirRegFuenteALUMem2regReg. delectura 1Dato a escribirDatole铆do 1Datole铆do 2Reg. delectura 2Reg. deescrituraREGISTROSMemoria de DatosDirecci贸nDato aescribirDatole铆do3Operaci贸n de la ALULeerMemEscribirMemCeroResultadode la ALUALUExtensi贸nde signoMuxMuxMemoria deinstruccionesInstrucci贸nDirecci贸nde lecturaPCSumador4 Dise帽o de un camino de datos sencillo
A帽adimos saltos condicionales

1632EscribirRegFuenteALUMem2regOrigen del PCReg. delectura 1Dato a escribirDatole铆do 1Datole铆do 2Reg. delectura 2Reg. deescrituraREGISTROSMemoria de DatosDirecci贸nDato aescribirDatole铆do3Operaci贸n de la ALULeerMemEscribirMemCeroResultadode la ALUALUExtensi贸nde signoMuxMuxMuxMemoria deinstruccionesInstrucci贸nDirecci贸nde lecturaPCSumador4Desp.2 bits ala izq.ResultadoSumador Inconvenientes de la implementaci贸n
monociclo

飦 El ciclo de reloj est谩 definido por la instrucci贸n

m谩s lenta

飦 No es posible reutilizar ninguna unidad funcional

飦 Estos inconvenientes se ver铆an agravados en

una arquitectura m谩s compleja que la
arquitectura MIPS

Evaluaci贸n del rendimiento

鈭 Sup贸ngase los tiempos de ejecuci贸n de las unidades

funcionales siguientes:
飦 Acceso a memoria: 2ns

飦 ALU y sumadores: 2ns

飦 Acceso a registros: 1ns

鈭 驴C煤al de las siguientes realizaciones ser谩 m谩s r谩pida?

飦 Una realizaci贸n en la que cada instrucci贸n se ejecuta en un ciclo

de tama帽o fijo (cada instrucci贸n tarda lo que tardar铆a la m谩s
lenta).

飦 Una realizaci贸n donde cada instrucci贸n se ejecuta en un ciclo de

longitud variable (cada instrucci贸n tarda 煤nicamente lo
necesario)

C谩lculo del ciclo de reloj

2 ns2 ns

2 ns2 ns

2 ns2 ns

1 ns1 ns

2 ns2 ns

2 ns2 ns

Reg. delectura 1Dato a escribirDatole铆do 1Datole铆do 2Reg. delectura 2Reg. deescrituraREGISTROSCeroResultadode la ALUALUExtensi贸nde signoControlMuxMuxMemoria deinstruccionesInstrucci贸nDirecci贸nde lecturaPCSumador4Desp.2 bits ala izq.Desp.2 bits ala izq.Inst. [25-21]Inst. [20-16]Inst. [15-11]Inst. [31-26]Inst. [25-0]2628Direcci贸n de jump. [31-0]PC + 4 [31-28]1632Controlde laALUResultadoSumadorInst. [15-0]Inst. [5-0]Memoria de DatosDirecci贸nDato aescribirDatole铆doMuxMuxMuxEscribirRegSaltoIncondRegDestFuente ALUSalt CondALUopMem2regLeerMemEscribirMem C谩lculo del ciclo de reloj

Tipo de
instrucci贸n

Aritm茅tica

lw

sw

Cargar
instrucci贸n

Lectura de
registros

Cargar
instrucci贸n

Lectura de
registros

Cargar
instrucci贸n

Lectura de
registros

Unidades funcionales utilizadas por cada tipo de instrucci贸n

ns

Escritura de
registros

Lectura
memoria

Escritura de
registros

Escritura en
memoria

ALU

ALU

ALU

ALU

6

8

7
  • Links de descarga
http://lwp-l.com/pdf4909

Comentarios de: Tema 4 El procesador: camino de datos y unidad de control (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoraci贸n
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar im谩genes, archivos y/o videos.

Puedes registrarte o validarte desde aqu铆.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
gui帽o
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad