+ All Categories
Home > Documents > ARQU ITECTURA COMPUT ADOR - …umh2269.edu.umh.es/wp.../02/ARCO_niveles-historia... · 14...

ARQU ITECTURA COMPUT ADOR - …umh2269.edu.umh.es/wp.../02/ARCO_niveles-historia... · 14...

Date post: 04-Oct-2018
Category:
Upload: buikien
View: 220 times
Download: 0 times
Share this document with a friend
53
ARQUITECTURACOMPUTADOR HISTORIA COMPUTADOR. NIVELES.
Transcript

ARQUITECTURACOMPUTADORHISTORIACOMPUTADOR. NIVELES.

INTRODUCCIÓN2

• Antecedentes históricos

Máquinasmecánicas: lascomputadorasde Charles BabbageMáquinaselectromecánicas: el computador de Konrad Zuse

• Generaciones tecnológicas

Primera generación (1938-1954): válvulasSegunda generación (1954-1964): transistoresTercera generación (1964-1972): circuitos integradosCuarta generación (1972-1988): microprocesadores

14

¨̈Historia de la arquitectura de computadores¤¤La arquitectura de los computadores ha ido

evolucionando a lo largo de la historia.¤¤Se divide la historia en distintasetapasllamadas

generaciones.

EVOLUCIÓN HISTÓRICA

15

¨̈Tecnología:nnComputadores mecánicos o electromecánicos con muchas

limitaciones.¨̈Personasdestacadas:

nnBlaise Pascal construyó en 1642 una máquina calculadora para sumar y restar.

nnCharles Babbage construyó en 1834 de propósito general(almacén, taller y sección de E/S). Contrató a Ada para laprogramación de la máquina.

nnAiken construyó la Mark I en 1944, inspirado en los estudiosde Babbage.

Generación 0: 1642-1945

16

1ª Generación: 1945-1955¨̈ Tecnología:

nnVálvula electrónica de vacío.Modelos:

nnENIAC (1946): 18.000 válvulas, 30 toneladas, 1400 m2, 100 Kw,5.000 sumas por segundo.

nnEDSAC (1949): primer ordenador con programa almacenado.nnUNIVAC: primer ordenador comercial.

Personasdestacadas:nnJonh Von Neumann establece un modelo de la estructura de un

ordenador (memoria,U.A.L., U. de control y U. de E/S). Crea laidea de computador con programa almacenado.

¨̈

¨̈

17

¨̈Modo de funcionamiento:nnSe programa en lenguaje máquina, propio de cada máquina

y muy complicado.nnSe desconocen los leng. de programación.nnNo existe S.O.nnSe realiza el programa cableado, se solicita hora para la

máquina, se inserta el panel de conexiones en el computadorpara ejecutar el programa.

nnSe resolvían cálculos numéricos.nnA principios de los 50 se mejoró el procedimiento con las

tarjetasperforadas.

1ª Generación

18

¨̈Tecnología:nnTransistor (Bardeen-Brattain, 1947). Ventajas: menor espacio,

menor consumo, másbarato y mayor fiabilidad. Esto hacedisminuir el precio y tamaño de los computadores.

¨̈Modelos:nnPDP-1 de DIGITAL

¨̈Modo de funcionamiento:nnLenguajes de alto nivel : FORTRAN, COBOL, ALGOL, PL/1.

Se escribe el programa en papel, se perfora en tarjetas, selleva al operador, se recoge el listado de impresora.

nnSistema de procesamiento por lotes (con S.O.)

2ª Generación: 1955-1965

19

Sistema de procesamiento por lotes

lectora detarjetas

Unidad de cinta

Unidades de cinta

deentrada

delsistema

desalida Unidad de cinta

Impresora

1401 de IBM 7094 de IBM 1401 de IBM

20

Ejemplo de procesamiento por lotes

$FORTRAN$JOB información

$LOAD$RUN

$ENDDatos del programa

ProgramaFortran

21

¨̈Tecnología:nnCircuitos integrados SSI (hasta 100) y MSI (100-3000)

