ac2003 b 01

35
Dr. Wladimir Rodríguez Departamento de Computación [email protected] http://sistemas.ing.ula.ve/~wladimir/AC.html Arquitectura de Computadoras Clase #1 Introducción

Upload: c09271

Post on 26-Jul-2015

465 views

Category:

Documents


0 download

TRANSCRIPT

Dr. Wladimir RodríguezDepartamento de Computación

[email protected]://sistemas.ing.ula.ve/~wladimir/AC.html

Arquitectura de Computadoras

Clase #1Introducción

2Dr. Wladimir Rodríguez Arquitectura de Computadoras

• Conocer y comprender la arquitectura y organización básica de un computador.

• Conocer y comprender las implicaciones del juego de instrucciones en el diseño de la ruta de datos y la unidad de control.

• Conocer y comprender distintas técnicas de aceleración de la unidad aritmética.

• Conocer y comprender los mecanismos de diseño de una unidad de control, contrastando los mecanismos de control cableado con los de control microprogramado.

Objetivos

3Dr. Wladimir Rodríguez Arquitectura de Computadoras

• Analizar y estudiar la jerarquía de memoria presente en cualquier computador.

• Conocer y comprender el funcionamiento de la memoria asociativa, entrelazada, cache y virtual.

• Estudiar el sistema de entrada/salida de un computador.

• Analizar y estudiar la evolución de los sistemas de buses.

Objetivos

4Dr. Wladimir Rodríguez Arquitectura de Computadoras

1. Introducción a la Arquitectura de Computadoras

2. Estructura del Conjunto de Instrucciones

3. Introducción a la Lógica Digital

4. Aritmética para computadoras

5. Técnicas de Implementación de la Unidad Central de Procesamiento

6. Sistema de Memoria

7. Sistema de Entrada/Salida

Temario

5Dr. Wladimir Rodríguez Arquitectura de Computadoras

• Clases:

• Jueves: 8 am a 10 am (1O12)

• Viernes: 8 am a 10 am (1O12)

• Consultas:

• Jueves: 10 am a 12 m

• Viernes: 10 am a 12 m

• En el Postgrado en Computación, Tercer Piso, Ala Sur

Horario

6Dr. Wladimir Rodríguez Arquitectura de Computadoras

• Tres exámenes parciales:

• Primer parcial: Temas 1 y 2

• Segundo parcial: Temas 3, 4 y 5

• Tercer parcial: Tema 6 y 7

Evaluación

7Dr. Wladimir Rodríguez Arquitectura de Computadoras

• D.A. Patterson, J.L. Hennessy : Organización y diseño de computadores. Interfaz hardware/software. MacGraw-Hill, 1995.

• Stallings, W: Organización y Arquitectura de Computadores. Diseño para optimizar prestaciones. 5 ed. Prentice-Hall, 2000.

• Hamacher; Vranesic; Zaky: Organización de Computadoras 3ed. McGraw-Hill, 1996.

• Tanenbaum: Organización de Computadoras. Un Enfoque Estructurado. 4ed. Prentice-Hall, 2000.

Bibliografía

8Dr. Wladimir Rodríguez Arquitectura de Computadoras

• COMPUTADOR (RAE 1992):

• "Máquina electrónica dotada de una memoria de gran capacidad y de métodos de tratamiento de la información, capaz de resolver problemas aritméticos y lógicos gracias a la utilización automática de programas registrados en ella."

Definición

9Dr. Wladimir Rodríguez Arquitectura de Computadoras

• Pascal, Babbage, Von Neumann, Wilkes

• Siempre nos olvidamos de Henry Ford

Computadora como Fabrica

Materia Prima

Datos, Programa

Productos

Datos, Programas

Modelo de Ejecución

Proceso

10Dr. Wladimir Rodríguez Arquitectura de Computadoras

• Arquitectura (RAE 1992)

• "Arte de proyectar y construir edificios"

• Dos aspectos:

• Ver el edificio desde cómo se ha construido: arquitectura de estilo gótico

• Ver el edificio desde el uso: arquitectura funcional, polivalente

Arquitectura de Computadoras

11Dr. Wladimir Rodríguez Arquitectura de Computadoras

• Arquitectura de computadoras

• La computadora vista desde el programador

• ¿Qué instrucciones y datos es capaz de procesar? ¿A qué velocidad?

• Organización de computadoras

• ¿Cómo está organizada por dentro para procesar esos datos según esas instrucciones?

• Esta materia: Arquitectura y Organización

Arquitectura de Computadoras

