fundamentos de las computadoras 2006

31
Fundamentos de las Computadoras Arquitectura de Microcomputadoras 9º Sem. – IEK Cap. 1 Lecturas recomendadas: * Tanembaum, A. Organización de computadoras. Cap. 1 * Stallings, W. Organización y arquitectura de computadores. Cap. 2

Upload: ayhoria

Post on 11-Jul-2015

3.433 views

Category:

Education


4 download

TRANSCRIPT

Page 1: Fundamentos De Las Computadoras 2006

Fundamentos de las Computadoras

Arquitectura de Microcomputadoras 9º Sem. – IEK

Cap. 1Lecturas recomendadas:* Tanembaum, A. Organización de computadoras. Cap. 1* Stallings, W. Organización y arquitectura de computadores. Cap. 2

Page 2: Fundamentos De Las Computadoras 2006

Máquina multinivel Programas en Ln

interpretados y ejecutados en máquina inferior ó traducidos a lenguaje de máquina de nivel inferior

MV n

MV 3

Máquina Virtual 2

Máquina Virtual 1

Máquina Real 0Nivel 0

Nivel 1

Nivel 2

Nivel 3

Nivel n

Page 3: Fundamentos De Las Computadoras 2006

Técnicas de implementación de la máquina multinivel

Traducción: Se sustituye cada instrucción del programa escrito en L1 por una instrucción equivalente de instrucciones en L0. Se cuenta con un nuevo programa escrito exclusivamente en L0. La computadora ejecuta el nuevo programa en L0.

Interpretación: Un programa en L0 toma programas en L1 como datos de entrada y lo ejecuta examinando sus instrucciones una por una y ejecutando directamente la sucesión de instrucciones en L0 equivalente a cada una.

Page 4: Fundamentos De Las Computadoras 2006

Interpretación (microprograma) o ejecución

directa

Nivel de lenguaje orientado a problemas

Nivel de lenguaje ensamblador

Nivel de sistema operativo

Nivel de arquitectura de conjunto de instrucciones

Nivel de microarquitectura

Nivel de lógica digitalNivel 0

Nivel 1

Nivel 2

Nivel 3

Nivel 4

Nivel 5

Traducción (compilador)

Traducción (ensamblador)

Interpretación (SO)

Hardware

Computadora de 6 niveles

Page 5: Fundamentos De Las Computadoras 2006

Descripción de los niveles 0 - Nivel de lógica digital

Compuesto por dispositivos digitales (compuertas)

1 - Nivel de microarquitectura Colección de registros (memoria local) ALU – Unidad de aritmética lógica Camino de datos:

control por hardware Control por microprograma: intérprete de las

instrucciones del nivel 2

Page 6: Fundamentos De Las Computadoras 2006

Descripción de los niveles (2)

2 - Nivel de arquitectura del conjunto de instrucciones – Nivel ISA Instrucciones que el microprograma o los circuitos de

ejecución en hardware ejecutan en forma interpretativa

3 - Nivel de sistema operativo S.O.: intérprete con capacidad de ejecutar nuevas

funciones (instrucciones, organización de memoria, capacidad de ejecución de dos o más programas al mismo tiempo)

Puede ser un híbrido: instrucciones podrían ser ejecutadas por el microprograma o el control por hardware (similar al nivel 2)

Page 7: Fundamentos De Las Computadoras 2006

Descripción de los niveles (3)

4 – Nivel de lenguaje ensamblador Lenguaje simbólico Programas en lenguaje ensamblador se traducen a un

lenguaje de nivel 1, 2 ó 3 por medio de un programa denominado ensamblador

5 – Nivel de lenguaje orientado hacia problemas Lenguajes de alto nivel (C, C++, Java), utilizados por

programadores de aplicaciones que resuelven problemas Programas son traducidos a lenguajes de nivel 3 ó 4 por

medio de compiladores Puede consistir en un intérprete para un dominio de

aplicación específico, utilizando términos especializados (ej: matemática simbólica)

Page 8: Fundamentos De Las Computadoras 2006

Arquitectura de una computadora Interface entre el software de bajo nivel y el hardware. Posibilita implementaciones de diverso coste/rendimiento para varios

software Es definida por los atributos de la computadora visibles para el

programador de lenguaje de máquina: Repertorio de instrucciones Formato de instrucciones Códigos de operación Modos de direccionamiento Registros y posiciones de memoria manipulables directamente Nº de bits (datos) Mecanismos de entrada/salida

Ha posibilitado los últimos avances en rendimiento: Segmentación Paralelismo Computadoras RISC

El objetivo es encontrar un lenguaje de máquina que: facilite la construcción del hardware y de los compiladores Maximice el rendimiento Minimice el costo

Page 9: Fundamentos De Las Computadoras 2006

Estructura de una computadora Comprende las unidades operacionales Implementa las especificaciones de la arquitectura Comprende detalles del hardware transparentes

para el programador: Señales de control Interfaces entre la computadora y los periféricos Tecnología de memoria utilizada Tipo de operadores aritméticos seleccionados

Criterios de diseño de la estructura: Velocidad de ejecución Tamaño Consumo de potencia

