Upload
ibbie-villareal
View
13
Download
6
Embed Size (px)
Citation preview
CLASE 9
SE RECOMIENDA MIRAR LOS SIGUIENTES ENLACES
• http://www.virtual.unal.edu.co/cursos/ingenieria/2000477/index.html• http://www.teahlab.com/• http://medusa.unimet.edu.ve/sistemas/bpis03/clases.htm• http://
tams-www.informatik.uni-hamburg.de/applets/hades/webdemos/toc.html
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!!!!!!
¿PERO QUE ES LA COMPUTADORA?Entradas
Memoria
Procesador Red
Salidas
Computer
Main Memory
InputOutput
SystemsInterconnection
Peripherals
Communicationlines
CentralProcessing Unit
Computer
¿PERO QUE ES LA COMPUTADORA?Componentes básicos:• Entrada• Salida• Memoria• Datapath• Control
Procesador
NIVEL DE ABSTRACCION
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.
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
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 .
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
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
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
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.
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
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
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
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
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
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
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
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.
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
¿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
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
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.
¿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.
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>])
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.
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.
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).
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.
ORGANIZACION
Proc
CachesBusses
Memory
I/O Devices:
Controllers
adapters
DisksDisplaysKeyboards
Networks
ORGANIZACIÓN PENTIUM 3 CHIPSET