Está en la página 1de 13

ArturoMarzodelaFuente ArquitecturasBasadasenMicroprocesadores 3I.T.I.

Gestin Curso200708

COMPUTADORES/PROCESADORES SUPERSEGMENTADOS

1. Introduccin
En su descomposicin funcional ms sencilla, un microprocesador se compone de una UnidaddeControlyunaUnidaddeProceso.EnestaltimaconvivaninicialmentelaALUy el banco de registros, pero enseguida se aadieron nuevas unidades funcionales en la bsquedadeunaumentodelrendimiento.Lamayoradeestasadicionesayudanaobtener alguna forma de paralelismo a nivel de instruccin. Esto consiste en romper con la ejecucin secuencial de instrucciones (una detrs de otra en el tiempo) para obtener a ejecucindevariassimultneamente. La supersegmentacin de los procesadores es una tcnica de implementacin que buscaelmencionadoparalelismoaniveldeinstruccin,peroantesdeexplicarlo,conviene explicar otras tcnicas que tambin sirven para lograr el paralelismo y que suelen combinarse todas juntas en el diseo de los actuales microprocesadores como son la segmentacin,lasuperescalaridadylacombinacindeambas.

2. Segmentacin
Lasegmentacin(pipelining)esunatcnicadeimplementacindemicroprocesadores porlacualsesolapalaejecucindemltiplesinstrucciones.Hoyda,lasegmentacinesla tcnicadeimplementacinclaveutilizadaparahacerCPUrpidas. La segmentacin es como una lnea de ensamblaje: cada etapa de la segmentacin completaunapartedelainstruccin.Comoenunalneadeensamblajedeautomviles,el trabajoquevaarealizarunainstruccinsedescomponeenpartesmspequeas,cadauna de las cuales necesita una fraccin del tiempo necesario para completar la instruccin completa.Cadaunodeestospasossedefinecomoetapadelasegmentacinosegmento. Lasetapasestnconectadas,cadaunaalasiguiente,paraformarunaespeciedecaucelas instruccionesentranporunextremo,sonprocesadasatravsdelasetapasysalenporel otroextremo.

2.1. Procesadorsegmentado
Un procesador segmentado es aquel que divide el proceso de ejecucin de una instruccin en N etapas de similar duracin con el objetivo de procesar N instrucciones simultneamente,encontrndosecadaunaenunaetapadiferentedesuejecucin. Conseguimos as, que un procesador compuesto por N unidades funcionales que trabajanalavezencircunstanciasideales,incrementesurendimientoenunfactordeN. Las instrucciones fluyen secuencialmente por las distintas unidades funcionales del procesadordeigualformaqueelaguafluyeporelcaucedeunatubera,deahqueenla jergadelacalleselesconozcacomoprocesadorespipelinequesignificatuberaeningls. El modelo de segmentacin ms repetido en la primera mitad de los aos 90 es el compuesto por las siguientes cinco etapas: bsqueda de la instruccin, decodificacin, lecturadeoperandos,ejecucindelaoperacinasociada,escrituradesuresultado. El DLX es un microprocesador diseado por John L. Hennessy y David A. Patterson presentaunaejecucinencincoetapas,similaresalasdelmicroprocesadorMIPS,tambin diseadoporJohnL.HennessyenlaUniversidaddeStanford,buscandolafilosofade la segmentacin.Estascincoetapasson: IF:bsqueda ID:decodificacin EX:ejecucindeunidadaritmticolgica MEM:memoria WB:escritura De esta manera, mientras el procesador escribe una instruccin, ejecuta simultneamentelasiguiente,buscalosoperandosdeunatercera,decodificaunacuartay buscaenmemoriaunaquintainstruccin,logrndoseenuncasoidealunaaceleracinde cincoparaelrendimientodelchip. 3

Podemosobservarenelsiguientegraficolaejecucinsimultneadecincoinstrucciones endistintasetapasenunprocesadorDLX:

Figura1. Todos los microprocesadores actuales se encuentran segmentados, habiendo aumentado el nmero de etapas con el paso de las generaciones. As, lo normal en la sptima generacin es encontrarnos con cauces de ejecucin entera de 20 etapas de segmentacinenelcasodelPentium IV(2003)deIntelo31etapasenlosprocesadores Prescott(2004)tambindeIntel. Juntoalcauce(pipeline)deejecucinenterosesitanotroscaucespordondecirculan otrostiposdeinstrucciones,principalmentemultimediaydepuntoflotante.Noobstante, hastaquenoconcluyalafasededecodificacindeinstruccin(ID)nosepuederealizarla ramificacin, las primeras etapas de segmentacin son siempre comunes a todos los caucesdelprocesador,locualsepuedeobservarconfacilidadenlaFigura2mostradams adelante. La gran ventaja de la aplicacin de la segmentacin en el diseo de los microprocesadores es que el aumento del rendimiento se consigue con solo reorganizar lasunidadesfuncionalesexistentes,porloquenosuponeunincrementodecostepara laUnidaddeProceso.EldiseodelaUnidaddeControlssecomplicaunpocoamedida que aumenta el nmero de etapas y el grado de concurrencia en la ejecucin de las instrucciones pero es despreciable si lo comparamos con el espectacular incremento del rendimiento.

3. Superescalaridad
La superescalaridad consiste en la replicacin de la circuitera de las unidades funcionales de un microprocesador, creando por lo tanto varios cauces (pipelines) de maneraquesepuedanejecutarvariasinstruccionesalavez.

3.1. Procesadorsuperescalar
UnprocesadorsuperescalardefactorNesaquelquereplicaNveceslacircuiterade alguna de sus unidades funcionales con el fin de poder ejecutar N instrucciones en sus respectivasetapasdecomputacin. Conlamejoradelacapacidaddeintegracindecircuitosquepermitenconcentrarmsy mscomponentesdentrodeunchip,losdiseadoresdemicroprocesadorestambinha aumentado el factor de Superescalaridad, logrando, al igual que en la segmentacin, mejorasdelrendimientodeunfactordeN. Sin embargo, el coste de incrementar el rendimiento mediante la Superescalaridad es superioraldelasegmentacin.Elhechodequeelcostedeintegracinportransistorse reduzca con la evolucin de las generaciones de microprocesadores indica que es un mtododeincrementodelrendimientoaltamenterentableparalosdiseadores. Enelsiguientegraficosemuestralaejecucinenparalelode5instruccionescadaunaen sucauceopipeline,loquerepresentaunasuperescalaridaddefactor5. Figura2.

4. Combinacindesegmentacinysuperescalaridad
ComopuedeobservarseenlaFigura3,lasfilosofasdesegmentacinysuperescalaridad sonperfectamentecompatibles. Figura3 Sinembargo,existenciertosconflictosalahoradeponerenprcticasimultneamente ambasideas,yesquecadatcnicaexigeunosrequisitosdiferentes: Lasegmentacinrequiereunaelevadafrecuencia,deformaquesolounperiodo derelojmuycortopermitirdescomponercadainstruccinenun nmeroelevado deetapas. La superescalaridad, por el contrario, necesita un ingente nmero de transistoresparapoderserimplementada,yestosoloseconsigueconmejorasenla tecnologadeintegracin.

Porlotanto,lasuperescalaridadestorbaalasegmentacinporquestaprovocaun desdobledelacircuiteraexistente,queperjudicalafrecuenciadereloj,loquedificultael obtenerunnmeroelevadodeetapasdesegmentacin. De igual forma la segmentacin estorba a la superescalaridad ya que cuando las etapassontanminsculas,esdifcilincrementarlacomplejidadreplicandolacircuitera. Por tanto, los diseos fuertemente segmentados no utilizan un factor de superescalaridad alto, y los que apuestan por la superescalaridad reducen el nmero de etapas de segmentacin. Por ejemplo, el Pentium IV de Intel llega a las 20 etapas de segmentacin pero solo tiene un factor tres de superescalaridad, mientras que el K7 de AMD consigue un factor cinco de superescalaridad a costa de reducir a 14 el nmero de etapasdelcaucedeejecucinentero.Alfinal,lasdosestrategiasalcanzanunparalelismo de entorno a las 6070 instrucciones simultneas compatibilizando los dos conceptos, peroencadacasosedaprioridadaunadelasdosfilosofas.

