Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
31/01/2012
1
Universidad Autónoma de San Luis Potosí
Facultad de Ciencias Departamento de Electrónica
Arquitectura de Computadoras Primavera 2012
Unidad 1
Tecnología y Abstracción Computacional
1
Organización y conceptos básicos del Software
Organización y conceptos básicos del Hardware
Circuitos Integrados
Unidad 1
2
• El lenguaje de maquina esta constituido por los símbolos que la computadora puede entender
• Estos símbolos están restringidos a
– Encendido (1)
– Apagado (0)
• Por lo tanto, el lenguaje de maquina esta representado por código binario
• Cada digito es referido como digito binario o bit.
Introducción
3
• Los comandos individuales que le damos a la computadora son llamados instrucciones.
• Las instrucciones son colecciones de bits que la computadora entiende, por ejemplo: – 100010011100 comando para sumar 2 números
• Los números binarios son usados para representar instrucciones y datos
Bajo tu Programa
4
• El lenguaje ensamblador fue usado para facilitar a los programadores la escritura de las instrucciones
• Los lenguajes de alto nivel son mas cercanos al lenguaje humano. Es mas fácil para el programador expresar sus ideas en este tipo de lenguajes
Bajo tu programa
5
Bajo tu programa
Lenguajes de Alto Nivel
C, C++, Java
Swap(int v[], int k) { int temp; temp = v[k]; v[k] = v[k+1]; v[K+1] = temp; }
Compilador
Swap: muli $2, $5, 4 add $2, $4, $2 lw $15, 0($2) lw $16, 4($2) sw $16, 0($2) sw $15, 4($2) jr $31
Lenguajes Ensamblador
0000100101000 1000100101111 1001111010000 1010101010101 1000000100011 1000000001111
Lenguajes de
maquina
6
31/01/2012
2
• Facilidad de programación – Permiten que el programador piense en un lenguaje
mas natural usando palabras en ingles y ecuaciones algebraicas resultando en un programa mucho mas entendible
• Mejora la productividad del programador – En menos líneas se puede expresar una idea
• Portabilidad – Los programas son independientes de la
computadora donde fueron desarrollados.
Ventajas de los lenguajes de Alto nivel
7
• Varias rutinas son usadas continuamente tales como:
– Crear un archivo
– Leer un archivo
– Escribir un archivo
– Escribir en la pantalla
– Leer del teclado
• Las librerías son un conjunto de programas que contienen rutinas comúnmente usadas.
8
Librerías
Capas de Software
• El sistema operativo es un grupo de programas que administran los recursos del sistema computacional.
• El software se clasifica en base a su uso en dos grupos:
– Software de Sistema
– Software de Aplicación
Hardware
Software de Sistema
Software de Aplicación
9
Software
Software de Aplicación
Word
Excell
Firefox
Software de Sistema
Compiladores
Visual C++
gcc
Visual java
Sistemas Operativos
Manejo de Memoria
Sistema de Archivos
Manejadores de dispositivos
Ensambladores
As
….
Clasificación del Software
10
• Progreso en la tecnología computacional – Ley de Moore
• Hace que las aplicaciones novedosas sean posibles – Computadoras en automóviles
– Teléfonos celulares
– Proyecto genoma humano
– World Wide Web
– Métodos de búsqueda (Search Engines), google, yahoo, dr. ask, etc.
• Las computadoras son dominantes.
11
Revolución Computacional
• Computadoras de Escritorio (Desktop Computer) – Propósito general / Variedad de Software
– Sujetas a un compromiso entre el costo y el desempeño
• Servidores (Server computers) – Basadas en red
– Alta capacidad, desempeño y confiabilidad
• Computadoras Embebidas (Embedded computers) – Ocultas como componentes del sistema
– Fuertes restricciones en cuanto a la potencia, desempeño y costo
12
Tipo de Computadoras
31/01/2012
3
13
Mercado de Procesadores Bajo la Cubierta
• Los componentes principales del hardware de una computadora son:
– Dispositivos de entrada
– Dispositivos de salida
– Memoria
– Procesador
14
Entrada/Salida
• Dispositivos de entrada y salida incluyen
– Dispositivos de interfaz al usuario • Pantalla, teclado, mouse
– Dispositivos de almacenamiento • Discos duros, CD/DVD, flash
– Adaptadores de red • Para comunicación con
otras computadoras
15
Output device
Input device
Input device
Network cable
• Los dispositivos de entrada alimentan a la computadora con datos.
Dispositivos de Entrada
Teclado
Dispositivos Apuntadores
Entrada de Voz
Cámaras Digitales
Video
Scanner 16
• Los dispositivos de salida son aquellos que nos muestran los datos después de que han sido procesados.
Dispositivos de Salida
Monitores
Impresoras
Bocinas
Fax
Proyectores 17
• Mouse Óptico
– LED ilumina el escritorio
– Pequeña cámara de baja resolución
– Procesador de imágenes básico • Busca movimientos en x, y
– Botones y wheel
• Toma el lugar de los mouse mecánicos con rueda-giratoria (roller-ball)
Anatomia de un Mouse
18
31/01/2012
4
Through the Looking Glass
• LCD screen: picture elements (pixels)
– Mirrors content of frame buffer memory
19
Abriendo la Caja
20
Abriendo la caja
• La tarjeta principal (Mainboard) esta compuesta por:
– Conexión a los dispositivos de I/O
– Memoria
– Procesador
• La memoria mantiene tanto datos como instrucciones
21
Memoria
Primaria
Read-Only Memory (ROM)
Borrable
EPROM
EEPROM
Flash
Permanente
Masked ROM
PROM
Read/Write Memory
Estática
Dinámica
Secundaria
Acceso Aleatorio Discos
Floppy
Duro
CD-ROM Acceso Serial Cintas Magneticas
Memoria
22
• Memoria de Lectura y Escritura comúnmente conocida como RAM (Random Access Memory)
• La memoria RAM es volátil, lo que significa que cuando la alimentación se apaga, pierde toda la información
• Existen dos tipos de memoria RAM – Memoria Estática
– Memoria Dinámica
Memoria Primaria
23
Mem
ori
a Es
táti
ca (
SRA
M) • Almacena los bits como voltaje
• Tiene una baja densidad pero alta velocidad
• Es una memoria cara y consume mayor potencia que la dinámica
• La memoria Cache incluida en los microprocesadores es SRAM
Mem
ori
a D
inám
ica
(DR
AM
) • Almacena bits como carga
• Tiene una alta densidad y bajo consumo de potencia
• Es mas barata que la memoria SRAM
• Su principal desventaja es que la carga se fuga, por lo cual se requiere refrescarla. Por lo cual requiere circuitería extra, aumentando el costo del sistema.
• Para memorias pequeñas de menos de 8K es mas apropiada SRAM.
Random Acess Memory
24
31/01/2012
5
• ROM es una memoria no volátil, es decir, retiene la información aun si la alimentación es apagada.
• Esta memoria es usada para almacenar datos y programas que no deben ser alterados
• Existen 5 tipos de ROM – Masked ROM
– PROM, EPROM EEPROM
– Flash memory
Read-Only Memory
25
Dentro del Procesador (CPU)
• Datapath: – desempeña las operaciones en los
datos
• Control: – indica al datapath la secuencia
de operaciones a realizar, indica a la memoria y dispositivos de entrada y salida que hacer de acuerdo a las instrucciones del programa
• Memoria Cache – Memoria pequeña y rápida (SRAM)
para acceso de datos inmediatos
26
Inside the Processor
• AMD Barcelona: 4 processor cores
27
Abstracción
28
Abstracción
• Abstracción nos ayuda a lidiar con la complejidad – Oculta los detalles de bajo-nivel
• Arquitectura del Conjunto de Instruccions (Instruction set architecture (ISA)) – La interfaz hardware/software
• Interfaz de aplicación binaria – la interfaz ISA mas software de sistema
• Implementación – Detalles debajo de la interfaz
29
Abstracción
• Hardware y software ocultan detalles de implementación en las capas altas
• Esto significa que ambos son diseñados usando diferentes niveles de abstracción.
Aplicaciones
Sistema Operativo
Lenguaje Ensamblador
Lenguaje de Maquina
Unidades Funcionales
Compuertas
Transistores
Materiales
Soft
war
e
Har
dw
are
30
31/01/2012
6
• La arquitectura del conjunto de instrucciones de una computadora es la interfaz entre el nivel de abstracción mas bajo del software y el nivel mas alto del hardware
Arquitectura de Computadoras
Instr. Set Proc.
Aplicación
Diseño Digital
Diseño de Circuitos
Arquitectura del Conjunto de Instrucciones
Datapath & Control
Layout
Operativo Sistema
Compilador
Sistema E/S
Firmware
31
• Arquitectura Computacional comprende tres aspectos:
– Conjunto de Instrucciones
– Organización de la Computadora
– Hardware de la Computadora
• Los últimos dos aspectos se refieren a la implementación física de la computadora
32
Arquitectura Computacional
• El conjunto de instrucciones es la interfaz visible entre el hardware y la programación
• Las dos principales aproximaciones al conjunto de instrucciones son:
– CISC (Complex Instruction Set Computer)
– RISC (Reduced Instruction Set Computer)
33
Conjunto de Instrucciones Fuerzas en Arquitectura Computacional
34
Arquitectura de
Computadora
Tecnología de fabricación Lenguajes de
Programación
Sistemas Operativos
Historia
Aplicaciones
Tecnología: Circuitos Integrados
35
Año Tecnología Desempeño Relativo / Unidad
de Costo
1951 Bulbos 1
1965 Transistores 35
1975 Circuitos Integrados 900
1995 Circuitos Integrados de Muy Alta Escala (VLSI) 2,400,000
2005 Circuitos Integrados de Ultra Alta Escala (ULSI) 6,200,000,000
DRAM capacity
• La tecnología electrónica continua evolucionando: Incrementa el
desempeño Incrementa capacidad Disminuye costo
• Un transistor es un interruptor (On/Off) controlado por voltaje o corriente
• Un circuito integrado combina docenas a cientos de transistores en un chip
• Circuito VLSI integra cientos a millones de transistores
• Circuito ULSI integra millones a cientos de millones de transistores
Tecnología usada en las computadoras
36
31/01/2012
7
Proceso de Manufactura de Circuitos Integrados
37
Rédito: proporción de dados funcionales de cada oblea
AMD Opteron X2 Wafer
• X2: 300mm wafer, 117 chips, 90nm technology
• X4: 45nm technology 38
Integrated Circuit Cost
• Relación no-lineal entre el área y la razón de defectos – Costo de oblea y el área son cantidades fijas
– La razón de defectos es determinada por el proceso de manufactura
– Área del dado es determinada por el diseño de la arquitectura y el diseño de circuitos
2Dado/2)) del Areaarea por (Defectos(1
1Yield
Dado del AreaOblea la de Areaoblea por Dados
Yieldoblea por Dados
oblea por Costodado por Costo
39
• La Ley de Moore establece que la capacidad de integración se dobla cada 18 meses
Ley de Moore
40
DRAM capacity
Tecnología
41
• Ley de Moore: – Densidad del Chip (transistores) se dobla cada 18 meses
• Procesador – Capacidad Lógica: alrededor de 30% por año
– Velocidad del Reloj: alrededor de 20% por año
• Memoria – Capacidad DRAM: alrededor de 60% por año (4x cada 3 años)
– Velocidad de Memoria: alrededor de 10% por año
– Costo por bit: mejora cerca de 25% por año
• Disco – Capacidad: alrededor de 60% por año
42
Cambios Dramáticos
31/01/2012
8
43
Desempeño del Procesador
Year
Pe
rfo
rma
nce
0
50
100
150
200
250
300
19
82
19
83
19
84
19
85
19
86
19
87
19
88
19
89
19
90
19
91
19
92
19
93
19
94
19
95
RISC
Intel x86
35%/yr
Desempeño mejora 50% por año – Alrededor de 2X cada 1.5 años
Introducción de RISC
Tipos de Computación
44
Arquitecturas
45
Perspectiva Histórica
• ENIAC (Electronic Numerical Integrator Calculator) fue la primera computadora diseñada 1946 por Eckert y Mauchly.
• La programación se realizaba manualmente por medio de conexión manual de cables e interrupciones.
46
• En 1944, John Von Neumann se unió al proyecto ENIAC.
• Von Neumann discutió la forma de mejorar la programación y por primera vez almacenar el programa.
• La computadora basada en estas ideas fue llamada EDVAC (Electronic Discrete Variable Automatic Computer)
47
Perspectiva Histórica
• Las características de esta arquitectura, conocida como Arquitectura Von Neumann son: – Una memoria principal que almacena tanto datos
como instrucciones
– Una Unidad Lógica y Aritmética (ALU) capaz de operar datos binarios
– Una unidad de control que interpreta y provoca la ejecución de instrucciones
– Dispositivos de Entrada y Salida operados por la unidad de control
48
Perspectiva histórica
31/01/2012
9
• En un proyecto alterno Howard Aiken en la Universidad de Harvard desarrollo una computadora electromecánica llamada MARK-I
• Mark-I fue precedida por Mark-II realizada con relevadores. Después realizó Mark-III y Mark IV realizadas con bulbos.
• Estas maquinas tenían la característica de tener memorias separadas para datos e instrucciones.
• La arquitectura Harvard es conocida como aquella que tiene memoria separada para datos y programa
49
Perspectiva Histórica Neumann vs Harvard
NEUMANN
• Una sola memoria principal para instrucciones y datos
• Un solo bus de datos que transfiere tanto datos como instrucciones
• Las instrucciones y datos no pueden ser procesadas al mismo tiempo
• La velocidad de procesamiento es mucho mayor que la velocidad de acceso a una sola memoria
• El procesador tiene una complejidad baja
HARVARD
• Memoria separada para instrucciones y datos
• Dos o mas buses, lo cual permite la transferencia simultanea de datos y programa
• La arquitectura es mas rápida porque permite el acceso simultaneo a instrucciones y datos
• La complejidad del sistema aumenta debido a la inclusión de rutas separadas para datos e instrucciones
50
• Los principales componentes de un sistema computacional son:
51
Resumen de la Unidad 1
Procesador Dispositivos de Entrada
Computadora
Control
Datapath
Memoria
Dispositivos de Salida Memoria
Cache
• El diseño de una computadora se realiza usando diferentes niveles de abstracción
• La arquitectura de una computadora es la interfaz entre el nivel mas bajo de abstracción del software y el nivel mas alto de abstracción del hardware.
• Arquitectura Computacional comprende tres aspectos: – Conjunto de Instrucciones
– Organización de la Computadora
– Hardware de la Computadora
52
Resumen
• La arquitectura se puede clasificar en
– Neumann
• Una sola memoria principal para instrucciones y datos
– Harvard
• Dos memoria separadas, una para datos y la otra para instrucciones permitiendo el acceso simultaneo.
• El conjunto de instrucciones se clasifica en:
– CISC (Complex Instruction Set Computer)
– RISC (Reduced Instruction Set Computer)
53
Resumen