Page 10: Fundamentos De Las Computadoras 2006

Familia de computadoras Un conjunto de computadoras forma una familia

cuando tienen la misma arquitectura y diferentes estructuras

Surge el concepto de compatibilidad: Programa escrito para un modelo, se ejecuta en otro

modelo de la serie con diferencias en tiempo de ejecución

Sentido ascendente Características:

Repertorio de instrucciones similar o idéntico Velocidad en incremento Nº de puertos E/S en incremento Tamaño creciente de la memoria Coste creciente

Page 11: Fundamentos De Las Computadoras 2006

Clasificación de las computadoras

Basada en la potencia de procesamiento (potencia E/S y sistema de memoria) y costo – Hennessy y Patterson: Microcomputadora (PC y estaciones de trabajo)

Costo reducido (cientos o miles de dólares)

Minicomputadora Tamaño medio Costo superior a 50 mil dólares

Page 12: Fundamentos De Las Computadoras 2006

Clasificación de las computadoras (2)

Hennessy y Patterson (cont.) Computadora (Mainframe)

Propósito general de altas prestaciones Destinada a tareas de gestión comercial Aritmética decimal Soporte para grandes bases de datos Tratamiento de transacciones Mayor capacidad de soporte de terminales y discos que un

minicomputador Costo superior a 500 mil dólares

Supercomputadora Aritmética de punto flotante Aplicaciones científicas Mayor rendimiento Costo superior a un millón de dólares

Page 13: Fundamentos De Las Computadoras 2006

Clasificación de las computadoras (3)

Basada en el nº de procesadores, nº de programas y estructura de memoria – Flynn: SISD (Flujo de instrucción único, flujo de datos

único) SIMD (Flujo de instrucción único, flujo de datos

múltiple) MISD (Flujo de instrucción múltiple, flujo de

datos único) MIMD (Flujo de instrucción múltiple, flujo de

datos múltiple)

Page 14: Fundamentos De Las Computadoras 2006

Clasificación de las computadoras (4)

SISD (Flynn – 1) Procesador único que interpreta una única

secuencia de instrucciones para operar con datos de una única memoria

Arquitectura de Von Neumann Solo una instrucción/ sólo un dato Una CPU ejecuta una instrucción por vez, busca

o almacena un dato por vez

Page 15: Fundamentos De Las Computadoras 2006

Arquitectura de Von Neumann

MEMORIASROM/RAM

PUERTOS E/S

PROCESADOR DIGITAL

CPU

BUSES DIRECCIONESDATOSCONTROL

Page 16: Fundamentos De Las Computadoras 2006

Clasificación de las computadoras (5)

SIMD (Flynn – 2) Única instrucción, múltiples datos Una unidad de control común Varias unidades de proceso Arrays de procesadores Se ejecuta una misma instrucción sobre datos diferentes Proceso distribuido sobre hardware Operación concurrente sobre muchos datos Ejecución del mismo cálculo sobre todos los elementos UC = comput. Von Neumann, controla los procesadores Puede incluir computadores host: carga de programas,

configuración del array de elementos de proceso, supervisión de E/S

Page 17: Fundamentos De Las Computadoras 2006

Clasificación de las computadoras (6)

MISD (No implementada) (Flynn – 3) Transmisión de una secuencia de datos a un

conjunto de procesadores Cada procesador ejecuta una instrucción

diferente sobre el mismo conjunto de datos Múltiples instrucciones, un solo dato Ejecución de diferentes programas sobre el

mismo dato

Page 18: Fundamentos De Las Computadoras 2006

Clasificación de las computadoras (7)

MIMD (Flynn – 4) Conjunto de procesadores que ejecutan conjuntos de

instrucciones diferentes sobre conjuntos de datos diferentes

Múltiples instrucciones, múltiples datos Procesamiento distribuido entre procesadores

independientes Distribución de recursos (memoria primaria) Operación concurrente y en paralelo Cada procesador ejecuta su propio programa Diferentes arquitecturas: red de interconexión,

procesadores, direccionamiento de memoria, control y estructura de sincronización

Multiprocesadores: memoria común Multicomputadores: memorias locales

Page 19: Fundamentos De Las Computadoras 2006

Evolución histórica Antecedentes

Ábaco (China) Máquinas de calcular:

Napier, Siglo XVI: multiplicación, división Pascal, Siglo XVII: suma, resta Leibnitz: suma, resta, multiplic., división

Tarjetas perforadas (Jacquard, siglo XIX) Máquina analítica (Babbage, 1834) Máquinas de calcular mecánicas y electromecánicas

(principios de Siglo XX) Computador electromecánico (Aiken, 1944): cálculos

balísticos

Page 20: Fundamentos De Las Computadoras 2006

Generaciones de computadoras

100 millones

Alta integración

1978-5

10 millonesGran integración

1972-19774

1 millónPequeña y mediana integración

1965-19713

200 milTransistores1958-19642

40 milVálvulas1946-19571

VelocidadOperac./s

TecnologíaFecha aprox.

Generación

Page 21: Fundamentos De Las Computadoras 2006

Primera generación – Válvulas ENIAC – Electronic Numerical Integrator and