¨̈Modelos:nnIBM sistema 360 y PDP-8 (DIGITAL)

¨̈Modo de funcionamiento:nnLenguajes de alto nivel BASIC y PASCALnnS.O con multiprogramación:

nnDivisión de la memoria.nnProcedimientos de spooling (operación simultánea de periféricos

conectados en línea).nnTiempo compartido.

3ª Generación: 1965-1980

22

4ª Generación: 1980-1990¨̈ Tecnología:

nnSe integra la UCP en un sólo chip: el microprocesador.nnCircuitos integrados LSI (3000-30000) y VLSI (másde 30000)

Modelos:nnIBM PC (1981), IBM PC XT(1982), IBM PC AT(1984), IBM PS/2

(1987), VAX (DIGITAL,1980), CRAY X-MP (1983)Modo de funcionamiento:

nnSoftware fácil de usar.nnSistemasoperativos MS-DOS, UNIX..nnSistemasoperativos de red y sistemasoperativos distribuidos.

¨̈

¨̈

23

¨̈Tecnología:nnCircuitos con másde un millón de componentes.nnNuevasarquitecturas: paralelismo.nnTecnología óptica.

¨̈Modelos:nnCONNECTION MACHINE, máquina masivamente paralela.

¨̈Modo de funcionamiento:nnInteligencia artificial y sistemasexpertos.

5ª Generación: 1990 en adelante

3

INTRODUCCIÓN

SistemasComputacionales dePROPOSITO GENERAL Compiladores, interpretes,

lenguajes de alto nivel

3

INTRODUCCIÓN

UNIDAD DE CONTROL

UNI

DAD

deEN

TRAD

A/SA

LIDA

PERIFÉRICOSRegistros

Contador de programaRegistro de instrucción

Puntero de pila

UNIDAD ARITMÉTICA

MEMORIA PRINCIPAL

ROM

Estado

Datos

Código

SistemasComputacionales dePROPOSITO GENERAL Compiladores, interpretes,

lenguajes de alto nivel

3

INTRODUCCIÓN

UNIDAD DE CONTROL

UNI

DAD

deEN

TRAD

A/SA

LIDA

PERIFÉRICOSRegistros

Contador de programaRegistro de instrucción

Puntero de pila

UNIDAD ARITMÉTICA

MEMORIA PRINCIPAL

ROM

Estado

Datos

Código

SistemasComputacionales dePROPOSITO GENERAL

Compiladores, interpretes, lenguajes de alto nivel

Esquema de funcionamiento de la computadora

Datos Resultados

Instrucciones

Computadora

Arquitectura Computadores

Funciones de un computador:

• Procesamiento de datos.• Almacenamiento de datos.• Transferencias de datos entre el computador y el exterior.• Control de las anteriores operaciones.

Sus principales componentes estructurales son:

• Sistema Procesador: controla el funcionamiento del computador y procesa los datos.• Subsistema de memoria: almacena datos.• Subsistema de entrada/salida: transfiere datos entre el computador y el entorno externo.• Buses: interconexión entre las diferentes partes.• Buses de comunicación

Clasificación de las computadoras

Según la Generalidad de uso o Propósito:

• De uso general: Puede dedicarse a distintos tipos de aplicaciones, tales como gestión administrativa, cálculo científico, etc.

• De uso específico: Es el que únicamente puede utilizarse para una aplicación concreta. Ejemplo, el que contiene un robot, la computadora para el control del tráfico, el de un horno de microondas, etc.

Según el Paralelismo:

• Unico flujo de instrucciones, único flujo de datos (Monoprocesadores): En un instante dado, se encuentra ejecutando una única instrucción con unos datos concretos.

• Unico flujo de instrucciones, múltiples flujos de datos (Matriciales y Vectoriales ): Para mayores velocidades de cómputo, procesan las instrucciones de una en una, pero cada una de ellas opera con múltiples datos.

