9
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

Arquitectura de Computadoras Primavera 2009galia.fc.uaslp.mx/~rmariela/arquitectura/unidad1.pdf · Tecnología de fabricación Lenguajes de Programación Sistemas Operativos Historia

  • 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