0% encontró este documento útil (0 votos)
0 vistas15 páginas

Modulo 1.3 - Datapath

El documento aborda el diseño de microcontroladores y la arquitectura computacional, destacando la unidad de control y el datapath, que son esenciales para el procesamiento de datos. Se discuten técnicas de pipeline para mejorar el rendimiento, así como las limitaciones y tipos de hazards que pueden afectar la ejecución de instrucciones. Además, se analizan conceptos de latencia y throughput en relación con el rendimiento del sistema.

Cargado por

Luis Pimentel
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
0 vistas15 páginas

Modulo 1.3 - Datapath

El documento aborda el diseño de microcontroladores y la arquitectura computacional, destacando la unidad de control y el datapath, que son esenciales para el procesamiento de datos. Se discuten técnicas de pipeline para mejorar el rendimiento, así como las limitaciones y tipos de hazards que pueden afectar la ejecución de instrucciones. Además, se analizan conceptos de latencia y throughput en relación con el rendimiento del sistema.

Cargado por

Luis Pimentel
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

M.C.

Antonio Rivera Diseño usando microcontroladores y arquitectura computacional

Arquitectura

• Unidad de control
• Trayectoria de datos (Datapath)

• Datapath: Componentes del procesador que realizan operaciones aritméticas y


transferencia de datos.
• Se encarga del procesamiento de datos
• Unidad de control: Circuito que determina la secuencia de las operaciones a
realizar por el datapath, memorias, dispositivos I/O de acuerdo a las instrucciones
en memoria
• Máquina de estados
• Estructura de un Datapath
• Registros
• Unidades Aritméticas (ALU, FPU, etc)

Escuela de Ingeniería y Ciencias Campus Ciudad de México Departamento de computación


M.C. Antonio Rivera Diseño usando microcontroladores y arquitectura computacional

Desempeño

• Instruction count
• Tiempo de ciclo de reloj
• Ciclos de reloj por instrucción

Escuela de Ingeniería y Ciencias Campus Ciudad de México Departamento de computación


M.C. Antonio Rivera Diseño usando microcontroladores y arquitectura computacional

Datapath

Escuela de Ingeniería y Ciencias Campus Ciudad de México Departamento de computación


M.C. Antonio Rivera Diseño usando microcontroladores y arquitectura computacional

Un ciclo de reloj

Escuela de Ingeniería y Ciencias Campus Ciudad de México Departamento de computación


M.C. Antonio Rivera Diseño usando microcontroladores y arquitectura computacional

Datapath

Escuela de Ingeniería y Ciencias Campus Ciudad de México Departamento de computación


M.C. Antonio Rivera Diseño usando microcontroladores y arquitectura computacional

Pipeline

• Es una técnica donde múltiples instrucciones se ejecutan en


“paralelo”, logrando así un incremento del número de
instrucciones que se pueden ejecutar en una unidad de
tiempo (no reduce el tiempo en el que se ejecuta una
instrucción).

Escuela de Ingeniería y Ciencias Campus Ciudad de México Departamento de computación


M.C. Antonio Rivera Diseño usando microcontroladores y arquitectura computacional

Pipeline de 5 etapas

• IF à Instruction Fetch
• ID à Instruction Decode
• EX à Execute
• MEM à Memory access
• WB à Register write back

Throughput VS Latency

Escuela de Ingeniería y Ciencias Campus Ciudad de México Departamento de computación


M.C. Antonio Rivera Diseño usando microcontroladores y arquitectura computacional

Throughput VS Latency

Latency: 260ns
Throughput: 1 / 260ns

Latency: 300ns
Throughput: 5 / 300ns = 1 / 60ns

Escuela de Ingeniería y Ciencias Campus Ciudad de México Departamento de computación


M.C. Antonio Rivera Diseño usando microcontroladores y arquitectura computacional

Ejercicio – Diseñar un pipeline


IF -> 20ns
ID -> 35ns
Instrucción A EX -> 40ns
MEM-> 35ns
WB -> 20ns

IF -> 20ns
ID -> 35ns Latency:
Instrucción B EX -> 50ns (No pipeline)
MEM-> 35ns Throughput:
WB -> 20ns

IF -> 20ns Latency:


ID -> 35ns (Pipeline)
Instrucción C EX -> 35ns Throughput:
MEM-> 35ns
WB -> 20ns
Escuela de Ingeniería y Ciencias Campus Ciudad de México Departamento de computación
M.C. Antonio Rivera Diseño usando microcontroladores y arquitectura computacional

Ejercicio – Diseñar un pipeline


IF -> 20ns IF -> 40ns
ID -> 35ns ID -> 40ns
Instrucción A EX -> 40ns EX -> 40ns
MEM-> 35ns MEM-> 40ns
WB -> 20ns WB -> 40ns
Latency:
(No pipeline)
IF -> 20ns
Throughput:
ID -> 35ns
Instrucción B EX -> 50ns
MEM-> 35ns
WB -> 20ns Latency:
(Pipeline)
Throughput:
IF -> 20ns
ID -> 35ns
Instrucción C EX -> 35ns
MEM-> 35ns
WB -> 20ns
Escuela de Ingeniería y Ciencias Campus Ciudad de México Departamento de computación
M.C. Antonio Rivera Diseño usando microcontroladores y arquitectura computacional

Implementación de Pipeline

[Link]

Escuela de Ingeniería y Ciencias Campus Ciudad de México Departamento de computación


M.C. Antonio Rivera Diseño usando microcontroladores y arquitectura computacional

Pipeline

Escuela de Ingeniería y Ciencias Campus Ciudad de México Departamento de computación


M.C. Antonio Rivera Diseño usando microcontroladores y arquitectura computacional

Limitaciones

• Latencia: El tiempo de ejecución de una instrucción nunca decrece


• Desbalance de las etapas de pipeline: reduce el desempeño ya que el reloj no
puede ir más rápido que la etapa más lenta del pipeline
• Overhead: retraso por los registros de pipeline y clock skew

Hazards
Previene a la siguiente instrucción de ejecutarse durante su ciclo de reloj designado
Structural hazards: Se debe a conflictos con recursos de HW
Data Hazards: Cuando la instrucción depende del resultado de una instrucción previa
Control Hazards: Instrucciones que modifican el PC (como los saltos)
Solución
Detener la ejecución insertando burbujas (“bubbles”)
Escuela de Ingeniería y Ciencias Campus Ciudad de México Departamento de computación
M.C. Antonio Rivera Diseño usando microcontroladores y arquitectura computacional

Tipos - Data Hazards


Orden:
Instrucción I
• Read After Write (RAW) Instrucción J
• Instrucción J intenta leer operando antes de que I lo escriba
Ø J con valor incorrecto
• Write After Read (WAR)
• Instrucción J intenta escribir operando antes de que J lo lea
• Una instrucción intenta escribir en un registro antes de que los resultados de una
instrucción anterior que leyó ese registro estén disponibles.
• Write After Write (WAW)
• Cuando dos o más instrucciones intentan escribir en la misma ubicación de
memoria o registro de manera secuencial sin una instrucción de espera entre ellas.

Escuela de Ingeniería y Ciencias Campus Ciudad de México Departamento de computación


M.C. Antonio Rivera Diseño usando microcontroladores y arquitectura computacional

Clock Skew

Escuela de Ingeniería y Ciencias Campus Ciudad de México Departamento de computación

También podría gustarte