12Dr. Wladimir Rodríguez Arquitectura de Computadoras

Arquitectura de Computadoras

Arquitectura del Conjunto de Instrucciones

Compilador Firmware

Aplicación

SistemaOperativo

Conjunto de Instrucciones Sistema de E/S

Camino de datos & Control

Diseño Digital

Diseño de Circuitos

Transistores

Software

Hardware

Arquitectura de Computadoras

13Dr. Wladimir Rodríguez Arquitectura de Computadoras

Niveles de RepresentaciónPrograma en

Lenguaje de Alto

Nivel (C, java)

Programa en Lenguaje

Ensamblador (MIPS)

Programa en

Lenguaje de

Máquina (MIPS)

Compilador

Ensamblador

Descripción de la Arquitectura de

Hardware (Verilog)

Descripción de la

Circuitos Lógicos

(Verilog)

Interpretación de la Máquina

Implementación de la Arquitectura

temp = v[k];

v[k] = v[k+1];

v[k+1] = temp;

lw $t0, 0($2)

lw $t1, 4($2)

sw $t1, 0($2)

sw $t0, 4($2)

0000 1001 1100 0110 1010 1111 0101 1000

1010 1111 0101 1000 0000 1001 1100 0110

1100 0110 1010 1111 0101 1000 0000 1001

0101 1000 0000 1001 1100 0110 1010 1111

wire [31:0] dataBus;

regFile registers (databus);

ALU ALUBlock (inA, inB, databus);

wire w0;

XOR (w0, a, b);

AND (s, w0, a);

14Dr. Wladimir Rodríguez Arquitectura de Computadoras

Los Componentes de una Computadora

Memoria

(donde residen los programas y datos cuando en ejecución)

Entrada

Salida

Dispositivos

Control

Camino de Datos

Procesador

Computador

Teclado,

Ratón

Disco

(Donde

residen los

programas

y datos

cuando no

estan en

ejecución)

Pantalla,

Impresora

15Dr. Wladimir Rodríguez Arquitectura de Computadoras

Tecnología de las Computadoras

• Procesador

• 2X en velocidad cada 1,5 años (desde ‘85); 100X rendimiento en la última década.

• Memoria

• DRAM capacidad: 2x / 2 años (desde ‘96); 64x tamaño en la última década.

• Disco

• Capacidad: 2X / 1 año (desde ‘97)250X tamaño en la última década.

16Dr. Wladimir Rodríguez Arquitectura de Computadoras

Ley de Moore

• El número de transistores se doblara cada 18 meses (Gordon Moore, cofundador de Intel)

• El POWER5 de IBM tiene “256 millones” de transistores

17Dr. Wladimir Rodríguez Arquitectura de Computadoras

Lo que ve un Programador

Variables

Instrucciones

Sistema operativo

Compilador

Editor

Computador

CPU

Memoria

Datos

Direcciones

Escribir

programa en

el editor

Compilar

Ejecutar

Fuente

Objeto:

Instrucciones

Variables

Ver resultados

Introducir datosSolo entiende secuencias de 1's y 0's

- Datos

- Instrucciones

18Dr. Wladimir Rodríguez Arquitectura de Computadoras

Modelo de Programación con mas Detalle

19Dr. Wladimir Rodríguez Arquitectura de Computadoras

Lo que ve un Arquitecto de Computadores

Unidad de

Memoria

Unidad de

Salida

Unidad

Aritmético y

Lógica

(UAL)

Unidad de

Entrada

Unidad de

ControlCPU

Modelo de Von Neumann

20Dr. Wladimir Rodríguez Arquitectura de Computadoras

• Dos pasos:

• Búsqueda o captura de la instrucción

• Ejecución de la instrucción

Ciclo de Instrucción

InicioBuscar

Siguiente

Instrucción

Ejecutar

InstrucciónParar

Ciclo de Búsqueda Ciclo de Ejecución

21Dr. Wladimir Rodríguez Arquitectura de Computadoras

• El Contador de Programa (PC) contiene la dirección de la próxima instrucción a ejecutar.

• El procesador lee la instrucción de memoria.

• El PC se incrementa

• Salvo en las instrucciones de salto

• La instrucción se carga en el Registro de Instrucciones (RI)

• Se interpreta la instrucción y se generan las señales de control (decodificación de la instrucción)

Ciclo de Búsqueda

22Dr. Wladimir Rodríguez Arquitectura de Computadoras

• Diferentes operaciones.

• Transferencia de procesador a memoria.

• Transferencia de procesador a E/S.

• Procesado de datos

