Prof. José Edinson Aedo CoboDepartamento de Ing.
ElectrónicaUniversidad de Antioquia
Adaptado a partir de presentaciones del Prof. D. Patterson’s Copyright 1998, 2000 UCB
Introducción a la arquitectura de Computadores
Lo que se cubrirá en el curso...
Se espera una compresión profunda del funcionamiento interno de los computadores modernos, su evolución y los compromisos que existen (“trade-offs”) en la frontera entre el hardware y o software.Estudio de las operaciones que el hardware suministra al software (instrucciones en assembly), discusión de cuáles operaciones son rápidas o lentas y porque son fáciles o dificiles de ser implementadas en hardware.
La tendencia actual al bajo consumo de potencia.
Adquirir conocimiento en el proceso de diseño, en el contexto de un diseño grande y complejo de hardware.Especificación funcional flujo de Datos y Control Implementación Física.
• Adquirir un visión de la Arquitectura de Computadores desde el punto de vista del desarrollador de software
• Con lo que escribe el programa el programador, como este programa es traducido al lenguaje de máquina y como la máquina interpreta el lenguaje de máquina.
• Conocer las principales tendencias en la evolución de los computadores desde el punto de vista de su arquitectura.
Continuación....
Este término ha evolucionado desde el momento que utilizó por primera vez (1964):
“Es la estructura del computador que un programador en lenguaje de máquina debe conocer para escribir un programa correcto1”
1Amdahl, G.; Blaaw, G.; Brooks F. “Arquitecture of the IBM System/360”, IBM Journal of Research and development, 8(2), pp. 87-101, april 1964.
Qué es la Arquitectura de un Computador?
Arquitectura de un Computador = Arquitectura del Conjunto de
Instrucciones (ISA) + Organización de la Máquina (OM)
Qué es la Arquitectura de un Computador?
•ISA : definición de lo que la máquina hace. Visión lógica
•OM : cómo la máquina implementa el ISA. • La Implementación física
En este curso estudiaremos las dos !
Coordinación de los diversos niveles de abstracción:Esconde detalles de la implementaciónFacilita mantener la complejidad de sistemas reales bajo control
Sistema I/O Conj. Instr Proc.
Compilador
SistemaOperacional
Aplicación
Diseño DigitalDiseño del circuito
Conjunto de Instrucciones
flujo de Dados & Control
Layout
Hardware
Software
Qué es la Arquitectura de un Computador?
Niveles de Abstracción:
Arquitectura deComputadores
Tecnología Lenguajes deprogramación
Sistemas Operacionales
Historia
Aplicaciones
Fuerzas que influencian la Arquitecturade Computadores
Elementos de un Computador Moderno
Software Aplic.
S.O.
Arquitectura
deHardware
Evaluación de DesempeñoEvaluación del consumo dePotencia....
Problemas computacionales
Algoritmos eEstructuras de Dados
Linguajes de alto nível
Compilador
Mapeamiento
Programación
Visión general
Control
Datapath
Memoria
Procesador“CPU”flujo de Dados+Unidad deControl
Entrada
Salida
Desde 1946 todos los computadores están formados por 5 componentes:
Estructuras de interconexión (buses)
Unidad de Control
ULA
Reg
istra
do
res
Bus de Direcciones
Bus de Datos
Bus de Control
Arquitectura de Von Neumann
Memoria
Procesador
Arquitectura de Von Neumann
El procesador contiene:
a) Unidad de Control
b) Unidad Lógica Aritmética (ALU)
c) Tres registradores básicos (puede tener muchos mas):
Registrador de Instrucción
Registrador de direcciones o Contador de Programa (PC)
Acumulador.
Ciclo de Instrucción
La ejecución de una Instrucción puede ser dividida en cinco partes:
• Ciclo de lectura
• Ciclo de decodificación
• Ciclo de cálculo de direcciones (de los operandos)
• Ciclo de Ejecución.
• Ciclo de escritura.
Ejemplo de una Organización (década del 90)
TI SuperSPARCtm TMS390Z50 in Sun SPARCstation20
Floating-point Unit
Integer Unit
InstCache
RefMMU
DataCache
StoreBuffer
Bus Interface
SuperSPARC
L2$
CC
MBus Module
MBus
L64852 MBus controlM-S Adapter
SBus
DRAM Controller
SBusDMA
SCSIEthernet
STDIO
serialkbdmouseaudioRTC
FloppySBusCards
Ley de Moore• En Abril de 1965, 6 años después de la invención del circuito integrado, Gordon Moore, co-fundador de Intel 3 años más tarde, realizó una predicción conocida luego como la ley de Moore: la cantidad de transistores en un circuito integrado se multiplicará
• En ese momento, el equipo de Moore trabajaba en el diseño de undispositivo con … 60 transistores
• Para compensar la complejidad creciente de los circuitos, Moore cambió en 1975 la duración del ciclo, pasándolo a 2 años
• Desde el final de los años 80, la duración del ciclo es de 18 meses.• Y, además, la ley se aplica igualmente a los otros parámetros de latecnología, especialmente a la velocidad y a las prestaciones
El pensamiento de Gordon Moore (Ejecutivo Emérito de Intel)
Tecnologia=> produce Cambios dramáticos
La Ley de Moore Procesador
capacidad lógica: 2x más transistores cada 18 meses (Lei de Moore)
velocidad do reloj (clock) : aumenta cerca del 20% por año
Memoria DRAM (capacidad): aumenta cerca del 60% por
año (4x cada 3 años) velocidad: mejora cerca del 10% por año Costo por bit: mejora cerca del 25% por año
Disco capacidad: cerca de 60% por año
Procesador Transistores8088 (1979) 29.000
286 (1982) 134.000
386 (1985) 275.000
486 (1989) 1.200.000
Pentium (1993) 3.100.000
Pentium MMX (1997) 4.300.000
Pentium II (1998) 9.500.000
Pentium III (Coopermine) 21.000.000
Athlon (Thunderbird) 35.000.000
Pentium 4 42.000.000
Número de Transistores en los Microprocesadores
Processador/Ano Tam. TransistorIntel 4004 (1971) 15 mícrons
8088 (1979) 3 mícrons
486 1 mícron
Pentium 60 MHz 0.80 mícron
Pentium 100 MHz 0.60 mícron
Pentium 166 MHz 0.40 mícron
Pentium MMX 0.35 mícron
Pentium III 350 MHz 0.25 mícron
Celeron 366 (soquete) 0.22 mícron
Pentium III Coppermine 0.18 mícron
Athlon Thunderbird 0.18 mícron
Pentium 4 Northwood 0.13 mícron
Athlon Throughred 0.13 mícron
Até 2005 (segundo Intel) 0.07 mícron
Até 2010 (segundo a Intel) 0.03 mícron ?
2015 0.02 mícron ?
2025 Processadores Quânticos?
1 Mícron = 10-3 mm
1 Mícron = 10-6 metro
El Tamaño del Transistor en los Procesadores
•El edificio del centro de invet. y desarrollo cuesta 400 millones de dólares
•Los equipos en este centro cuestan alrededor de 1 billón de dólares
•Esta inversión produce una fábrica de 5000 wafers/semana (tecnología de 1/4 de mícron)
•Para la próxima generación de circuitos integrados, la inversión mínimo deberá ser de 2 o 3 billones de dólares para lograr un volumen razonable de producción.
•Ninguna otra industria tiene un tiempo de vida tan corto para una inversión tan grande!!!
El pensamiento de Gordon Moore (Ejecutivo Emérito de Intel)
Gordon Moore
Gran parte de ese dinero se gasta antes que se pruebe que va a existir demanda suficiente para los procesadores que serán fabricados
Todos los 4 billones se gastarán en una apuesta de que la industria va a absorber un número enorme de CPUs rarísimas !!!
Talvez estas CPUs no sean tan rápidas que las existentes actuales...
Que sucederá con el Pentium IV se todos creen que el Pentium III es rápido y suficiente???
“Mi mayor pesadilla es despertar algún dia y que no se requiera de mayor poder computacional”.
Sistemas Embebidos
Desempeño - tendencias
Microprocesadores
Minicomputadores
Mainframes
Supercomputadores
1995
ano
19901970 1975 1980 1985
Lo
g d
el d
ese
mp
eñ
o
Procesador (Performance SPEC)
0
50
100
150
200
250
300
350
1982 1984 1986 1988 1990 1992 1994
año
Perf
orm
ance
RISC
Intel x86
35%/yr
RISCintroduction
Desempeño ahora aumenta 50% por year (2x every 1.5 years)
Contenido del Curso
Temas generales• Introducción al diseño de microproprocesadores. Aspectos históricos.• Medidas de desempeño en una arquitectura.• Principios cuantitativos en el diseño de computadores.• Diseño a nivel de conjunto de instrucciones. • Organización de la Microarquitectura.• Estructuras de los compiladores modernos y su influencia en el desempeño.• Arquitecturas con "pipelining". Arquitecturas RISC. Ejemplo de dos microarquitecturas: MIPS y IJVM (Integer Java virtual machine).
Contenido del Curso
• Paralelismo a nivel de instrucción. Arquitecturas superscalares y VLIW.• Gerarquía de memorias, memorias Cache (arquitecturas básicas), memorias virtuales, memoria principal. Los efectos en el desempeño.• Elementos de I/O.• Introducción al los computadores paralelos y a su programación.
• Dentro del curso se analizarán algunas arquitecturas modernas tales como: The Trimedia TM32 CPU, MIPS Architecture, ARM, Intel IA-64 Architecture, Itanium Processor, The Emotion Engine of the Sony Playstation2.
Evaluación
• Se realizarán 2 evaluaciones cada uno con un valor del 20 %
• Un trabajo final con un valor del 30%.
• Prácticas de simulación. Valor 20 %
• Exposición de un tema asignado Valor 10 %
Bibliografía
• “Computer Architecture and Computer Organization and Design”, John L. Hennessy and David A. Paterson. Morgan Kaufmann Publisher, 2005.• “Computer Architecture: a Quantitative Approach”, John L. Hennessy and David A. Paterson. Morgan Kaufmann Publisher, Third Edition, 2003.• “Arquitectura de Computadores”, Julio Ortega Lopera, Mancia Anguita López ya Alberto Prieto Espinosa, Ed. Thomson, 2005. •Organización de Computadoras, un Enfoque Estructurado, Andrew S. Tanenbaum, Edi. Person Education 2000.• Diversos artículos de las revistas tales como IEEE computer, IEEE solid state circuits, IEEE Micro.
Fabricación de CIs Chips son realizado usando una tecnología
principalmente a usando materiales semiconductores. Principalmente silicio.
Un circuito complejo ( VLSI,ULSI) es formado por millones de combinaciones de elementos lógicos combinacionales y secuencias construido con transistores.
Los procesadores modernos se basan en tecnología CMOS
que son transistores con substrato de silicio.
Proceso de fabrición de chips
Corte en
obleas
20 a 30 pasos de
procesamento
De las obleaWafers limpias
Separador
Corte de los chips
Test de dados
Teste final dos chips
Entrega a los
consumidores
Encapsula-
miento
Wafers “Impresas con el CI”
dados Individuales
dados probados
chips encapsulado
chips probados
Lingote de silício
Caso real: fabricación del Pentium Wafer con 8 pulgadas de diametro:
196 procesadores Pentium o 76 procesadores Pentium Pro; Costo de la wafer es aproximadamente el mismo,
independente do que se procese en ella. Cuanto mayor el área del procesador, mayor es la
probabilidad de utilizar una área co defecto en la wafer Costo aumenta mucho rapidamente con incrementos del
área del procesador.
Pentium: Área = 91 mm2; ± 3.3 milloness de transistores.
Pentium Pró: Área = 306 mm2; ± 5.5 milloes de transistores (1 millones en la cache
interna) y 3.1 millones en la cache externa
Aspectos económicos de los circuitos integrados
Costos asociados con un IC:
1. Costos fijos asociados con el producto.
2. Costos variables asociados con la producción.
Costos fijos: Contribuyen a los costos fijos:
• Costos de entrenamiento ( se considera el salario de los Ing. En
en el entrenamiento y el tiempo que toma).
• Costos de hardware y Software: CAD y Workstations.
Aspectos económicos de los CIs
Costos fijos: Contribuyen a los costos fijos:
• Costos de diseño (toma en cuenta la productividad del equipo).
• Costos del diseño del programa de pruebas (design for test).
• NRE (nonrecurring-engineering charge)
- Mascaras.
- Simulación, verificación.
- Implementación del programa de pruebas (production testing).
• Costos asociados con “Design pass” adicionales.
• Costos de prototipos (MPC)
Aspectos económicos de los CIs
Costos fijos: Contribuyen a los costos fijos:
• Costos asociados con una segunda fuente (otro proveedor de
tecnología)
Importancia del momento de la introducción del producto al
Mercado ?
Aspectos económicos de los CIs
Importancia del momento de la introducción del producto al
mercado (un modelo simple)
Aspectos económicos de los CIs
Costos variables: Dependen de la producción
• Costos por circuito (depende del volumen de ventas)
- Costos del dado, dependen de:
Costos de la Wafer.
Tamaño del dado.
Yield del proceso.
Pruebas de las partes.
Aspectos económicos de los CIs
Costos variables: Dependen de la producción
• Consideraciones a tener en cuenta
- La ley de Moore (Gordon Moore de Intel)
El número de transistores sobre un chip se dobla cada
18 meses.
Aspectos económicos de los CIs
Costos variables: Dependen de la producción
• Conceptos relacionados con la producción
- Densidad de defectos: es una medida de la calidad del
proceso de fabricación.
Un defecto en un dado significa
que dado no sirve.
- Yield del proceso, es fracción de dados sobre un Wafer
que son buenas. Un Yield alto es necesario para
obtener ganancias.
Aspectos económicos de los CIs
Costos variables: Dependen de la producción
• Cálculo de los costos variables de un CI. Costo del CI:
CD costo del dado
CTD costo del testing del dado.
CE Costo del empaquetamiento (y test final)
YTF yield del test final.
( ) D TD ET
TF
C C CC CI
Y
Aspectos económicos de los CIs
Costos variables: Dependen de la producción
• Cálculo del costo del dado.
CD costo del dado
CWAF costo de la oblea (wafer)
DW dados por oblea
DY yield del dado
WAFD
CC
DW x DY
Aspectos económicos de los CIs
Costos variables: Dependen de la producción
• Cálculo de los dados por oblea
DW dados por oblea
DW diámetro de la oblea (wafer)
AD Area del dado.
2( / 2)
2W W
D D
D DDW
A A
Aspectos económicos de los CIs
Costos variables: Dependen de la producción
• Cálculo del yield del dado.
YW Yield de la oblea (100 %)
DA Defectos por unidad de Area
AD Area del dado
es un factor inversamente proporcional al número de máscaras.
procesos actuales =0.4
(1 )DA AD
DY YW
Aspectos económicos de los CIs
Costos variables: Dependen de la producción
• Cálculo del testing del dado.
CTD Costo de testing del dado.
CTH Costo del testing por hora (depende del equipo usado).
TTD Tiempo promedio del test para un dado.
DY Yield del dado.
TH TDTD
C TC
DY
Breve Historia de los Computadores
Fuente:“Von Neumann: suas contribuições à Computação”, de Tomasz Kowaltowski, revista de Estudos Avançados da USP, No 26, volume 10, janeiro/abril de 1996;
sitio: Histoire de l´Informatique (www.histoire-informatique.org).
° Aprox. 100 d.C: Heron de Alejandría describe dos ideas. Unión de ruedas dentadas para realizar una operación y utilización de cilindros rotatorios con pines y cuerdas para controlar secuencias de acciones de otros mecanismos.
° 1624-1694: máquinas calculadoras de Wilhelm Schickard (Alemanha), Blaise Pascal (França) e Gottfried Leibnitz (Alemanha).
° 1790-1801: control de telares por medio de cartones perforados, de Joseph Marie Jacquard (Francia)
Recuento histórico breve…
Recuento histórico breve…
° 1822-1853: diseño e y desarrollo de la máquina de diferencias de Charles Babbage (Gran Bretaña) que nunca fue terminada. Máquina de diferencias más simple de Pehr Georg Scheutz e Edvard Scheutz (Suecia).
° 1833-1910: Diseño y desarrollo de la máquina analítica de Charles Babbage, con control por cartones perforados, incluyendo las ideas de control condicional y iteracciones (no terminada). Continuación de la construcción de la máquina por Henry Babbage, con resultados parciales.
Recuento histórico breve…
°1890-1896.- máquina tabuladora de Herman Hollerith usada para procesamiento de los resultados del censo norte-americano, registrados em cartones perforados. Fundación por Hollerith de la Tabulating Machine Company, predecesora de IBM (creada en 1924).
°1934-1941: trabajos de Konrad Zuse (Alemania) culminando con una máquina electromecánica con control primitivo por cinta de papel; siguieron varios modelos mejorados.
°1935-1942: trabajos de John V. Atanasoff, lowa State Colleqe (EUA) en la construcción de una máquina electrónica con lectura y perforación de tarjetas para resolución de sistemas de hasta 30 ecuaciones lineales (no terminada).
Recuento histórico breve…
°1937-1944: trabajo de Howard Aiken y su equipo, desarrollando por la Universidad de Harvard y IBM (EUA), resultando en MARK 1, un computador eletromecánico, con control por cinta de papel, aún bastante primitivo y de operación compleja; la IBM continuo el desarrollo con otros modelos.
°1937 1944: trabajos de George Stibitz y sus colaboradores, de l, Bell Telephone Laboratories (EUA) en el área de cálculos balísticas; resultando en una máquina controlada por cinta de papel- continuaron con otros modelos más avanzados con énfasis en cálculos y autoverificación.
° 1941-1945: trabajo de Alan Turing y sus colaboradores (Gran- Bretaña) para el desarrollo de máquinas que se conocían como Colossus, delicadas al criptoanálisis. Debido al carácter sigiloso del trabajo, el desarrollo se torno conocido solamente en la década del 70.
Recuento histórico breve…
°1942-1945. Diseño y desarrollo de la ENIAC por J. Presper Eckert e John W. Mauchly de la Universidad da Pensilvania (EUA): primer computador de propósito general completamente electrónico.
Recuento histórico breve…
°1944-1951: Diseño y desarrollo de la EDVAC, primer computador con programa almacenado en memoria, Fue un resultado principalmente de la colaboración de John Von Neumann, J. Presper Eckert y John Machly. El EDVAC fue utilizado hasta diciembre de 1962.
Recuento histórico breve…
°1946-1952: Diseño y construcción del computador del Instituto de Estudios Avanzados (IAS) de Princeton por John von Neumann y sus colaboradores.
°1947-1949: Diseño y construcción del EDSAC por Maurice Wilkes de la Universidad de Cambridge (Gran Bretaña), primer computador con programa almacenado en la memoria en entrar en funcionamiento.
°1950 en adelante: construcción de varios sucesores basados el diseño IAS, en universidades y en la industria: JOHNIAC, ORDVAC, ILLIAC, MANIAC, máquinas de Manchester y otras.
Recuento histórico breve…
°1951 – Construcción de UNIVAC I, por Eckert y Mauchly. Primer computador comercial de suceso (48 sistemas construídos)
Recuento histórico breve…
°1964 – IBM System/360: idea de la abstración de la arquitectura se torna una realidad comercial (família de computadores): 6 computadores y 44 periféricos con capacidad bastante distintas, pero todos compatíbles entre si.
°1965 - DEC lanza el PDP-8, primer mini-computador comercial
Recuento histórico breve…
°1971 – Intel 4004: primer microprocesador del mundo: 2300 transistores y 60.000 operaciones por segundo; capacidad de procesamiento semejante a la ENIAC
Recuento histórico breve…
°1975 – Altair 8800: primer microcomputador del mundo (para los americanos; para los franceses este seria el Micral-N, de 1973, hecho por un francés). Primer BASIC de Microsoft hecho para esta máquina.
°1977 – Apple II (S. Jobs e S. Wozniak): primer computador con gran suceso de vendas para el público en general.
Recuento histórico breve…
Algunos procesadores actuales:
°Intel Pentium 4/2200: Clock de 2.2 GHz, 55 millones de transistores, 146mm2 de área.
°AMD Athlon XP 2000+: Clock de 1.66 GHz, 37.5 millones de transistores, 128 mm2 de área.
Recuento histórico breve…
IBM Power 5
Generacione de Computadores en 50 años
Generación
Período
Tecnologia y arquitectura Software y sistema operacional
Ejemplos
Primera (1946 – 1956)
Válvulas y relés, CPU de 1 bit con conjunto de instrucciones basadas en acumulador
Lennguajem de máquina/assembly, programas sin subrutinas
ENIAC, IBM 701, Princeton IAS
Segunda (1956-1967)
Transistores discretos, core memory, acelerador de punto flotante, canales de E/S
Algol y Fortran con compiladores, SO con procesamiento en batch
IBM 7030, CDC 1604, Univac LARC
Tercera (1967 – 1978)
Circuito integrado, CPU con pipeline, unidad de control microprogramada
C, multiprogramación, SO timesharing
PDP-11 IBM 360/370, CDC 6600
Cuarta (1978 – 1989)
Microprocesadores VLSI, memória en estado sólido, multiprocesadores, supercomputadores vectoriales
Compiladores, Lenguajes, SO, Ambientes para procesamiento paralelo. Multiprocesamiento simétrico, bibliotecas
IBM PC VAX 9000, CRAY X/MP BBN TC2000
Quinta (1990 – presente)
Circuitos ULSI, computadores paralelos escalables, clusters de estaciones de trabajo, intranet, Internet
Java,, microkernels, mutithreading, SO distribuidos., WWW
IBM SP2, SGI Origin 2000, Digital Tru Cluster, Fujitsu VPP500, Cray/MPP, Intel Paragon
Recuento histórico breve…
Rupturas en relación al paradigma de Von Neumann:
1. Arquitectura de flujo de dados: MIT, final de los años 60. Conceptualmente muy elegante, se mostró poco, eficiente en la práctica, se limitó a proyectos académicos.
2. Computación basada en DNA: Adleman, 1994/1995. Mostró que podría ser posible resolver problemas combinatorios a través de moléculas de DNA. No está claro si es posible construir computadores de propósito general.
3. Computación Quántica: Utiliza el principio de la superposición (un sistema puede estar en mas de un estado simultáneamente). Resultados teóricos importantes: factoración de enteros en tiempo polinomial (Shor, 94). Tecnología actual: 7 qubits
Top Related