Arquitectura de Computadoras Primavera 2009

Anuncio
31/01/2012
Universidad Autónoma de San Luis Potosí
Unidad 1
Facultad de Ciencias
Departamento de Electrónica
Organización y conceptos básicos del
Software
Arquitectura de Computadoras
Primavera 2012
Organización y conceptos básicos del
Hardware
Unidad 1
Tecnología y Abstracción
Computacional
Circuitos Integrados
1
2
Introducción
Bajo tu Programa
• Los comandos individuales que le damos a la
computadora son llamados instrucciones.
• El lenguaje de maquina esta constituido por los
símbolos que la computadora puede entender
• Estos símbolos están restringidos a
• Las instrucciones son colecciones de bits que la
computadora entiende, por ejemplo:
– Encendido (1)
– Apagado (0)
– 100010011100
• Por lo tanto, el lenguaje de maquina esta
representado por código binario
• Cada digito es referido como digito binario o bit.
comando para sumar 2 números
• Los números binarios son usados para
representar instrucciones y datos
3
4
Bajo tu programa
Bajo tu programa
• El lenguaje ensamblador fue usado para facilitar
a los programadores la escritura de las
instrucciones
Lenguajes de
Alto Nivel
C, C++, Java
• 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
Lenguajes
de
maquina
5
Swap(int v[], int k)
{
int temp;
temp = v[k];
v[k] = v[k+1];
v[K+1] = temp;
}
0000100101000
1000100101111
1001111010000
1010101010101
1000000100011
1000000001111
Compilador
Swap: muli $2, $5, 4
add $2, $4, $2
lw $15, 0($2)
Lenguajes
lw $16, 4($2)
Ensamblador
sw $16, 0($2)
sw $15, 4($2)
jr $31
6
1
31/01/2012
Ventajas de los lenguajes de Alto
nivel
Librerías
• Facilidad de programación
• Varias rutinas son usadas continuamente tales
como:
– Permiten que el programador piense en un lenguaje
mas natural usando palabras en ingles y ecuaciones
algebraicas resultando en un programa mucho mas
entendible
– Crear un archivo
– Leer un archivo
– Escribir un archivo
– Escribir en la pantalla
– Leer del teclado
• Mejora la productividad del programador
– En menos líneas se puede expresar una idea
• Portabilidad
• Las librerías son un conjunto de programas que
contienen rutinas comúnmente usadas.
– Los programas son independientes de la
computadora donde fueron desarrollados.
7
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:
8
Clasificación del Software
Software
Hardware
Software de
Aplicación
Software de
Sistema
Word
Software de
Sistema
Compiladores
Software de
Aplicación
– Software de Sistema
– Software de Aplicación
Sistemas
Operativos
Ensambladores
Excell
Visual C++
Manejo de
Memoria
As
Firefox
gcc
Sistema de
Archivos
….
Visual java
Manejadores
de dispositivos
9
Revolución Computacional
Tipo de Computadoras
• Progreso en la tecnología computacional
• Computadoras de Escritorio (Desktop Computer)
– Ley de Moore
– Propósito general / Variedad de Software
– Sujetas a un compromiso entre el costo y el desempeño
• Hace que las aplicaciones novedosas sean posibles
–
–
–
–
–
10
• Servidores (Server computers)
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.
– 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
• Las computadoras son dominantes.
11
12
2
31/01/2012
Bajo la Cubierta
Mercado de Procesadores
• Los componentes
principales del
hardware de una
computadora son:
– Dispositivos de
entrada
– Dispositivos de salida
– Memoria
– Procesador
14
13
Entrada/Salida
Dispositivos de Entrada
• Los dispositivos de entrada alimentan a la
computadora con datos.
• Dispositivos de entrada y
salida incluyen
– Dispositivos de interfaz al
usuario
– Dispositivos de
almacenamiento
Teclado
Network
cable
• Pantalla, teclado, mouse
Dispositivos Apuntadores
Output
device
Entrada de Voz
• Discos duros, CD/DVD, flash
– Adaptadores de red
• Para comunicación con
otras computadoras
Input
device
Cámaras Digitales
Input
device
Video
Scanner
15
Dispositivos de Salida
16
Anatomia de un Mouse
• Los dispositivos de salida son aquellos que nos
muestran los datos después de que han sido
procesados.
• Mouse Óptico
– LED ilumina el escritorio
– Pequeña cámara de baja resolución
– Procesador de imágenes básico
Monitores
• Busca movimientos en x, y
– Botones y wheel
Impresoras
• Toma el lugar de los mouse
mecánicos con rueda-giratoria
(roller-ball)
Bocinas
Fax
Proyectores
17
18
3
31/01/2012
Abriendo la Caja
Through the Looking Glass
• LCD screen: picture elements (pixels)
– Mirrors content of frame buffer memory
20
19
Abriendo la caja
EPROM
Memoria
Borrable
• La tarjeta principal
(Mainboard) esta
compuesta por:
EEPROM
Flash
Read-Only
Memory (ROM)
Masked ROM
Permanente
Primaria
– Conexión a los dispositivos
de I/O
– Memoria
– Procesador
PROM
Estática
Read/Write
Memory
Dinámica
Memoria
• La memoria mantiene
tanto datos como
instrucciones
Floppy
Acceso Aleatorio
Discos
Duro
Acceso Serial
Cintas Magneticas
CD-ROM
Secundaria
21
22
Memoria Primaria
Random Acess 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
23
• 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
Memoria Dinámica (DRAM)
Memoria Estática (SRAM)
• Memoria de Lectura y Escritura comúnmente
conocida como RAM (Random Access Memory)
• 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.
24
4
31/01/2012
Dentro del Procesador (CPU)
Read-Only Memory
• ROM es una memoria no volátil, es decir, retiene la
información aun si la alimentación es apagada.
• 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
• Esta memoria es usada para almacenar datos y
programas que no deben ser alterados
• Existen 5 tipos de ROM
• Memoria Cache
– Masked ROM
– PROM, EPROM EEPROM
– Flash memory
– Memoria pequeña y rápida (SRAM)
para acceso de datos inmediatos
26
25
Abstracción
Inside the Processor
• AMD Barcelona: 4 processor cores
28
27
Abstracción
• Hardware y software
ocultan detalles de
implementación en las
capas altas
• Abstracción nos ayuda a lidiar con la complejidad
– Oculta los detalles de bajo-nivel
• Arquitectura del Conjunto de Instruccions
(Instruction set architecture (ISA))
Aplicaciones
Software
Abstracción
Sistema Operativo
Lenguaje Ensamblador
Lenguaje de Maquina
– La interfaz hardware/software
Unidades Funcionales
• Esto significa que ambos
son diseñados usando
diferentes niveles de
abstracción.
– la interfaz ISA mas software de sistema
• Implementación
– Detalles debajo de la interfaz
29
Compuertas
Hardware
• Interfaz de aplicación binaria
Transistores
Materiales
30
5
31/01/2012
Arquitectura de Computadoras
Arquitectura Computacional
• Arquitectura Computacional comprende tres
aspectos:
• 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
– Conjunto de Instrucciones
– Organización de la Computadora
– Hardware de la Computadora
Aplicación
Sistema
Operativo
Compilador
Instr. Set Proc.
Firmware
Sistema E/S
Arquitectura del
Conjunto de
Instrucciones
• Los últimos dos aspectos se refieren a la
implementación física de la computadora
Datapath & Control
Diseño Digital
Diseño de Circuitos
Layout
31
32
Fuerzas en Arquitectura
Computacional
Conjunto de Instrucciones
• El conjunto de instrucciones es la interfaz visible
entre el hardware y la programación
Tecnología de
fabricación
Lenguajes de
Programación
Aplicaciones
• Las dos principales aproximaciones al conjunto
de instrucciones son:
Arquitectura de
Computadora
– CISC (Complex Instruction Set Computer)
– RISC (Reduced Instruction Set Computer)
Sistemas
Operativos
Historia
34
33
Tecnología usada en las
computadoras
Tecnología: Circuitos Integrados
DRAM capacity
• La tecnología electrónica
continua evolucionando:
 Incrementa el