computer, 1946 Primer computador electrónico de propósito general Destinado a cálculo de tablas de fuego de armas

Máquina de Von NeumannIntrodujo el concepto de máquina programadaAlmacenamiento de los programas y datos en memoria

Computadores comercialesCompañías: Sperry e IBMComputadores orientados a los cáluclos científicos y al

procesamiento de grandes cantidades de datosMemorias de ferritaCintas magnéticas como memorias de almacenamiento

masivo

Page 22: Fundamentos De Las Computadoras 2006

Segunda Generación - Transistores Mayor complejidad de las UC y ALU Primeros lenguajes de alto nivel (ej: Fortran) Aparición de los compiladores TRADIC (Laboratorios Bell, 1954)

Primer computador digital con transistores PDP-1 (Digital Equipment Corporation,1957)

4K x 8 bits de memoria ATLAS (Universidad de Manchester)

Introducción del concepto de memoria virtual: disco magnético como memoria secundaria

IBM 709432K x 36 bits de memoriaIntroducción del canal de datos: módulo independiente de E/S con

CPU e instrucciones propiosAparición del multiplexor de datos hacia la CPU o la memoria

Page 23: Fundamentos De Las Computadoras 2006

Tercera generación - CI Consecuencias de la integración:

Disminución de precio Incremento de velocidad por cercanía de componentes Menor tamaño Disminución de consumo de potencia Disminución de temperatura Conexiones más fiables

Introducción de las arquitecturas segmentadas, paralelas y la microprogramación Desarrollo de sistemas operativos: varios usuarios para un mismo computador Desarrollo de las memorias virtual y caché Aparición de BASIC, Pascal (lenguajes de alto nivel) Sistema 360 IBM

Costo de miles de dólaresIntroducción del concepto de familia de computadorasMultiprogramación, priorización de interrupciones, mecanismos de protección de la memoria,

controladores DMA, memoria caché PDP 8

Tamaño para una mesa, precio reducidoIntrodujo el concepto de bus

Page 24: Fundamentos De Las Computadoras 2006

Cuarta generación - Microprocesadores

Memorias semiconductoras Primer circuito con procesador completo Procesadores INTEL

4004, 8 bits, 1971 8080, 8 bits, 1974, uso general 8086, 16 bits 80286 80386, 32 bits, 1985

Procesador Motorola MC680x0 Computador Apple: primera PC Aparición de las estaciones de trabajo Aparición de la arquitectura RISC

Page 25: Fundamentos De Las Computadoras 2006

Quinta generación – Integración a gran escala

Utilización del microprocesador como elemento básico

Aparición de computadores portátiles y supercomputadores

Técnicas de segmentación y paralelismo Memoria distribuida

Page 26: Fundamentos De Las Computadoras 2006

Bases del desarrollo de los computadores

Avance tecnológico Nivel de integración se ha multiplicado por 4

cada 3 años (Ley de Moore) Incremento de la velocidad operativa Precio igual para mayor densidad de integración Disminución de tamaño del computador Reducción de necesidades de potencia y

refrigeración Disminución de CI por sistema: mayor rapidez y

fiabilidad

Page 27: Fundamentos De Las Computadoras 2006

Bases del desarrollo de los computadores

Avances arquitectónicos El modelo de Von Neumann Microprogramación Memoria principal

EDRAM (Enhanced DRAM) CDRAM (Cache RAM) SDRAM (Syncrhronus DRAM) RDRAM (Rambus DRAM)

Memoria virtual Memoria caché Estructura RAID de memoria secundaria Computadores segmentados Procesadores superescalares y supersegmentados Supercomputadores Arquitectura RISC (Reduced Set Instruction Computer)

Page 28: Fundamentos De Las Computadoras 2006

Bases del desarrollo de los computadores

Avances en las herramientas de diseño automático Estudio jerárquico de sistemas Utilización de herramientas automáticas Captura de esquemáticos Simulación Ubicación y enrutamiento automáticos Lenguajes de descripción de hardware

Page 29: Fundamentos De Las Computadoras 2006

Interpretación (microprograma) o ejecución

directa

Nivel de lenguaje orientado a problemas

Nivel de lenguaje ensamblador

Nivel de sistema operativo

Nivel de arquitectura de conjunto de instrucciones

Nivel de microarquitectura

Nivel de lógica digitalNivel 0

Nivel 1

Nivel 2

Nivel 3

Nivel 4

Nivel 5

Traducción (compilador)

Traducción (ensamblador)

Interpretación (SO)

Hardware

Computadora de 6 niveles

Page 30: Fundamentos De Las Computadoras 2006

Arquitectura de Von Neumann

MEMORIASROM/RAM

PUERTOS E/S

PROCESADOR DIGITAL

CPU

BUSES DIRECCIONESDATOSCONTROL

Page 31: Fundamentos De Las Computadoras 2006

Generaciones de computadoras

100 millones

Alta integración

1978-5

10 millonesGran integración

1972-19774

1 millónPequeña y mediana integración

1965-19713

200 milTransistores1958-19642

40 milVálvulas1946-19571

VelocidadOperac./s

TecnologíaFecha aprox.

Generación