• Múltiples flujos de instrucciones, múltiples flujo de datos (Multiprocesadores y Multicomputadores): Sistemas compuestos por distintos computadores completos trabajando en paralelo e interconectados adecuadamente entre

5

¨̈Utilizar lenguaje máquina es difícil y tedioso.¨̈Solución:

nnsea L1 el lenguaje máquinanny L2 un lenguaje másfácil de utilizar

TRADUCTORES

programa en L2

compilación (compilador)

interpretación (intérprete)

programa en L1

6

¨̈Se puede imaginar la existencia de una máquinavirtual cuyo lenguaje máquina es L2.

¨̈Se pueden crear L3, L4... cada uno másfácil deutilizar.

MÁQUINAS VIRTUALES

nivel n

nivel 3

nivel 2

nivel 1

Mn con Ln

..M3 co

nL3

M2 con

L2

M1 con

L1

MÁQUINAS MULTINIVELACTUALES

• La mayoría de lasmáquinasactuales constande 6 niveles.

• Los microprogramas sondirectamente ejecutadospor el hardware.

nivel 5

nivel 4

nivel 3

nivel 2

nivel 1

nivel 0

Traducción(compilador)

Traducción(ensamblador)

Interpretación (sistemaoperativo)

Interpretetación(microprograma)

Ejecutadosdirectamente

Lenguajes de altonivel

Lenguajeensamblador

Sistema operativo

Máquinaconvencional

Microprogramación

Lógica digital

Nivel de máquina simbólica(compiladores, editores, intérpretes del LC)

Nivel de máquina operativa(sistema operativo)

Nivel de máquina convencional(lenguajes máquina y ensamblador))

Nivel de dispositivos y ctos. electrónicos

Nivel de micromáquina(microprogramación)

Nivel de lógica digital

Hardware

Tecnología

Arquitectura

USUARIOS Y PROGRAMAS DE APLICACIONES

Software

8

¨̈ Esel hardware de la máquina.¨̈ El nivel inferior sería el nivel de dispositivo.¨̈ Eneste nivel:

nnPuertas lógicasnnCircuitos integradosnnCircuitos combinacionalesnnCircuitos aritméticosnnRelojesnnMemoriasnnMicroprocesadoresnnBuses

Nivel 0: nivel de lógica digital

9

¨̈ Existe un programa llamado microprograma.¨̈ La función del microprograma es interpretar las

instrucciones del nivel 2.¨̈ Enalgunasmáquinasno existe el nivel de

microprogramación.

Nivel 1: nivel de microprogramación

10

¨̈ Cada fabricante publica el “Manual de referenciadel lenguaje máquina” para cada uno de loscomputadores.

¨̈ Lasinstrucciones del nivel de máquina las interpretael microprograma.

¨̈ Enlasmáquinasen lasque no existe el nivel demicroprogramación, las instrucciones del nivel demáquina son realizadasdirectamente por loscircuitos electrónicos.

Nivel 2: nivel de máquina convencional

11

¨̈ La mayoría de lasinstrucciones de este nivel estántambién en el nivel 2 pero ademástiene un nuevoconjunto de instrucciones, una organización diferentede la memoria, posibilidad de ejecutar 2 o másprogramas...

¨̈ Lasnuevasinstrucciones las interpreta el sistemaoperativo.

¨̈ Lasque son idénticasa lasdel nivel 2 las lleva acabo el microprograma.

Nivel 3: nivel del sistema operativo

12

¨̈ Los niveles 4 y superiores son utilizados por losprogramadores de aplicaciones.

¨̈ Los niveles inferiores están diseñados para ejecutar los intérpretes y traductores de los niveles superioresy son escritos por los programadores de sistemas.

¨̈ El ensamblador es el programa que lleva a cabo latraducción de un programa del nivel 4.

Nivel 4: nivel del lenguaje ensamblador

13

¨̈ Los lenguajes de alto nivel son másfáciles de utilizar que los lenguajes de niveles inferiores.

¨̈ Son utilizados por los programadores deaplicaciones.