desempeño
 Incrementa capacidad
 Disminuye costo
Año
Tecnología
Desempeño Relativo / Unidad
de Costo
1951
Bulbos
1965
Transistores
1
1975
Circuitos Integrados
1995
Circuitos Integrados de Muy Alta Escala (VLSI)
2,400,000
2005
Circuitos Integrados de Ultra Alta Escala (ULSI)
6,200,000,000
35
900
35
• 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
36
6
31/01/2012
Proceso de Manufactura de Circuitos
Integrados
Rédito: proporción de dados funcionales de cada oblea
AMD Opteron X2 Wafer
• X2: 300mm wafer, 117 chips, 90nm technology
• X4: 45nm technology
37
38
Integrated Circuit Cost
Ley de Moore
• La Ley de Moore establece que la capacidad de
integración se dobla cada 18 meses
Costo por oblea
Dados por oblea Yield
Dados por oblea  Area de la Oblea Area del Dado
1
Yield 
(1 (Defectos por area  Area del Dado/2))2
Costo por dado 
DRAM capacity
• 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
39
Tecnología
40
Cambios Dramáticos
• 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
41
42
7
31/01/2012
Tipos de Computación
Desempeño del Procesador
Desempeño mejora 50% por año – Alrededor de 2X cada 1.5 años
300
250
Performance
RISC
200
150
Introducción
de RISC
100
Intel x86
50
35%/yr
1995
1994
1993
1992
1991
1990
1989
1988
1987
1986
1985
1984
1983
1982
0
Y ear
44
43
Arquitecturas
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.
45
46
Perspectiva Histórica
Perspectiva histórica
• Las características de esta arquitectura, conocida
como Arquitectura Von Neumann son:
• En 1944, John Von Neumann se unió al proyecto
ENIAC.
– 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
• 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
48
8
31/01/2012
Neumann vs Harvard
Perspectiva Histórica
• 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
NEUMANN
HARVARD
• 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
• 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
49
Resumen de la Unidad 1
Resumen
• El diseño de una computadora se realiza usando diferentes
niveles de abstracción
• Los principales componentes de un sistema
computacional son:
• 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.
Computadora
Procesador
Control
Memoria
Dispositivos
de Entrada
Datapath
Memoria
Cache
• Arquitectura Computacional comprende tres aspectos:
Dispositivos
de Salida
– Conjunto de Instrucciones
– Organización de la Computadora
– Hardware de la Computadora
51
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
9
Descargar