Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porMaría Cristina Cristina Barbero Guzmán Modificado hace 8 años
1
[ Arquitectura de Computadores ] ORGANIZACIÓN FUNCIONAL Präsentat ion Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación IIC 2342 Semestre 2006-2 Domingo Mery D.Mery 1 Arquitectura de Computadores
2
Präsentat ion D.Mery 2 Arquitectura de Computadores [ Índice ] 6.1 Implementación de datapath simples 6.2 Unidad de control 6.3 Realización hardwired vs. microprogramada 6.4 Pipeling 6.5 Introducción a Instruction-level-paralelism
3
Präsentat ion D.Mery 3 Arquitectura de Computadores [ Índice ] 6.1 Implementación de datapath simples 6.2 Unidad de control 6.3 Realización hardwired vs. microprogramada 6.4 Pipeling 6.5 Introducción a Instruction-level-paralelism
4
Präsentat ion D.Mery 4 Arquitectura de Computadores [ Organización ] Datapath Diagrama esquemático de un computador. Processor
5
Präsentat ion D.Mery 5 Arquitectura de Computadores [ Organización ] Datapath Algunas aclaraciones: Procesador (CPU): es la parte activa del computador, realiza todo el trabajo de manipulación de datos y toma de decisiones. Datapath (circuito por donde circulan los datos): es el hardware que realiza todas las operaciones requeridas tales como ALU, registros y buses internos. Control: es el hardware que le dice al datapath lo que tiene que hacer en términos de switch, selección de operación y movimiento de datos.
6
Präsentat ion D.Mery 6 Arquitectura de Computadores [ Organización ] Datapath Algunas aclaraciones: RISC: reduced (or regular) instruction set computer es una forma de diseñar CPU que contiene un conjunto de instrucciones muy simple y que casi todas las instrucciones toman el mismo tiempo de ejecución. Muchos procesadores modernos son RISC (ejemplos: SPARC, MIPS y PowerPC). Sin embargo, los CPU más utilizados como los x86 son CISC. CISC: complex instruction set computer se basa en que cada instrucción puede corresponder a varias operaciones de bajo nivel, tales como leer de memoria, operación aritmética, escribir en la memoria… todo en una sola instrucción.
7
Präsentat ion D.Mery 7 Arquitectura de Computadores [ Organización ] Datapath Los ejemplos mostrados a continuación corresponden a una arquitectura MIPS (microprocessor without interlocked pipeline stages).
8
Präsentat ion D.Mery 8 Arquitectura de Computadores [ Organización ] Diagrama esquemático de un procesador Datapath
9
Präsentat ion D.Mery 9 Arquitectura de Computadores [ Organización ] Register file: Diagrama de bloques Datapath
10
Präsentat ion D.Mery 10 Arquitectura de Computadores [ Organización ] Register file: implementación de dos read ports Datapath
11
Präsentat ion D.Mery 11 Arquitectura de Computadores [ Organización ] Register file: Implementación de un write port Datapath
12
Präsentat ion D.Mery 12 Arquitectura de Computadores [ Organización ] Diagrama de un datapath MIPS Datapath
13
Präsentat ion D.Mery 13 Arquitectura de Computadores [ Organización ] Data Memory & Sign Extender Datapath
14
Präsentat ion D.Mery 14 Arquitectura de Computadores [ Organización ] Datapath de una instrucción de formato R (operaciones sólo con registros) Datapath
15
Präsentat ion D.Mery 15 Arquitectura de Computadores [ Organización ] Datapath de una instrucción Load/Store Datapath
16
Präsentat ion D.Mery 16 Arquitectura de Computadores [ Organización ] Datapath de una instrucción de Branch (sallto condicional) Datapath
17
Präsentat ion D.Mery 17 Arquitectura de Computadores [ Organización ] Instrucciones R-format + load/store Datapath
18
Präsentat ion D.Mery 18 Arquitectura de Computadores [ Organización ] Instrucciones R-format + load/store + branch Datapath
19
Präsentat ion D.Mery 19 Arquitectura de Computadores [ Organización ] Diagrama esquemático de arquitectura MIPS (microprocessor without interlocked pipeline stages) Datapath
20
Präsentat ion D.Mery 20 Arquitectura de Computadores [ Índice ] 6.1 Implementación de datapath simples 6.2 Unidad de control 6.3 Realización hardwired vs. microprogramada 6.4 Pipeling 6.5 Introducción a Instruction-level-paralelism
21
Para cada instrucción posee un único código de ejecución. Acepta instrucciones y genera las señales de control necesarias para que la instrucción se ejecute. [ Organización ] Unidad de Control Präsentat ion D.Mery 21 Arquitectura de Computadores
22
Tareas de la CPU: 1.Captar instrucción: la CPU lee una instrucción de la memoria. 2.Interpretar instrucción: la instrucción se decodifica para determinar qué acción es necesaria. 3.Captar datos: la ejecución de una instrucción puede exigir leer datos de la memoria o de un módulo I/O. 4.Procesar datos: en la ejecución se puede exigir llevar a cabo alguna operación aritmética o lógica con los datos. 5.Escribir datos: los resultados de la ejecución pueden exigir escribir datos en la memoria o en un módulo I/O. [ Organización ] Unidad de Control Präsentat ion D.Mery 22 Arquitectura de Computadores
23
PC MUX0 MEM IR Control Unit AC1AC2 ALU MUX1MUX2 CC 00 in out dir Präsentat ion D.Mery 23 Arquitectura de Computadores
24
PC MUX0 MEM IR Control Unit AC1AC2 ALU MUX1MUX2 CC 00 in out dir Präsentat ion D.Mery 24 Arquitectura de Computadores
25
PC MUX0 MEM IR Control Unit AC1AC2 ALU MUX1MUX2 CC 00 in out dir Add ac1,ac2 0 0 0 0 1 01 0 1 0: add 1: sub 00: Select 1 01: Select 2 10: Select 3 11: Select 4 0: --- 1: Load 0: Read 1: Write 0 01 Präsentat ion D.Mery 25 Arquitectura de Computadores
26
Präsentat ion D.Mery 26 Arquitectura de Computadores [ Índice ] 6.1 Implementación de datapath simples 6.2 Unidad de control 6.3 Realización hardwired vs. microprogramada 6.4 Pipeling 6.5 Introducción a Instruction-level-paralelism
27
Hardwired: El programa se encuentra implementado íntegramente en microcircuitos integrados a la placa. Micro-programada: El dispositivo posee una ROM con las instrucciones del programa a realizar. Präsentat ion D.Mery 27 Arquitectura de Computadores [ Organización ] Hardwire vs. programada
28
Ventajas HardwiredMicro-programada Muy rápida, es un flujo directoInterpretar instrucciones toma tiempo Redes muy complejas de implementar Programación estándar, escalable No puede modificarseEs posible hacer upgrade del programa Amarrado a la arquitecturaFlexible, varias implementaciones Präsentat ion D.Mery 28 Arquitectura de Computadores [ Organización ] Hardwire vs. programada
29
Hardwired: –Control Decode –Mouse (Standar) –ALU Micro-programada (Firmware): –Bios –Palm –Tarjetas de red inalámbrica –Periféricos Präsentat ion D.Mery 29 Arquitectura de Computadores [ Organización ] Hardwire vs. programada Ejemplos
30
Unidad de Control Präsentat ion D.Mery 30 Arquitectura de Computadores [ Organización ] Hardwire vs. programada
31
Präsentat ion D.Mery 31 Arquitectura de Computadores [ Índice ] 6.1 Implementación de datapath simples 6.2 Unidad de control 6.3 Realización hardwired vs. microprogramada 6.4 Pipeling 6.5 Introducción a Instruction-level-paralelism
32
Präsentat ion D.Mery 32 Arquitectura de Computadores [ Organización ] Pipelining Lavado de un auto Secuencial
33
Präsentat ion D.Mery 33 Arquitectura de Computadores [ Organización ] Pipelining Lavado de un auto Paralelo
34
Präsentat ion D.Mery 34 Arquitectura de Computadores [ Organización ] Pipelining Lavado de un auto Pipeline
35
Präsentat ion D.Mery 35 Arquitectura de Computadores [ Organización ] Pipelining Secuencial Paralelo (3 personas) Pipeline (3 estados) Duración de lavado Velocidad de de un auto (T) procesamiento (V) 15 min 4 autos/hora 5 min 12 autos/hora 15 min 12 autos/hora
36
Präsentat ion D.Mery 36 Arquitectura de Computadores [ Organización ] Pipelining Idea de la estrategia pipeline: –Divide un proceso en estados independientes. –Mueve los objetos a través de los estados en forma secuencial. –Múltiples objetos son procesados al mismo tiempo. SecuencialParalelo Pipeline
37
Präsentat ion D.Mery 37 Arquitectura de Computadores [ Organización ] Pipelining Ejemplo con un solo estado: Descripción: –El cómputo requiere 300 nanosegundos –Adicionalmente, otros 20 ns para escribir los resultados –El reloj debe tener al menos un ciclo de 320 ns Lógica combinacional RegReg 300 ns20 ns Clock T = 320 ns V = 3.125 MOPS* MOPS* = Millones de operaciones por segundo
38
Präsentat ion D.Mery 38 Arquitectura de Computadores [ Organización ] Pipelining Descripción del sistema: –Se divide en tres bloques de lógica combinacional de 100 ns c/u. –Se puede iniciar una nueva opearación apenas se haya completado el estado A. Esto quiere decir que cada 120 ns se puede iniciar una nueva operación. –La latencia se incrementa (en total se necesitan 360 ns desde el inicio hasta el final). RegReg Clock Comb. logic A RegReg Comb. logic B RegReg Comb. logic C 100 ns20 ns100 ns20 ns100 ns20 ns T = 360 ns V = 8.33 MOPS Ejemplo con tres estados:
39
Präsentat ion D.Mery 39 Arquitectura de Computadores [ Organización ] Pipelining Tiempo OP1 OP2 OP3 Tiempo ABC ABC ABC OP1 OP2 OP3 Diagramas: Sin Pipeline No puede comenzar una nueva operación hasta que la anterior no haya terminado. Con Pipeline En este ejemplo, hasta tres operaciones se pueden estar ejecutando de manera simultanea.
40
Präsentat ion D.Mery 40 Arquitectura de Computadores [ Organización ] Pipelining Tiempo OP1 OP2 OP3 ABC ABC ABC 0120240360480640 Clock RegReg Comb. logic A RegReg Comb. logic B RegReg Comb. logic C 100 ns20 ns100 ns20 ns100 ns20 ns 239 RegReg Clock Comb. logic A RegReg Comb. logic B RegReg Comb. logic C 100 ns20 ns100 ns20 ns100 ns20 ns 241 RegReg RegReg RegReg 100 ns20 ns100 ns20 ns100 ns20 ns Comb. logic A Comb. logic B Comb. logic C Clock 300 RegReg Clock Comb. logic A RegReg Comb. logic B RegReg Comb. logic C 100 ns20 ns100 ns20 ns100 ns20 ns 359
41
Präsentat ion D.Mery 41 Arquitectura de Computadores [ Organización ] Pipelining –El desempeño está limitado por el estado más lento. –Los otros estados permanecen ociosos mucho tiempo. –Es necesario balancear las tareas RegReg Clock RegReg Log B RegReg Log C 50 ns 20 ns150 ns20 ns100 ns20 ns T = 510 ns V = 5.88 MOPS Log A Tiempo OP1 OP2 OP3 ABCABCABC Ejemplo con tres estados de distinta duración:
42
Präsentat ion D.Mery 42 Arquitectura de Computadores [ Organización ] Pipelining –El uso de más estados conlleva a mayores retrasos por los registros, sin embargo aumenta la velocidad. –Porcentaje de ciclo de reloj utilizado en la carga de registros. 1 estado 6.25%T=320nsV= 3.12MOPS 3 estados 16.67%T=360nsV= 8.33MOPS 6 estados28.57%T=420nsV=14.29MOPS –Los procesadores hoy en día usan muchos estados para aumentar su velocidad. T = 420 ns, V = 14.29 MOPSClock RegReg Comb. logic 50 ns20 ns RegReg Comb. logic 50 ns20 ns RegReg Comb. logic 50 ns20 ns RegReg Comb. logic 50 ns20 ns RegReg Comb. logic 50 ns20 ns RegReg Comb. logic 50 ns20 ns Ejemplo con seis estados:
43
Präsentat ion D.Mery 43 Arquitectura de Computadores [ Organización ] Pipelining Clock Lógica Combinacional RegReg Tiempo OP1 OP2 OP3 Cada operación depende del resultado de la operación anterior. Dependencia de los datos:
44
Präsentat ion D.Mery 44 Arquitectura de Computadores [ Organización ] Pipelining Es necesario tener cuidado con los resultados de la operación i, ya que aún no están disponibles al inicio de la operación i+1. Dependencia de los datos: RegReg Clock Comb. logic A RegReg Comb. logic B RegReg Comb. logic C Tiempo OP1 OP2 OP3 ABC ABC ABC OP4 ABC
45
Präsentat ion D.Mery 45 Arquitectura de Computadores [ Organización ] Pipelining Dependencia de los datos en una CPU: 1.LOAD A,50 2.ADD A,B 3.STORE (B), 100 –El resultado de una operación depende del resultado anterior. –Secuencia muy común en los programas. –Se debe asegurar que el pipeline maneje esta secuencia de manera correcta.
46
Präsentat ion D.Mery 46 Arquitectura de Computadores [ Organización ] Pipelining Hardware secuencial: –Los estados ocurren en forma secuencial. –Las operaciones se ejecutan una por una.
47
Präsentat ion D.Mery 47 Arquitectura de Computadores [ Organización ] Pipelining Estrategia pipeline: –Los estados son: Fetch selecciona PC actual lee instrucción incrementa PC Decodificación lee registros de programa Ejecución ejecución de ALU Uso de memoria lee/escribe memoria Actualización de PC actualiza register file
48
D.Mery 48 Arquitectura de Computadores [ Organización ] Pipelining Estrategia pipeline: Präsentat ion –Se agregan registros en cada estado
49
Präsentat ion D.Mery 49 Arquitectura de Computadores [ Organización ] Pipelining Hardware pipeline: –Los valores de los resitros se pasan hacia arriba. –Es imposible retroceder.
50
Präsentat ion D.Mery 50 Arquitectura de Computadores [ Organización ] Pipelining Ejemplo 1 de ejecución: LOAD A,01h #I1 123456789 FDEM W LOAD C,02h #I2 FDEM W LOAD D,03h #I3 FDEMW LOAD B,04h #I4 FDEMW HALT #I5 FDEMW Ciclo 5 W I1 M I2 E I3 D I4 F I5
51
Präsentat ion D.Mery 51 Arquitectura de Computadores [ Organización ] Pipelining Ejemplo 2 de ejecución: Es necesario utilizar 3 NOP 123456789 FDEMWFDEMW FDEMWFDEMW FDEMWFDEMW FDEMWFDEMW FDEMWFDEMW FDEMWFDEMW 10 W R[ %eax ] 3 W R[ %A ] 3 D valA R[ %edx ]=10 valB R[ %eax ]=3 D valA R[ %D ]=10 valB R[ %D ]=3 Ciclo 6 11 FDEMWFDEMW Ciclo 7 LOAD D,010h #I1 LOAD A,03h #I2 NOP #I3 NOP #I4 NOP #I5 ADD A,D #I6 HALT #I7
52
D.Mery 52 Arquitectura de Computadores [ Organización ] Pipelining Ejemplo 3 de ejecución: Con sólo 2 NOP LOAD D,010h #I1 LOAD A,03h #I2 NOP #I3 NOP #I4 ADD A,D #I5 HALT #I6 Präsentat ion 123456789 FDEMWFDEMW FDEMWFDEMW FDEMWFDEMW FDEMWFDEMW FDEMWFDEMW FDEMWFDEMW 10 W R[ %eax ] 3 D valA R[ %edx ]=10 valB R[ %eax ]=0 W R[ %eax ] 3 W R[ %A ] 3 D valA R[ %edx ]=10 valB R[ %eax ]=0 D valA R[ %D ]=10 valB R[ %A ]=0 Ciclo 6 Error
53
Präsentat ion D.Mery 53 Arquitectura de Computadores [ Índice ] 6.1 Implementación de datapath simples 6.2 Unidad de control 6.3 Realización hardwired vs. microprogramada 6.4 Pipeling 6.5 Introducción a Instruction-level-paralelism
54
Präsentat ion D.Mery 54 Arquitectura de Computadores [ Organización ] ILP Instruction Level Parallelism (ILP): Es la habilidad para ejecutar múltiples instrucciones simultáneamente.
55
Präsentat ion D.Mery 55 Arquitectura de Computadores [ Organización ] ILP ILP también se refiere a una medición que indica el número de operaciones de un programa computacional que pueden ser ejecutadas al mismo tiempo. Ejemplo:1.E = A + B 2.F = C + D 3. G = E x F Las instrucciones 1 y 2 no dependen de las anteriores, entonces se pueden ejecutar simultáneamente. Sin embargo, la instrucción 3 sólo se puede ejecutar cuando 1 y 2 hayan finalizado. En este caso ILP = 3/2.
56
Präsentat ion D.Mery 56 Arquitectura de Computadores [ Organización ] Procesador multi-ciclo secuencial ILP
57
Präsentat ion D.Mery 57 Arquitectura de Computadores [ Organización ] Pipelining (la forma más sencilla de ILP): muchas instrucciones se pueden ejecutar al mismo tiempo. ILP
58
Präsentat ion D.Mery 58 Arquitectura de Computadores [ Organización ] Hay otras posibilidades de ILP? ILP
59
Präsentat ion D.Mery 59 Arquitectura de Computadores [ Organización ] Dynamic scheduling: Consiste en extender la idea del paralelismo. Ejemplo: 1.ADD A,B 2.ADD A,C 3.ADD D,E La instrucción 2 depende de la instrucción 1, pero 3 no depende de 1, entonces: ¿por qué no ejecutar 1 y 3 de manera simultánea? ILP
60
Präsentat ion D.Mery 60 Arquitectura de Computadores [ Organización ] Dynamic scheduling: Se relaja la regla fundamental de la programación, ahora: Las instrucciones pueden ser ejecutadas en desorden, siempre y cuando se obtenga el mismo resultado. ILP 1.ADD A,B 2.ADD A,C 3.ADD D,E 1.ADD A,B 2.ADD D,E 3.ADD A,C Simultaneo!
61
Präsentat ion D.Mery 61 Arquitectura de Computadores [ Organización ] Dynamic scheduling ILP
62
Präsentat ion D.Mery 62 Arquitectura de Computadores [ Organización ] ILP Hay otras posibilidades de ILP?
63
Präsentat ion D.Mery 63 Arquitectura de Computadores [ Organización ] ILP Ejecución superescalar: ¿Por qué no se ejecuta más de una instrucción a la vez?
64
Präsentat ion D.Mery 64 Arquitectura de Computadores [ Organización ] ILP Ejecución superescalar:
65
Präsentat ion D.Mery 65 Arquitectura de Computadores [ Organización ] Ejecución superescalar, la decisión del orden de ejecución la toma la CPU ILP
66
Präsentat ion D.Mery 66 Arquitectura de Computadores [ Organización ] ILP
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.