5. Supersegmentacin
La palabra supersegmentacin nos lleva a la tentacin de aplicar la ecuacin superescalar+segmentado=supersegmentado,cuandoenrealidadlaecuacincorrectaes segmentado+segmentado=supersegmentado. La supersegmentacin consiste en segmentar algunas de las etapas (en concreto las mslentas)quemencionamosparalosprocesadoressegmentados,endosomsetapasde manera que se permite que haya dos instrucciones a la vez dentro de la misma etapa y unidadfuncionalsintenerquereplicarsta(superescalaridad).Deestaforma,dividiendo porejemplocadaetapaen2,elcicloderelojdeperiodoTseverreducidoalamitad,T/2, deestaformaalmximodecapacidadelcauceopipelineproduceunresultadocadaT/2 segundos.

5.1. Procesadoressupersegmentados
Un procesador supersegmentado es aquel que aplica dos veces el concepto de segmentacin, la primera al nivel de diseo global, y la segunda al nivel interno de sus unidadesfuncionales. Porejemplo,unadescomposicinencincoetapasdesegmentacincomoladelPentium, compuesta por las etapas de bsqueda, decodificacin, lectura, ejecucin y escritura, permiteaplicarotrasegmentacinacadaunadelasunidadesfuncionalesqueintervienen encadaciclocomoson:lacachdeinstrucciones,eldecodificadordeinstruccin,lacach dedatos,laALUoelbancoderegistros. En el caso de la cach de instrucciones, que es referenciada en la primera etapa, esta puedeserunacachsegmentadaendosetapas,quepermitesimultanearlabsquedade unainstruccinylalocalizacindesuceldadecachasociada,conlalecturadelcdigode la anterior instruccin y su volcado al bus de datos del procesador. As se obtienen dos nivelesdesegmentacincomosemuestraenelaparatadod)delaFigura4,enlaquese comparanlascuatrotcnicasdeparalelismoexpuestas:

Figura4 Estasegmentacinhaprovocadoundesdobledelasealdereloj,quediscurreporeleje temporaldeabscisasaldobledefrecuenciaqueenlosotrostresdiagramasmostrados.En general, la supersegmentacin lleva asociada la subdivisin del ciclo de reloj base en ciclossupersegmentados(comoseapreciaenlaFigura5),tantoscicloscomoetapasse hayan establecido para el segundo nivel de segmentacin, lo que desemboca en diseos quetrabajanamuyaltafrecuencia. Figura5

Una buena implementacin supersegmentada siempre incluye la ejecucin de instrucciones fuera de orden. La ejecucin de instrucciones fuera de orden es un paradigma utilizado en la mayora de los microprocesadores de alto rendimiento por el cual,siunavezcapturadaunainstruccinlosoperandosnoestndisponibles,paraevitar esperasimproductivasdelprocesadorhastaqueestndisponibleslainstruccinsepone en una cola a la espera, de forma que otras instrucciones puedan abandonar la cola y ejecutarse si sus operandos estn disponibles. La ejecucin fuera de orden minimiza el efectonegativoqueproducenlasesperaspordependenciasdedatossobreelrendimiento del procesador pero para desarrollarla hace falta tambin implementar la superescalaridadenlosprocesadores.

5.2. Ejemplosdeprocesadoressupersegmentados 5.2.1. R4000yR4400


La empresa MIPS Technologies, fundada por investigadores de la Universidad de Stanford, incluido John L. Hennessy, lanz en 1991 el primer microprocesador de 64 bit,elR4000.IntegrabalaFPUdentroparacrearunmicroprocesadordeunsolochipy operaba a unas frecuencias radicalmente altas para la poca (cuando fue introducido, trabajabaa100MHz). Sinembargoparalograraumentarlafrecuenciadelrelojhuboquereducirlas3cachs a 8Kb (con respecto a los 64 Kb que presentaban los anteriores procesadores R3500) y requeran3ciclosparaseraccedidas. Estas grandes velocidades de operacin fueron posibilitadas usando la tcnica llamada deep pipelining (segmentacin profunda) y denominada ms tarde como supersegmentacinosuperpipelining. Presentaba una supersegmentacin de 8 etapas (en vez de las 5 del DLX), como los accesosalacachsoncrticos,lasetapasqueaccedenamemoriasehansubdividido: IF,IS RF,EX DF,DS,TC WB

Accesoacachdeinstrucciones

Accesoacachdedatos

Con el desarrollo del R4000 se desarroll un nmero de versiones mejoradas como el R4400de1993,queincluacachsde16Kb,unoperadorde64bitampliamentedepurado ysoporteparaunacachexternadenivel2. A continuacin podemos observar un esquema de la supersegmentacin de 8 etapas quepresentabanestosprocesadoresMIPS:

10

Figura6

5.2.2. PentiumPRO El procesador Pentium PRO desarrollado en 1995 y perteneciente a la sexta generacin de procesadores estaba compuesto por 5.500.000 transistores, increment su velocidad usando una supersegmentacin de 14 etapas y trabajabaaunafrecuenciade200MHz,conunFrontSideBus(FSB)de66MHz. Potencielparalelismomediantelaejecucindeinstruccionesfueradeorden y la incorporacin de ms unidades de ejecucin que trabajan simultneamente. Incluyunacachinternadesegundonivelylacachdenivel1presenta2cauces deinstruccionesy4dedatos.Encuantoasurendimientosehaestimadoen220 SPECInt92. 5.2.3. ALPHA21264 UnclsicoejemplodediseosupersegmentadoeselprocesadorAlpha21264de Digital,procesadorRISCdeprincipiosdeladcadadelos90yhermanomenordel Alpha21364deCOMPAQquefueelencargadodedecodificarelgenomahumano enlaempresaCeleraGenomic. El segundo nivel de segmentacin de esta arquitectura incluye una descomposicin en nueve etapas para el caso de la cach, lo que dio lugar a una frecuencia de reloj de 600 MHZ a finales de 1997, cuando en esa poca los Pentium II y dems modelos para PC operaban a menos de la mitad de esa frecuencia.

11

5.2.4. UltraSPARC El procesador UltraSPARC II lanzado a mediados de 1996 por Sun Microelectronics,pertenecealasegundageneracindelafamiliaUltraSPARCyfue pensadoparamantenerestacionesdetrabajo. Presenta una arquitectura de 64 bits supersegmentada y un factor 4 de superescalaridad.Estcompuestopor5.400.000transistores,operaaunrangode frecuenciasdeentre250y480MHzydisponededoscachsdenivel1de16Kby una cach de nivel 2 de entre 256 KB y 16 Mb. Finalmente, se le estima un desempeode:

350420SPECInt92. 550660SPECFp92.

5.2.5. PentiumIV Desarrolladoenel2000,estcompuestode42.000.000detransistores,funciona a una frecuencia de 24 GHz, con un FSB de 400 MHz. Presenta una supersegmentacin de 20 etapas y ofrece 144 nuevas instrucciones para procesarvideoyaudio,optimizandoelrendimientoparalastecnologasmodernas deInternetyvisualizacindegrficosen3dimensiones. A continuacin un grfico
que muestra la ejecucin de 4 instrucciones en las 20 etapas supersegmentadas de un PentiumIV.

Figura7

Surendimientoseestimaen:
12

410SPECint2000. 14,6SPECint95.

6. Bibliografa
Recursoselectrnicos: http://es.wikipedia.org/wiki/Segmentaci%C3%B3n_(inform%C3%A1tica) http://es.wikipedia.org/wiki/DLX http://es.wikipedia.org/wiki/Arquitectura_MIPS http://vagos.es/showthread.php?t=63741 http://www.angelfire.com/ca6/angie/segmentados.htm http://aulavirtual.uji.es/file.php/2648/Teoria/Primer_cuatrimestre/Tema2_sup erescalares/2_1_introduccion_procesadores_superescalares.pdf http://www.atc.us.es/asignaturas/asp itis/descargas/Transparencias_ASP_Tema_5_Introduccion_al_Paralelismo.pdf http://osito.disca.upv.es/aic/es/teoria/t9.pdf http://dac.escet.urjc.es/docencia/Micros/Microprocesadores2.pdf http://www.dacya.ucm.es/hidalgo/arquitectura/pipeline.pdf http://www.cag.lcs.mit.edu/raw/documents/R4400_Uman_book_Ed2.pdf http://www.macuarium.com/cms/index.php?option=com_content&task=view& id=218&Itemid=93 http://www.dcc.uchile.cl/~rbaeza/cursos/proyarq/maraya/node9.html http://research.sun.com/features/tenyears/volcd/papers/SPARCv9.pdf Publicaciones: Arquitectura del PC Volumen 1. Autor: Manuel Ujaldn Martnez. Editorial: MegamultimediaS.L. Arquitectura de computadores Un enfoque cuantitativo. Autores: John L. Hennessy,DavidA.Patterson.Editorial:McGrawHill. Tema4deapuntesdeArquitecturadeloscomputadores.

13

También podría gustarte