Documente Academic
Documente Profesional
Documente Cultură
Tecnologa Aplicaciones
Paralelismo
Lenguajes de Programacin
Diseo de las Interfaces (ISA)
Sistemas Operativos
Medidas& Evaluacin
Historia
Qu es un computador? (i)
Componentes:
entrada (mouse, teclado) salida (monitor, impresora) memoria (discos duros, DRAM, SRAM, CD) red
Qu es un computador? (ii)
Application
Operating System
Compiler
Instr. Set Proc.
Firmware
I/O system
Arquitectura, qu es?
Layout
Coordinacin de niveles de abstraccin Sometida a un conjunto de estmulos cambiantes Diseo, Medida, Evaluacin
Abstraccin
Programa en C swap(int v[], int k) {int temp; temp=v[k]; v[k]=v[k+1]; v[k+1]=temp; } Programa en Assembler swap: muli $t1, $a1,4 add $t1, $a0,$t1 lw $t0, 0($t1) lw $t2, 4($t1) sw $t2, 0($t1) Programa en Lenguaje de mquina 00000000101000010000000000011000 00000000100011100001100000100001 10001100011000100000000000000000 10001100111100100000000000000100 10101100111100100000000000000000 10101100011000100000000000000100 00000011111000000000000000001000
Compilador de C (MIPS)
Ensamblador (MIPS)
Set de Instrucciones
(Instruction Set Architecture ISA)
Una abstraccin importante
interfaz entre el hardware y el software de bajo nivel Estandariza instrucciones, lenguaje de mquina ventaja: es posible tener diferentes implementaciones de la misma arquitectura desventaja: puede impedir innovaciones
Visin funcional
Estructura: de qu manera los componentes se relacionan entre si? Funcionalidad: operacin individual de c/componente como parte de una estructura Funciones de un computador:
Procesamiento de datos Almacenamiento de datos Transferencia de datos Control
Operaciones (i)
Operaciones (ii)
Computer
Central Processing Unit
Main Memory
Computer
Systems Interconnection
Input Output
Communication lines
Estructura: la CPU
CPU
Computer
I/O
Registers
Control Unit
Sequencing Login
Control Unit Registers and Decoders
Control Memory
Historia:
Generaciones de Computadores
Tubos de vaco - 1946-1957 Transistores - 1958-1964 Small scale integration - 1965 en adelante
Hasta 100 transistores en un chip
Ley de Moore
Gordon Moore - cofundador de Intel:
La capacidad de integracin se duplica cada ao
Algunas consecuencias:
Costo x chip no ha cambiado -> costo de la lgica y memoria baja dramticamente Mayor densidad -> cables ms cortos, mayor performance de la interconexin Ms circuitos x chip -> menos interconexiones, mayor confiablilidad Menor tamao -> mayor flexibilidad (poder de cmputo de un celular?) Requerimientos de alimentacin y refrigeracin
Ley de Moore:
Transistores x CPU, familia Intel
Ley de Moore:
otra mirada
Bit-level parallelism 100,000,000 Instruction-level Thread-level (?)
10,000,000
R10000
1,000,000
Pentium
Transistors
i80386
100,000
i80286 R2000
R3000
i8086
10,000
1975
1980
1985
1990
1995
2000
2005
Aumentando la velocidad
Algunas tcnicas para mantener la CPU trabajando siempre:
Pipelining On board cache On board L1 & L2 cache Branch prediction Data flow analysis Ejecucin especulativa
Problemas de Performance
Incremento en velocidad del Procesador Incremento en capacidad de memoria Velocidad de acceso a la memoria crece mucho menos!
Uso de memoria
Soluciones
Incrementar la cantidad de bits accedidos cada vez
DRAM ms ancha
1974 - 8080
Primer procesador de propsito general de Intel Data path de 8 bits Usado en el primer personal computer: Altair
1982 - 80286
16 Mbyte de memoria direccionable (antes 1Mb)
1985 - 80386
32 bit Soporte para multitarea
1989 - 80486
sofisticado cach y pipelining de instrucciones coprocesador matemtico integrado
Pentium Pro
Mejora de la organizacin superescalar Renombrado agresivo de registros branch prediction data flow analysis Ejecucin especulativa
Pentium II
Tecnologa MMX Procesamiento de grficos, video & audio
Pentium 4
Ms mejoras de punto flotante y multimedia
Itanium
64 bit Arquitectura nueva!
Se dice
la arquitectura Intel est esposada por la necesidad de retrocompatibilidad es una arquitectura difcil de entender
Pero:
lo que le falta en estilo al 80x86 lo resuelve en cantidad!
Concepto de Programa
Sistemas cableados son inflexibles Hardware de propsito general puede hacer diferente tareas, excitado con las seales de control correctas En lugar de re-cablear, un nuevo conjunto de seales de control Qu es un programa?
Secuencia de pasos Por cada paso se completa una operacin aritmtica o lgica Para cada operacin se necesita un conjunto particular de seales de control
Componentes
La Unidad de Control y la Unidad Aritmtico-Lgica constituyen la Unidad Central de Proceso (CPU) Datos e instrucciones deben ingresar al sistema, y los resultados deben salir
Entrada/Salida
Ciclo de Instruccin
Dos pasos:
Fetch Execute
Ciclo de Instrucciones
Diagrama de Estados
Interrupciones
Mecanismo que permite a mdulos de E/S interrumpir la secuencia normal de procesamiento Programa (secuencial)
Ej. overflow, division by zero
Timer
Generado por el timer interno del procesador Usado in pre-emptive multi-tasking
E/S
Provocada por el controlador de E/S
Fallo de Hardware
Ej. memory parity error
Ciclo de Interrupciones
Se agrega al ciclo de instruccin Procesador chequea por la interrupcin
Indicado por una seal de interrupcin
Mltiples Interrupciones
Deshabilitar interrupciones
El procesador ignorar las interrupciones mientras se procesa otra interrupcin Las interrupciones quedan pendientes y son rechequeadas una vez que la primera interrupcin ha sido procesada Las interrupciones son manejadas en secuencia
Definir prioridades
Interrupciones de baja prioridad pueden ser interrumpidas por las de mayor prioridad Una vez que se ha procesado la interrupcin de mayor prioridad, se retorna a la interrupcin previa