32
CLASE 9

CLASE 9. SE RECOMIENDA MIRAR LOS SIGUIENTES ENLACES

Embed Size (px)

Citation preview

Page 1: CLASE 9. SE RECOMIENDA MIRAR LOS SIGUIENTES ENLACES

CLASE 9

Page 3: CLASE 9. SE RECOMIENDA MIRAR LOS SIGUIENTES ENLACES

LA COMPUTADORA

¿Qué entendemos por computadora?• Tipos.• Usos.• Fabricantes.• Tecnologías.

Desempeño

• Algoritmo: instrucciones en código fuente.• Lenguaje/compilador/arquitectura: Determinan

las instrucciones de maquina.• Procesador/Memoria: Determina que tan rápido

se ejecutaran las instrucciones

Mucho por aprender!!!!!!

Page 4: CLASE 9. SE RECOMIENDA MIRAR LOS SIGUIENTES ENLACES

¿PERO QUE ES LA COMPUTADORA?Entradas

Memoria

Procesador Red

Salidas

Computer

Main Memory

InputOutput

SystemsInterconnection

Peripherals

Communicationlines

CentralProcessing Unit

Computer

Page 5: CLASE 9. SE RECOMIENDA MIRAR LOS SIGUIENTES ENLACES

¿PERO QUE ES LA COMPUTADORA?Componentes básicos:• Entrada• Salida• Memoria• Datapath• Control

Procesador

NIVEL DE ABSTRACCION

Page 6: CLASE 9. SE RECOMIENDA MIRAR LOS SIGUIENTES ENLACES

MODELO VON NEWMAN

Consiste básicamente de tres sistemas de Hardware:• Una unidad de procesamiento central (CPU) con una unidad de control,

una unidad aritmética lógica (ALU), registros y un contador de programa.• Una memoria principal del sistema: almacena el programa y los datos.• Un sistema Entradas/Salidas.

Page 7: CLASE 9. SE RECOMIENDA MIRAR LOS SIGUIENTES ENLACES

CARACTERISTICAS DEL MODELO VON NEWMAN• El programa es almacenado en la memoria.• Todas las palabras tienen el mismo tamaño.• Contiene un único camino entre la memoria del sistema y la unidad de

control, para los datos y las instrucciones.

ULA

Unidad de Control

Reg

istra

do

res

Memoria

ProcesadorCPU

Page 8: CLASE 9. SE RECOMIENDA MIRAR LOS SIGUIENTES ENLACES

CARACTERISTICAS DEL MODELO VON NEWMAN• Capacidad de ejecutar instrucciones secuenciales.• La ejecución de una Instrucción puede ser dividida en cinco partes:

Ciclo de lectura. Ciclo de decodificación. Ciclo de cálculo de direcciones (de los operandos). Ciclo de Ejecución. Ciclo de Escritura .

Page 9: CLASE 9. SE RECOMIENDA MIRAR LOS SIGUIENTES ENLACES

ARQUITECTURA VON NEWMAN MODIFICADA

ULA

PC = d 0

Reg

istra

do

res

0= Add r1, r1, r11= Add r2, r3, r4

X= Dato 1

Sistema I/O

Memoria

Data Bus

Address Bus

Control Bus

Syst

em B

us

Unidad de Control

Page 10: CLASE 9. SE RECOMIENDA MIRAR LOS SIGUIENTES ENLACES

PROBLEMAS DEL MODELO DE VON NEWMAN

Cuello de Botella de Von Neumman (Bottleneck):• Existe un solo camino para los datos y las instrucciones.• La velocidad del bus es más pequeña que la velocidad del procesador.

ULA

Unidad de Control

Reg

istra

do

res

Memoria

ProcesadorCPU

Page 11: CLASE 9. SE RECOMIENDA MIRAR LOS SIGUIENTES ENLACES

ARQUITECTURA HARVARD

• Arquitectura con almacenamiento y líneas de interconexión independientes para instrucciones y datos.

• Las instrucciones y los datos ocupan espacios de direcciones diferentes.• La CPU puede leer una instrucción y realizar un acceso a la memoria de

datos de manera simultánea

ULA

Unidad de Control

Reg

istra

do

res

Memoria de Datos

Data Bus

Address Bus

Control Bus

Data Bus

Address Bus

Control Bus

Memoria de Instrucciones

Page 12: CLASE 9. SE RECOMIENDA MIRAR LOS SIGUIENTES ENLACES

NIVELES DE ABSTRACCION

Abstracción:• Adentrarnos en los detalles

nos revela mas información.• Una abstracción omite los

detalles innecesarios ayudándonos a hacer frente a la complejidad.

Page 13: CLASE 9. SE RECOMIENDA MIRAR LOS SIGUIENTES ENLACES

NIVELES DE ABSTRACCION

