Introduccion a Las Arquitecturas Computacionales1

download Introduccion a Las Arquitecturas Computacionales1

of 13

Transcript of Introduccion a Las Arquitecturas Computacionales1

  • 7/24/2019 Introduccion a Las Arquitecturas Computacionales1

    1/13Introduccin - 1Arquitectura de Computadores

    Arquitecturade Computadores

    1. Introduccin2. La CPU3. Lenguaje Mquina4. La Memoria5. Sistemas de Entrada/Salida

    6. CPU Segmentada (Pipeline)7. Memoria Cach8. Arquitecturas RISC

    Arquitectura de Computadores Introduccin - 1

    Estos apuntes constituyen una introduccin a la Arquitectura de Computadores, aunque como prontoveremos, sera ms exacto decir Arquitectura y Organizacin de Computadores.

    Hay diversas organizaciones y modelos de arquitecturas de computadores, aunque en estaintroduccin vamos a dedicarnos solamente al modelo conocido como mquina de von Neumannque es el que se sigue mayoritariamente en los ordenadores actuales de propsito general. Lasarquitecturas correspondientes a ordenadores de propsito especial, como los de clculo cientficoy los vectoriales (los llamados supercomputadores) y otras arquitecturas alternativas seestudiarn en asignaturas de arquitecturas avanzadas.

    As, aqu vamos a ver los componentes bsicos de un ordenador von Neumann, esto es, la CPU,la memoria y los sistemas de entrada/salida. Abordaremos tanto la interfaz que ofrece a sus usuariosinmediatos, mediante el lenguaje mquina y su arquitectura en general, como su organizacin

    modular interna y algunas tcnicas de utilizacin.Una vez expuestos los conceptos generales de los componentes bsicos de un ordenador,abordaremos algunas tcnicas avanzadas, hoy da normales, para mejorar el rendimiento tanto en laejecucin de instrucciones en la CPU como en la velocidad de acceso a la memoria principal.

    El ltimo captulo est dedicado a un modelo de arquitectura que surgi a finales de los aos 70, yque sin dejar de ser von Neumann, supuso una revolucin en la concepcin de los que deberan serlos principios de diseo de una arquitectura, y que hoy da siguen, en la medida de lo posible,prcticamente todos los fabricantes de ordenadores.

  • 7/24/2019 Introduccion a Las Arquitecturas Computacionales1

    2/13Introduccin - 2Arquitectura de Computadores

    Arquitecturade Computadores

    1. Introduccin1. Qu es la Arquitectura de Computadores?2. rase una vez ...3. Estructura bsica de un ordenador

    4. Clasificacin de arquitecturas

    Arquitectura de Computadores Introduccin - 2

    En esta introduccin se va a presentar el escenario en el que se va a desarrollar la asignatura.

    Comenzaremos comentando qu es la Arquitectura de Computadores, y a continuacin pasaremosa mostrar el contexto histrico de la mquina de von Neumann y sus caractersticas bsicas.

    Por ltimo veremos dos punto de vista para la clasificacin de los ordenadores segn suarquitectura.

  • 7/24/2019 Introduccion a Las Arquitecturas Computacionales1

    3/13Introduccin - 3Arquitectura de Computadores

    Qu es la Arquitectura de Computadores?

    Arquitectura de un ComputadorLaapariencia funcional que presenta a sus usuariosinmediatos.(Amdahl, 1964).

    Describe loque sucedeEstructura de un Computador

    Es la estructura lgica que da forma a suarquitectura.

    Describe cmo sucedeTecnologa de un Computador

    Indica los componentes concretos y susinterconexiones. Encapsulado, refrigeracin, etc.

    S/360 - SSI

    S/370 - MSI30x0 - LSI

    43x1 -VLSI

    Arquitectura de Computadores Introduccin - 3

    Amdahl defini en 1964 la arquitectura de un computador como laapariencia funcional que presenta a sus usuariosinmediatos.Es decir, los atributos o caractersticas de un sistema visibles al programador.

    La arquitectura de un procesador viene dada por sujuego de instrucciones, y normalmente se define en documentosdescriptivos, que IBM llamaba Principios de Operacin,aunque cada fabricante le da un nombre distinto. En estosmanuales se identifican las operaciones (denominadas instrucciones mquina) que realiza el procesador correspondiente.

    Ayudndose de la sintaxis en ensamblador, describe la operacin que realiza, los tipos de datos u operandos que puedeutilizar, los cdigos de condicin que establece y el formato de la instruccin en su representacin binaria.

    La organizacin o estructura de un computador se refiere a la estructura lgica que da forma a su arquitectura.

    La arquitectura describe lo que sucede, mientras que la organizacin describe cmo sucede.

    La organizacin de un procesador nos muestra cmo es ste por dentro, pudiendo ver que est formado por unaUnidad Aritmtico-lgica, una memoria organizada en registros (contador de programa, puntero de pila, registro deestado, acumulador, ...) y una Unidad de Control que gobierna el funcionamiento y ejecucin secuencial de las

    instrucciones.

    La tecnologa o realizacin es una versin concreta de la organizacin. Es decir, determina los componentes que sevan a utilizar y cmo se van a interconectar. Tambin se ocupa de aspectos como la fiabilidad de los componentes,mantenimiento, refrigerado, encapsulado, ...

    La realizacin est directamente ligada al estado del arte de la tecnologa de construccin de los componentes. Porejemplo, la antiguamente famosa familia 360 de IBM ha pasado por las distintas generaciones que se muestran en lafigura de arriba, manteniendo la misma arquitectura y apenas variando la organizacin, pero actualizandosecontinuamente segn el estado del arte en la tecnologa.

    En esta asignatura vamos a ocuparnos de la Arquitectura y la Estructura de los Computadores.

  • 7/24/2019 Introduccion a Las Arquitecturas Computacionales1

    4/13Introduccin - 4Arquitectura de Computadores

    Introduccin rase una vez ...

    1 Generacin: La Vlvula de Vaco (1945-1955)

    9ENIAC, Primer ordenador electrnico digital en 1943

    18.000 vlvulas, 1.500 rels, 30 Toneladas20 registros para nmeros DECIMALES

    9Sucesores: EDVAC, JOHNIAC, ILLIAC, MANIACEDVAC (1945): programa almacenado en memoria1946 - IAS Machine (mquina de von Neumann)1951 - UNIVAC I

    91953 - IBM 701, 704, 709

    Arquitectura de Computadores Introduccin - 4

    Aunque el camino desde el baco hasta nuestros das, pasando por los ingenios mecnicos de lossiglos XVII y XVIII y los elctricos de comienzos de nuestro siglo, ha sido muy largo, las generaciones

    de los ordenadores (que han estado marcadas por los avances del hardware) se han empezado aconsiderar desde la aparicin de la electrnica. Veamos un resumen de las principalescaractersticas de cada generacin:

    1 Generacin: La vlvula de vaco (1945-1955).

    El ENIAC fue el primer ordenador electrnico digital de propsito general que lleg a funcionar. Loconstruyeron Mauchley y Eckert en 1943 y estaba formado por 18.000 vlvulas y 1.500 rels; sus30 toneladas de peso consuman 140 Kw.

    En cuanto a su arquitectura, dispona de 20 registros capaces de almacenar un nmero decimal de10 dgitos cada uno. Se programaba manualmente mediante 6.000 conmutadores y una jungla de

    cables y enchufes.Los militares lo estuvieron utilizando hasta 1955.

    Sucesores del ENIAC: EDVAC, JOHNIAC, ILLIAC, MANIAC

    EDVAC (1945): Primer ordenador con programa almacenado en memoria

    IAS machine (1946): Mquina de von Neumann (una versin del EDVAC)

    1951 - UNIVAC I: primer ordenador digital disponible comercialmente

    1953 - IBM 701, 704 (primer ordenador comercial con programa de control), 709.

  • 7/24/2019 Introduccion a Las Arquitecturas Computacionales1

    5/13Introduccin - 5Arquitectura de Computadores

    Introduccin rase una vez

    2 Generacin: El Transistor (1955-1965)

    91948 - Bell Labs inventa el transistor

    91961 - DEC lanza el PDP-1 (4Kb)IBM saca la 7090 (32 Kb) y la 1401

    91964 - CDC 6600 (primera mquina paralela)

    Arquitectura de Computadores Introduccin - 5

    2 Generacin: El transistor (1955-1965).

    1948 - Bell Labs inventa el transistor (Premio Nobel).En el M.I.T. se construye el TX-0 y TX-2. Kenneth Olsen funda DEC en 1957.

    1961 - DEC lanza el PDP-1, con 4K (Nace el minicomputador). Cuesta $120.000

    IBM saca la 7090, con 32K (clculo cientfico), y la 1401 (aplicaciones comerciales). Cuestanmillones de dlares. Dominio absoluto del mercado.

    1964 - CDC 6600 (primera mquina paralela): 10 veces ms rpido que el 7094.

  • 7/24/2019 Introduccion a Las Arquitecturas Computacionales1

    6/13Introduccin - 6Arquitectura de Computadores

    Introduccin rase una vez

    3 Generacin: Circuitos Integrados (1960-1980)

    9Fin del ncleo de ferrita

    91964 - S/360Regs. de 32 bits. 224 de direccionamiento.Compatibles con 370, 43x1, 3080, 3090En los 80, 16 Mb se quedan pequeos

    9DEC distribuye el PDP-11 por todas lasuniversidades

    PDP-11Arquitectura de Computadores Introduccin - 6

    3 Generacin: Circuitos integrados SSI y MSI (1960-1980).

    Inventado por Texas Instruments y Fairchild Corporation en 1959. En un chip caben docenas detransistores. Fin del ncleo de ferrita.

    1964 - IBM lanza la familia 360, con un espacio de direccionamiento de 224 bytes, y registros de 32bits. Todos los modelos son compatibles, incluso con las series sucesoras 370, 43x1, 3080 y 3090.A mediados de los aos 80, los 16 Mbytes se quedan pequeos.

    DEC distribuye el PDP-11 por todas las universidades.

  • 7/24/2019 Introduccion a Las Arquitecturas Computacionales1

    7/13Introduccin - 7Arquitectura de Computadores

    Introduccin rase una vez

    4 Generacin: PCs. LSI y VLSI (1980-1990)

    9Decenas y centenas de miles, millones de transistores

    en 1 chip9Nace el microprocesador

    9Cada de precios IBM saca el PC

    9Hoy da hay ordenadores segn necesidades PCsMiniordenadoresMainframesSupercomputadores

    5 Generacin: VHLSI (1990-????)Arquitectura de Computadores Introduccin - 7

    4 Generacin: Ordenadores personales. LSI y VLSI (1980-1990).

    Decenas de miles, centenas de miles y millones de transistores en un chip.

    Nace el microprocesadorCPU en una sola pastilla (Unidad de Control + ALU + Registros)

    Los precios bajan radicalmenteIBM saca el Ordenador Personal

    Hoy da hay diversos tipos de ordenadores segn las necesidades: ordenadores personales,miniordenadores, mainframes y supercomputadores.

    5 Generacin: VHLSI (1990-????)

    Algunas muestras actuales de esta generacin:

    - Intel Core Duo, con alrededor de 400 millones de transistores

    - Itanium II, tambin de Intel, con 2.000 millones de transistores.

  • 7/24/2019 Introduccion a Las Arquitecturas Computacionales1

    8/13Introduccin - 8Arquitectura de Computadores

    Introduccin Mquina de von NeumannMemoria 1 Kpalabras

    Unidad deControl

    UnidadAritmtico-Lgica

    Ac.Entrada

    Salida

    CARACTERSTICAS BSICASMemoria unidimensional, organizada como un vector de celdas del mismo

    tamao y de direcciones secuenciales.Una misma memoria para instrucciones y datos.Sin distincin explcita entre instrucciones y datos.Sin especificacin explcita de tipos de datos.Las instrucciones se ejecutaban secuencialmente. Se requeraninstrucciones de salto para romper el flujo de control

    Arquitectura de Computadores Introduccin - 8

    La mquina de von Neumann tena cuatro partes bsicas:

    La memoriaUnidad aritmtico-lgicaUnidad de controlSistema de entrada/salida

    La memoria estaba formada por 1024 palabras (ampliable a 4 K) de 40 bits (binario!). Cada palabra poda contener 2instrucciones o un nmero entero de 39 bits.

    Las instrucciones tenan 8 bits para indicar el tipo de instruccin, y 12 bits para especificar una palabra de memoria.

    La unidad aritmtico-lgica tena un registro interno de 40 bits llamado acumulador.Una instruccin tpica sumaba elcontenido de una palabra de memoria al acumulador, o almacenaba el contenido del acumulador en una palabra dememoria.

    Esta mquina no dispona de aritmtica de coma flotante (von Neumann pensaba que cualquier matemticocompetente debera ser capaz de llevar mentalmente la cuenta de la posicin de la coma decimal o, mejor dicho, binaria).

    Esta mquina tena las siguientes caractersticas que hoy pueden parecer obvias:

    La memoria era unidimensional, organizada como un vector lineal de celdas del mismo tamao y con direccionessecuenciales.

    Dispona de una nica memoria principal para contener instrucciones y datos. (En contraste con la arquitecturaHarvard, que prefiere memorias distintas para instrucciones y para datos).

    No haba distincin explcita entre instrucciones y datos.

    No haba especificacin explcita de los tipos de datos.

    Cada instruccin especificaba la direccin de la siguiente instruccin a ejecutar. Posteriormente se le aadi elconcepto del registro Contador de Programa, dando lugar a la ejecucin secuencial de las instrucciones, y a lainclusin de las instrucciones de salto para alterar el flujo de control natural.

    Esta arquitectura es la que se mantiene hoy da en la inmensa mayora de las mquinas de propsito general, en las quela Unidad de Control y la Unidad Aritmtico-Lgica se han integrado en la actual CPU.

  • 7/24/2019 Introduccion a Las Arquitecturas Computacionales1

    9/13Introduccin - 9Arquitectura de Computadores

    Introduccin Mquina de von Neumann

    HOY DA

    CPU Memoria E/S

    buses

    Arquitectura de Computadores Introduccin - 9

    As pues, la estructura bsica de la mayora de los ordenadores actuales se representa mediantetres grandes bloques:

    CPUMemoria principalSistemas de entrada/salida

    Todos ellos unidos por los buses de Direcciones, Datos y Control.

  • 7/24/2019 Introduccion a Las Arquitecturas Computacionales1

    10/13Introduccin -Arquitectura de Computadores

    Flujo de DatosSimple Mltiple

    FlujodeInstrucciones

    Simple

    SISD SIMD

    Mltiple

    MISD MIMD

    Introduccin Clasificacin de ArquitecturasTaxonomade Flynn

    Arquitectura de Computadores Introduccin - 10

    La arquitectura de von Neumann sigue el ciclo de ejecucin secuencial de instrucciones (una auna) que operan sobre datos escalares. No obstante, hay otros modelos de arquitecturas.

    La clasificacin ms aceptada, desde el punto de vista de la Estructura del Ordenador, es la que sedebe a Flynn, la cual se realiza segn el nmero de instrucciones o datos implicados en cada ciclode reloj.

    En este grfico tenemos la clasificacin de las posibles arquitecturas de un ordenador segn Flynn.En este curso vamos a centrarnos en las arquitecturas SISD (Single Instruction Single Data) o devon Neumann, dejando el resto para la asignatura de Arquitecturas Avanzadas.

    Las arquitecturas SIMD (Single Instruction - Multiple Data) se corresponden con los computadoresvectoriales (para el clculo con matrices).

    En los sistemas MIMD (Multiple Instruction - Multiple Data) se encuadran los multiprocesadores

    (con memoria compartida) y los multicomputadores (con memoria independiente).

    En las arquitecturas MISD (Multiple Instruction - Single Data) diversas instrucciones operan sobre unnico dato. Son las ms alejadas de las arquitecturas convencionales. Como ejemplo de este tipo dearquitecturas est la Data FlowMachine(Mquina de Flujo de Datos).

    Actualmente, la inmensa mayora de los ordenadores son SISD (Single Instruction - Single Data),adems de unos pocos SIMD que se dedican al clculo vectorial. La tendencia es la construccin deprocesadores superescalares, que arrancan varias instrucciones simultneamente (aunque sesiguen considerando SISD), como los PowerPC y los de Intel.

    Han surgido con fuerza los procesadores multincleo, que son chips con mltiples procesadores en

    su interior, como los Core Duo (dos procesadores) y los Core Quad (cuatro procesadores), tambinde Intel, donde cada procesador es a su vez superescalar. Los ordenadores con estos procesadoresson verdaderas mquinas MIMD.

  • 7/24/2019 Introduccion a Las Arquitecturas Computacionales1

    11/13Introduccin -Arquitectura de Computadores

    Introduccin Clasificacin de Arquitecturas

    Segn suJuego de

    Instrucciones

    CISCComplex Instruction Set Computer

    RISCReduced Instruction Set Computer

    Arquitectura de Computadores Introduccin - 11

    Veamos ahora otra clasificacin desde el punto de vista de la Arquitectura. Desde hace unos cuantosaos, ha ido tomando relevancia un tipo de arquitecturas que se caracterizan por disponer de un

    juego de instrucciones de formato muy regular y sencillo. Estas arquitecturas, denominadas RISC(Reduced Instruction Set Computer), contrastan con las convencionales o CISC (ComplexInstruction Set Computer), cuyo juego de instrucciones es muy extenso y sus formatos de instruccinheterogneos, lo que significa una sobrecarga fija en el tiempo de ejecucin.

    Intel y Motorola son ejemplos de estas arquitecturas, mientras que PowerPC y el Alpha de Digitalson claros exponentes de las arquitecturas RISC.

    En estos apuntes, en general, vamos a tratar con las arquitecturas CISC, aunque en el ltimo captulocomentaremos las caractersticas de las RISC.

  • 7/24/2019 Introduccion a Las Arquitecturas Computacionales1

    12/13Introduccin -Arquitectura de Computadores

    Introduccin ... rase una Vez los Microprocesadores

    1971 40048008

    8080, 8085 6800 IBM 801

    1978 8086, 8088

    1979

    1982 80186

    68000 MovimientoRISC

    1983 80286 68010

    1985 8038680486

    1989 Pentium

    1993Pentium Pro, MMX

    2006 Pentium 4(>3,7 GHz.)

    Core, Core 2 (Duo y Quad)Itanium, Itanium II

    68020

    6803068040

    68060601,

    603, 604,620740, 750G4, G5

    Arquitectura de Computadores Introduccin - 12

    Cuando en 1971 Intel sac a la calle el primer microprocesador, el 4004 no se imaginaba el futuro que le esperaba. Estemicroprocesador contaba con registros de 4 bits y un espacio de direcciones de 1 Kb. Le sucedieron el 8008, el8080 (primer microprocesador de propsito general) y el 8085; todos ellos con registros de 8 bits, y los dos ltimos con64 Kb de espacio de direccionamiento de memoria.

    En 1978 lanz el 8086, primer microprocesador de 16 bits, que direccionaba 1Mb de memoria (20 hilos en el bus dedirecciones), y con un reloj de 4,77 MHz., y cuatro aos ms tarde lo integraba en la misma pastilla, el 80186, junto contimers, DMA, y un controlador de interrupciones. Tambin en este ao arranc hacia los grandes espacios dedireccionamiento, con el 80286, que llegaba a los 16 Mb de memoria y ofreca ya varios niveles o privilegios de ejecucin.

    Los procesadores 80386 y 80486 fueron los primeros procesadores de Intel de 32 bits (ao 1985), aunque ya se le habanadelantado Bell Labs y Hewlett-Packard, que los sacaron 4 aos antes. Le sigui la saga de los Pentium, de 64 bits(aunque con 32 hilos en el bus de direcciones). Comenz en 1989, y pasando por el Pentium Pro y MMX, ha idoincrementando su velocidad de reloj hasta llegar a los 3,72 GHz (2006) del Pentium 4 570 y el Pentium 4 ExtremeEdition. La generacin sucesora de los Pentium es la Core y Core 2, que son multincleo (Core 2 Duo y Core 2 Quad).

    Los procesadores Itanium suponen una ruptura de compatibilidad con el modelo 8086, y estn basados en unaarquitectura con un bus de direcciones de 64 bits (IA-64).

    El competidor por excelencia de Intel ha sido Motorola, que comenz su andadura en este campo poco tiempodespus que Intel lanzara la familia 8080, con el 6800, un procesador equivalente al 8080. En el 79, dio un giro radical,sacando al mercado el 68000, un procesador con nueva arquitectura e incompatible con sus predecesores. Es unprocesador de 32 bits (aunque el bus de datos es solo de 16 hilos) y 24 bits de direcciones. Sobre este procesador seconstruyeron miniordenadores con Unix, lo que constituy el gran xito de Motorola.

    El 68000 se mejor con el 68010 (en 1983), que inclua soporte para gestin de memoria virtual. Otro gran xito fue el 68020 (1984), un verdadero procesador de 32 bits (bus de direcciones y datos), en el que se han apoyado famosasestaciones de trabajo como las de Sun, Apollo y Hewlett-Packard. El 68030 (1987) incluy una MMU completa.

    En 1989 sali el 68040 que, como el 80486, inclua un coprocesador matemtico, MMU y una cach. Esta saga de Motorola finaliz en 1994 con el 68060.

    Aunque IBM sac el primer procesador RISC, el 801, en 1975, el auge del movimiento RISC no lleg hasta comienzosde los 80. IBM continu con el desarrollo de arquitecturas RISC, hasta que en 1993 en una alianza con Motorola y

    Apple sac el PowerPC. A partir del modelo 620 son procesadores de 64 bits, y consiguen prestaciones similares a lasdel Pentium con un reloj bastante ms lento.

    Por el camino han surgido otros constructores, como Siemens, AMD y Cyrix, que adems de sus propios procesadoreshan sacado modelos compatibles con los de Intel.

  • 7/24/2019 Introduccion a Las Arquitecturas Computacionales1

    13/13

    Bibliografia

    Motherboards. (2010). Componentes internos. Disponible en:http://www.ing.unp.edu.ar/asignaturas/arquitectura/Mothers.pdf

    Popular Connector Pin Assignments for Data Communication. (2012). Disponible en:http://www.ing.unp.edu.ar/asignaturas/arquitectura/Conectores.pdf

    Componentes modernos de Hardware. (2014). Disponible en:http://www.sisoftware.net/

    CONOZCA SU HARDWARE. Documentos con informacin de hardware a nivel general. Disponible en:http://www.conozcasuhardware.com/

    http://www.ing.unp.edu.ar/asignaturas/arquitectura/Mothers.pdfhttp://www.ing.unp.edu.ar/asignaturas/arquitectura/Mothers.pdfhttp://www.ing.unp.edu.ar/asignaturas/arquitectura/Conectores.pdfhttp://www.ing.unp.edu.ar/asignaturas/arquitectura/Conectores.pdfhttp://www.sisoftware.net/http://www.sisoftware.net/http://www.sisoftware.net/http://www.conozcasuhardware.com/http://www.conozcasuhardware.com/http://www.conozcasuhardware.com/http://www.sisoftware.net/http://www.ing.unp.edu.ar/asignaturas/arquitectura/Conectores.pdfhttp://www.ing.unp.edu.ar/asignaturas/arquitectura/Mothers.pdf