• La ULA (Unidad Lógico Aritmética) efectúa una operación sobre los datos.

• Instrucciones de control

• Alteran la secuencia del programa

• por ejemplo JUMP

• Combinación de las anteriores

Ciclo de Ejecución

23Dr. Wladimir Rodríguez Arquitectura de Computadoras

• CPU con un solo Acumulador (A), 16 bits

• Memoria de 16 bits por posición

• Suma (940) + (941) en (941)

• Lenguaje simbólico Binario

mov A, (940) 1940 (H)

add A, (941) 5941 (H)

mov (941), A 2941 (H)

• Formato de Instrucción

Programa Ejemplo

24Dr. Wladimir Rodríguez Arquitectura de Computadoras

• Modelo Von Neumann ampliado

• Bus:

• Conjunto de líneas común a varios bloques que permite la comunicación entre ellos.

Organización a Nivel de Bloques y Buses

UCP

(ULA, Registros

y Control)

Memoria Entrada/Salida

Bus de Datos

Bus de Direcciones

Bus de Control

Desde el CPU todo se como direcciones. El mapa de memoria es un vector donde el índice es la dirección

25Dr. Wladimir Rodríguez Arquitectura de Computadoras

• Mecanismo por el cual otros módulos (e.g. I/O) pueden alterar la secuencia normal de programa

• Ejemplos: En el propio programa

• División por cero

• Temporizadores:

• Con el rebose de un temporizador

• Base de los S.O. multitarea

• I/O

• Del controlador E/S (dato en memoria)

• Supervisión de Hardware

• Error de paridad (dato en memoria)

Interrupciones

26Dr. Wladimir Rodríguez Arquitectura de Computadoras

Interrupciones

UCP

(ULA, Registros

y Control)

Memoria Entrada/Salida

Bus de Datos

Bus de Direcciones

Bus de Control

Línea de Interrupción

27Dr. Wladimir Rodríguez Arquitectura de Computadoras

Ejemplo de Computador Personal

DisplayProcesador

Gráfico

Memoria

Gráfica

Memoria

Principal

Procesador

Controlador

de

Memoria

Cache

Controlador

de

E/S

D

i

s

c

o

s

U

S

B

B

I

O

S

L

A

N

A

u

d

i

o

PCI

28Dr. Wladimir Rodríguez Arquitectura de Computadoras

Arquitectura de Buses Tradicional

Bus del Sistema

Memoria Principal

CacheProcesador

Controlador de E/S local

Bus Local

Bus de Expansión

Disco

SCSI

Interfase bus de

expansiónModem

Serial

29Dr. Wladimir Rodríguez Arquitectura de Computadoras

Arquitectura de Buses de Altas Prestaciones

Bus del Alta Velocidad

Memoria Principal

Cache/Puente

Procesador

Bus Local

Bus de Expansión

FAX

Interfase bus de

expansiónModem

Serial

LANVideoFire Wire

Bus del Sistema

SCSI Gráficos

30Dr. Wladimir Rodríguez Arquitectura de Computadoras

Ejemplo Pentium IV

31Dr. Wladimir Rodríguez Arquitectura de Computadoras

Ejemplo PowerMacG4

32Dr. Wladimir Rodríguez Arquitectura de Computadoras

Ejemplo PowerMacG51. Frontside bus de 1GHz

2. Frontside bus de 1GHz

3. Bus gráfico AGP 8X Pro

4. Controlador de Sistema

5. Memoria doble canal de 400MHz

6. PCI-X de 133MHz

7. E/S de altas prestaciones

8. Almacenamiento ATA serial

33Dr. Wladimir Rodríguez Arquitectura de Computadoras

Ejemplo Sony Playstation 2

34Dr. Wladimir Rodríguez Arquitectura de Computadoras

• Centrado en la UCP

•••

••• Falta incorporar la Entrada y Salida

• Y el Sistema Operativo

Niveles de Estudio de un Computador

Nivel de Usuario: programas de aplicación

Lenguaje de alto nivel

Ensamblador / Código máquina

Microcódigo

Unidades funcionales: memoria, ULA, buses

Puertas lógicas

Transistores y conexiones

Arquitectura

Organización

35Dr. Wladimir Rodríguez Arquitectura de Computadoras

Conexión con el Sistema Operativo

Programas de usuario y aplicaciones

Disp. de Caracter

Disp. de Bloques

Disp. de RED

Window Manager

Teclado Discos REDSistema Gráfico

Control de dispositivos

Llamadas al sistema

Núcleo del SO

Control de Dispositivos