Fundamentos De Las Computadoras 2006 - Presentation Transcript
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
Máquina multinivel
Programas en Ln interpretados y ejecutados en máquina inferior ó traducidos a lenguaje de máquina de nivel inferior
Nivel 0 Nivel 1 Nivel 2 Nivel 3 Nivel n MV n MV 3 Máquina Virtual 2 Máquina Virtual 1 Máquina Real 0
Técnicas de implementación de la máquina multinivel
Traducción : Se sustituye cada instrucción del programa escrito en L 1 por una instrucción equivalente de instrucciones en L 0 . Se cuenta con un nuevo programa escrito exclusivamente en L 0 . La computadora ejecuta el nuevo programa en L 0 .
Interpretación : Un programa en L 0 toma programas en L 1 como datos de entrada y lo ejecuta examinando sus instrucciones una por una y ejecutando directamente la sucesión de instrucciones en L 0 equivalente a cada una.
Computadora de 6 niveles 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 digital Nivel 0 Nivel 1 Nivel 2 Nivel 3 Nivel 4 Nivel 5 Traducción (compilador) Traducción (ensamblador) Interpretación (SO) Hardware
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
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)
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)
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
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
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
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
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
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)
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
Arquitectura de Von Neumann MEMORIAS ROM/RAM PUERTOS E/S PROCESADOR DIGITAL CPU BUSES DIRECCIONES DATOS CONTROL
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
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
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
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)
Generaciones de computadoras 100 millones Alta integración 1978- 5 10 millones Gran integración 1972-1977 4 1 millón Pequeña y mediana integración 1965-1971 3 200 mil Transistores 1958-1964 2 40 mil Válvulas 1946-1957 1 Velocidad Operac./s Tecnología Fecha aprox. Generación
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 Neumann
Introdujo el concepto de máquina programada
Almacenamiento de los programas y datos en memoria
Computadores comerciales
Compañías: Sperry e IBM
Computadores orientados a los cáluclos científicos y al procesamiento de grandes cantidades de datos
Memorias de ferrita
Cintas magnéticas como memorias de almacenamiento masivo
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 7094
32K x 36 bits de memoria
Introducción del canal de datos: módulo independiente de E/S con CPU e instrucciones propios
Aparición del multiplexor de datos hacia la CPU o la memoria
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ólares
Introducción del concepto de familia de computadoras
Multiprogramación, priorización de interrupciones, mecanismos de protección de la memoria, controladores DMA, memoria caché
PDP 8
Tamaño para una mesa, precio reducido
Introdujo el concepto de bus
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
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
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
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)
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
Computadora de 6 niveles 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 digital Nivel 0 Nivel 1 Nivel 2 Nivel 3 Nivel 4 Nivel 5 Traducción (compilador) Traducción (ensamblador) Interpretación (SO) Hardware
Arquitectura de Von Neumann MEMORIAS ROM/RAM PUERTOS E/S PROCESADOR DIGITAL CPU BUSES DIRECCIONES DATOS CONTROL
Generaciones de computadoras 100 millones Alta integración 1978- 5 10 millones Gran integración 1972-1977 4 1 millón Pequeña y mediana integración 1965-1971 3 200 mil Transistores 1958-1964 2 40 mil Válvulas 1946-1957 1 Velocidad Operac./s Tecnología Fecha aprox. Generación
0 comments
Post a comment