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
0
Puede agregar este documento a su colección de estudio (s)
Iniciar sesión Disponible sólo para usuarios autorizadosPuede agregar este documento a su lista guardada
Iniciar sesión Disponible sólo para usuarios autorizados(Para quejas, use otra forma )