¨̈ Los traductores de programasen lenguaje de altonivel pueden ser compiladores o intérpretes.

Nivel 5: nivel de lenguajes de alto nivel

4

¨̈Un computador digital es una máquina que puederesolver problemasejecutando ciertas instrucciones.

¨̈Un programa es una secuencia de instrucciones.¨̈Los circuitos electrónicos de cada computadora

reconocen un conjunto limitado de instrucciones muysimples.

¨̈Lenguaje máquina es el conjunto de instruccionesbásicasde una computadora.

Diferentes niveles en la arquitectura

24

Evolución de los niveles

¨̈ Los primeros computadores digitales (años 40) sólo tenían 2 niveles (convencional y lógica digital).Los circuitos digitales eran voluminosos, poco confiables y difícilesde construir.El nivel de microprogramación se añadió para:

nnsimplificar la electrónicann facilitar la escritura de compiladoresnnejecutar los programasmásrápidamente (ROM más

rápida que la RAM)nnen los 70 estaba plenamente difundido

En los 50 aparecieron los ensambladores y compiladores. Enlos 60 aparece el sistema operativo.

¨̈

¨̈

¨̈

¨̈

25

Evolución de los niveles¨̈ Cuanto máscomplicado el lenguaje máquina, másgrande,

complicado y lento el microprograma (ya que necesitanprocedimientos).La velocidad de la memoria RAM se aumentó con el avance dela tecnología (memoriasde semiconductores).Esdifícil escribir, depurar y mantener el microcódigo.A principios de los 80 se elimina el nivel de microprogramaciónpara dar paso a lasmáquinasRISC.

¨̈

¨̈

¨̈

¿Qué es un computador?

[Hamacher96]: “máquina de cálculo electrónica de alta velocidad que acepta información digitalizada, la procesa atendiendo a una lista de instrucciones que almacena internamente, y produce la correspondiente información de salida”.[RAE]: “Máquina electrónica, analógica o digital, dotada de una memoria de gran capacidad y de métodos de tratamiento de la información, capaz de resolver problemas matemáticos y lógicos mediante la utilización automática de programas informáticos”.

Arquitectura Computadores

Arquitectura Computadores

Modelo de Programación:Diseño del conjunto de instrucciones. Interface del computador.Relación con los compiladores.

Organización de la máquina:Unidades funcionales. Transparente al software.Componentes Hardware y su interconexión

¿como se crea la arquitectura de un computador?

Arquitectura del Computador

Arquitectura del computador

La arquitectura del Juego de Instrucciones (Instruction Set Architecture óISA) describe la estructura del computador desde el punto de vista del programador. Cuando una familia de procesadores ejecuta el mismo código binario, se dice que tienen la misma arquitectura, refiriéndose éste término más concretamente al ISA, repertorio de instrucciones.

q Diseñodelconjuntodeinstrucciones.q Interfacedelcomputador.q Relaciónconloscompiladores.

La Organización de la Máquina, se refiere al layout (esquema) e interconexiones de varias unidades funcionales. q Unidadesfuncionalesysuinterconexión.q Transparentealsoftware.q ComponentesHardware

Programación y OrganizaciónOrganización:

Unidades funcionales y sus interconexiones que implementan una determinada arquitectura

Ejemplo:

•Cuestión de programación es decidir si el computador tendrá una operación de multiplicación•Cuestión de organización es decidir si dicha operación será realizada por una unidad funcional dedicada, o por uso iterativo de la UAL.

Programación:Atributos de un

sistema visibles al programador, que tienen impacto directo en la ejecución lógica de un programa

Modelo de programación del computador

• Modelo de programación• Juego de instrucciones (usuario y núcleo)

0

232-1

216-1

Mapa de memoria Mapa de

E/SJuego de Instrucciones

0

Registros de datos

Registros de direcciónPuntero de pila de usuario Puntero de pila de sistemaContador de programa

Registro de estado

Modo Traza

Sistema/Usuario

15141312 Octeto de1110 Sistema98765

Extensión 4 Octeto deNegativo 3