Aplicación

Lenguaje de Alto Nivel

Sistema Operativo / Compilador

Arquitectura del conjunto de Instrucciones

Organización HW sistema

Circuito Digital

Nivel Físico

Page 14: CLASE 9. SE RECOMIENDA MIRAR LOS SIGUIENTES ENLACES

NIVELES DE ABSTRACCION

Aplicación• Procesadores de Texto, hojas de Cálculo, Navegadores, CAD, etc.

Lenguaje de Alto Nivel

Sistema Operativo / Compilador

Arquitectura del conjunto de Instrucciones

Organización HW sistema

Circuito Digital

Nivel Físico

Page 15: CLASE 9. SE RECOMIENDA MIRAR LOS SIGUIENTES ENLACES

NIVELES DE ABSTRACCION

Aplicación

Lenguaje de Alto Nivel• Fortran, Pascal, Basic, Cobol, C, C++, C#, Java

Sistema Operativo / Compilador

Arquitectura del conjunto de Instrucciones

Organización HW sistema

Circuito Digital

Nivel Físico

Page 16: CLASE 9. SE RECOMIENDA MIRAR LOS SIGUIENTES ENLACES

NIVELES DE ABSTRACCION

Aplicación

Lenguaje de Alto Nivel

Sistema Operativo / Compilador• Gestión de memoria, Ficheros, I/O,• Compilación, ensamblado, enlazado.

Arquitectura del conjunto de Instrucciones

Organización HW sistema

Circuito Digital

Nivel Físico

Page 17: CLASE 9. SE RECOMIENDA MIRAR LOS SIGUIENTES ENLACES

NIVELES DE ABSTRACCION

Aplicación

Lenguaje de Alto Nivel

Sistema Operativo / Compilador

Arquitectura del conjunto de Instrucciones• Interface Hw/Sw• Lenguaje reconocido por la máquina para una arquitectura particular

del sistema de cómputo.

Organización HW sistema

Circuito Digital

Nivel Físico

Page 18: CLASE 9. SE RECOMIENDA MIRAR LOS SIGUIENTES ENLACES

NIVELES DE ABSTRACCION

Aplicación

Lenguaje de Alto Nivel

Sistema Operativo / Compilador

Arquitectura del conjunto de Instrucciones

Organización HW sistema• Interpreta y Ejecuta las instrucciones de la máquina

Circuito Digital

Nivel Físico

Page 19: CLASE 9. SE RECOMIENDA MIRAR LOS SIGUIENTES ENLACES

NIVELES DE ABSTRACCION

Aplicación

Lenguaje de Alto Nivel

Sistema Operativo / Compilador

Arquitectura del conjunto de Instrucciones

Organización HW sistema

Circuito Digital• ALU, Compuertas, Alambres

Nivel Físico

Page 20: CLASE 9. SE RECOMIENDA MIRAR LOS SIGUIENTES ENLACES

NIVELES DE ABSTRACCION

Aplicación

Lenguaje de Alto Nivel

Sistema Operativo / Compilador

Arquitectura del conjunto de Instrucciones

Organización HW sistema

Circuito Digital

Nivel Físico• Transistores, Semiconductores.

Page 21: CLASE 9. SE RECOMIENDA MIRAR LOS SIGUIENTES ENLACES

NIVELES DE ABSTRACCION

Aplicación

Lenguaje de Alto Nivel

Sistema Operativo / Compilador

Arquitectura del conjunto de Instrucciones

Organización HW sistema

Circuito Digital

Nivel Físico

PARTE 1 DEL CURSO

PARTE 2 DEL CURSO

Page 22: CLASE 9. SE RECOMIENDA MIRAR LOS SIGUIENTES ENLACES

¿QUE HAY DEBAJO DE UN PROGRAMA?

• Software de aplicación– Escrito en lenguajes de alto nivel

• Software de sistema– Sistema operativo: programa supervisor

que sirve de interfaz entre los programas de usuario y el hardware:

• Maneja las operaciones básicas de entrada y salida

• Gestiona el almacenamiento y la memoria

• Planifica tareas para compartir el uso de recursos

– Compilador: traduce programas escritos en lenguajes de alto nivel (C, Java, Fortran, …) en instrucciones que el hardware puede ejecutar

• Hardware– Procesador, memoria, controladores I/O

Page 23: CLASE 9. SE RECOMIENDA MIRAR LOS SIGUIENTES ENLACES

LENGUAJE DEL HARDWARE• Cómo actúa la máquina?

– Mediante señales eléctricas (ON/OFF)

• Símbolos del alfabeto: 0, 1 (Números en base 2)– Dígitos binarios (Bits)

• Órdenes Instrucciones– 1000110010100000

• La máquina como ayuda para programar la máquina– Programas de traducción de notación simbólica a números