Cero 2 UsuarioDesbordamiento 1

Acarreo 0

Máscarade

Interrupciones

31 16 15 8 7 0D0D1D2D3D4D5D6D7

A0A1A2A3A4A5A6A7A7'

T

S

I2I1I0

XNZVC

Implementación Máquinas

CPUUnidad

Aritmética

Unidad de

Control

Memoria Principal

Periféricos de

Salida

Periféricos de

Entrada

ASIC

FPGA

Implementación depende de la tecnología.

Implementación Componentes

¿Que tecnología se puede utiliza para implementar los distintos componentes de un computador?

Se pueden utilizar dos:

••

Aplicación de circuitos integrados específicos (ASIC)Field Programmable Gate Array (FPGA), Hardware Reconfigurable

ASIC - Ventajas

• Velocidad• Consumo de potencia bajo• Costo/rendimiento

ASIC- Desventajas

• Alto costo de desarrollo

• Lentos ciclos dedesarrolo

• Inflexible

FPGA

Otra solución

Ventajasl Velocidad

Consumo de potencia bajoCosto/rendimiento

l

l

DesventajasAlto costo de desarrolloLentos ciclos de desarroloInflexible

l

l

l

Otra solución

FPGA

Arquitecturas Reconfigurables

Si alguno de loscomponentes se implementan con HARDWARE RECONFIGURABLE,estaremos hablando de Arquitecturas Reconfigurables.

Hardware Reconfigurable

¿Que es Hardware Reconfigurable?

Bloques lógicos interconectados entre si. Esas conexiones se 'programan' según la aplicación que queramos darle al hardware.

FPGA (Field-Programmable Gate Array )

LE LE

LE LE

ᄎLE LE LE LE

LE LE

LE LE

Elemento Logico Interconexiones

Los bloques lógicos realizan funciones booleanas

¿Qué es una FPGA?

Pag 16ARCO 2008-200912 Tema 5

• Circuitos digitales integrados que contienen bloques de logica configurable (programable) con interconexiones reconfigurables controladas por el switch de una matriz de control.

• Los programadores pueden cambiar eldiseño de la aplicación una y otra vez sobre la misma FPGA

Bloques lógicos

X

Pag 17ARCO 2008-200913 Tema 5

ABCD

Out

A x B x C x D = out

Xilinx XC4000 Cell

Pag 19ARCO 2008-200915 Tema 5

FPGA - Ventajas

Pag 20

• Mayor flexibilidad que un ASIC• Alto Rendimiento en algunas aplicaciones• Reusabillidad de Hardware para diferentes

aplicaciones

Programacion algoritmos en HWR

¿Como se programa el hardware reconfigurable?Con lenguajes de descripción hardware

LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;

ENTITY FF IS PORT (

reset: IN STD_LOGIC; clk: IN STD_LOGIC;ff_input: IN STD_LOGIC;Q: OUT);

END FF;

STD_LOGIC

ARCHITECTURE behavioral OF FF IS BEGINflipflop: PROCESS (reset, clk)BEGINIF reset='1' THEN Q <= ‘0';

ELSIF clk'event AND clk='1' THEN Q <= ff_input;

END IF; END PROCESS;END behavioral;

FFff_input

clk

reset

Q

HDL: ¿Programa o diseño?

LENGUAJE DEPROGRAMACIÓN DE ALTO

NIVEL

PROGRAMA A NIVEL DELENGUAJE MÁQUINA

CO

MP

ILA

CIÓ

N

LENGUAJE DEDESCRIPCIÓN HARDWARE

DESCRIPCIÓN A BAJONIVEL DE ABSTRACCIÓN

(p.e. NIVEL LÓGICO)

SÍN

TE

SIS

La sintaxis es muy similar.En HDL no se programa, se describe.Hay que pensar siempre que la descripción se corresponde con circuitos funcionando en paraleloDos HDL, Verilog y VHDL

Implementación algoritmos

Microprocesador Hardware Reconfigurable

ASIC

SPARTAN3E


Recommended