• Ensamblador

add A,B 1000110010100000

• Compilador + Ensamblador

A+B add A,B 1000110010100000

Assembler

AssemblerCompiler

Page 24: CLASE 9. SE RECOMIENDA MIRAR LOS SIGUIENTES ENLACES

NIVELES DE CODIFICACION DE UN PROGRAMA

• Lenguaje de alto nivel Nivel de abstracción más cercano al dominio del problema.

• Lenguaje ensamblador Representación textual de las instrucciones.

• Código de máquina (objeto, binario) Instrucciones y datos codificados.

Page 25: CLASE 9. SE RECOMIENDA MIRAR LOS SIGUIENTES ENLACES

¿QUE ES ARQUITECTURA DE COMPUTADORES?

ARQUITECTURA DE COMPUTADORES

Arquitectura de la maquina

Organización de la maquina

Comprende todos aquellos aspectos visibles al programador: Intruction set, numero de bits usados para la representación de los datos, mecanismos de I/O, técnicas de direccionamiento.

Define la manera como se implementan las características:• Señales de control, interfaces,

tecnología de memoria.• Información que fluye entre los

componentes.

Page 26: CLASE 9. SE RECOMIENDA MIRAR LOS SIGUIENTES ENLACES

MAQUINAS CISC (COMPLEX INSTRUCTION SET COMPUTER)

• Posee muchas instrucciones y muchos modos de direccionamiento.• Tiempo de ejecución de las instrucciones es Variable.• Gran número de instrucciones complejas.• Permite implementar instrucciones de alto nivel directamente o con

un número pequeño de instrucciones ensamblador.

• El compilador tiene que hacer muy poco trabajo para traducir un lenguaje de alto nivel a ensamblador.

• Poca RAM para almacenar las instrucciones.• Es difícil construir instrucciones complejas directamente en hardware.• Ejemplos: M68k, x86.

muls <ea>, Dn ; m68k signed integer multiply; (Dn Dn × M[<ea>])

Page 27: CLASE 9. SE RECOMIENDA MIRAR LOS SIGUIENTES ENLACES

MAQUINAS RISC (REDUCED INSTRUCTION SET COMPUTER)

• Computador con repertorio de instrucciones reducido.• Pocas instrucciones y muy básicas.• Repertorio simple.• Formatos de instrucción uniformes.• Pocos tipos de datos y de modos de direccionamiento, siempre los

más sencillos.LOAD A, ($23200)LOAD B, ($52000)

PROD A, BSTORE ($23200), A

• Se requiere menos hardware y más sencillo que las instrucciones complejas, dejando más espacio para registros de propósito general.

• MULTITUD DE POSIBILIDADES PARA SU OPTIMIZACIÓN.

Page 28: CLASE 9. SE RECOMIENDA MIRAR LOS SIGUIENTES ENLACES

CISC .vs. RISC

CISC RISC

Enfatiza en el hardware Enfatiza en el software

Instrucciones complejas Solo instrucciones simples

Memory-to-memory:"LOAD" y "STORE"incorporados en las instrucciones

Register to register:"LOAD" y"STORE"son instrucciones independientes.

Códigos de pequeña medida. Códigos de Gran Medida

Transistores usados para implementar instrucciones complejas

Ocupa más transistores en registros de memoria.

Page 29: CLASE 9. SE RECOMIENDA MIRAR LOS SIGUIENTES ENLACES

INSTRUCTION SET ARCHITECTURE (ISA)• Parte del computador visible al programador o desarrollador del compilador.• Frontera en la que el diseñador y el programador del computador observan

la misma máquina.

• Algunos ejemplos de ISAs: Digital Alpha (v1, v3) HP PA-RISC (v1.1, v2.0) Sun Sparc (v8, v9) SGI MIPS (MIPS I, II, III, IV, V) Intel (8086,80286,80386, 80486,Pentium, MMX, ...)

• Permite compatibilidad de codigo (al menos hacia atras).

Page 30: CLASE 9. SE RECOMIENDA MIRAR LOS SIGUIENTES ENLACES

RESUMEN INSTRUCTION SET ARCHITECTURE DEL MIPS R3000

Clases de instrucciones:• Load/Store.• Computacional.• Salto y ramificación.• Punto flotante (coprocesador).• Manejo de memoria.• Especial.

3 formatos de instrucciones todos de 32 bits.

Page 31: CLASE 9. SE RECOMIENDA MIRAR LOS SIGUIENTES ENLACES

ORGANIZACION

Proc

CachesBusses

Memory

I/O Devices:

Controllers

adapters

DisksDisplaysKeyboards

Networks

Page 32: CLASE 9. SE RECOMIENDA MIRAR LOS SIGUIENTES ENLACES

ORGANIZACIÓN PENTIUM 3 CHIPSET