Você está na página 1de 10
CAPITULO 1 INTRODUCCION 1.1. TENDENCIAS EN EL DISENO VLSI Las tecnologias de fabricacion de circuitos integrados de muy alta escala de in- tegracién (VLSI) permiten implementar funciones muy complejas en un unico chip. Esta circunstancia ha incrementado considerablemente los campos de apli- cacién de los circuitos integrados y modificado de forma sensible las técnicas de disefio de los mismos. Como ocurre con otros tipos de productos, pero sin duda potenciado por su vertiginosa evolucién, el mercado microelectrénico se ve condicionado por la de- manda de sistemas que ofrezcan altas prestaciones a bajos costes y en tiempos ra- zonables de lanzamiento al mercado. Cuando se habla de prestaciones en relacién con un sistema digital se atiende, generalmente, a la velocidad con que el sistema es capaz de realizar su funci6n. Pero cada dia es més frecuente la asignacién de tareas criticas a estos sistemas, por lo que una caracteristica igualmente importante es su fiabilidad 0 la probabi- lidad de que la funcién del sistema se realice adecuadamente. La busqueda de sis- temas més rapidos y més fiables viene siendo una tendencia habitual en la investi- gacién en el drea de electronica, incluso previa a la aparicion de los circuitos inte- grados. No obstante, la reduccién de tamano y el aumento de funcionalidad pro- porcionados por las tecnologias VLSI abren nuevas vias al permitir explorar solu- ciones inéditas a estos problemas. En relacion con el coste de los sistemas digitales, el progresivo avance en el ni- vel de integracién ha alterado los pesos especificos de los dos factores que contri- buyen al coste real de un circuito integrado: coste de disefo y coste de fabrica- cién. Hace algunos afios (en la década de los 70's), el coste de fabricacién era el factor dominante. Sélo resultaban fentables, bajo esta consideracién, aquellos circuitos que podian absorber un gran volumen de mercado. Un ejemplo tipico fueron los primeros microprocesadores. Al incrementarse la relacién funcionalidad/area y abaratarse los costes de fa- bricacion, el coste de disefio se convierte en el factor dominante. Esto es particu- larmente cierto en los circuitos integrados para aplicaciones especificas (ASIC's), cuya penetracion en el mercado es normalmente limitada. En este momento co- bran especial interés las técnicas estructuradas de disefio que permiten minimizar la duracién del ciclo de desarrollo, al tiempo que facilitan el tratamiento de la complejidad inherente a los sistemas VLSI. En definitiva, las claves que definen las tendencias actuales en el disefio de sis- temas digitales VLSI son velocidad, fiabilidad y disefio estructurado. Ninguno de estos tres conceptos es nuevo, pero todos ellos merecen ser revisados bajo las perspectivas de las posibilidades que ofrecen las tecnologias VLSI. 1.2. VELOCIDAD: EVOLUCION TECNOLOGICA Y MULTIPROCESADO El incremento de la velocidad de los sistemas digitales se ha acelerado conside- rablemente en los tiltimos afios. Una causa importante de este crecimiento es el continuo avance tecnolégico que proporciona dispositives mas répidos y mayor densidad de integracion. Junto a este hecho, y para superar los limites fisicos aso- ciados a la tecnologia, se han adoptado soluciones basadas en explotar el parale- lismo subyacente en muchos problemas, mediante la utilizacién de procedimien- tos arquitecturales bien ajustados a las posibilidades y limitaciones de las tecnolo- gias VLSI. Dichas arquitecturas permiten, en unos casos, la ejecucién eficiente de algoritmos paralelos, mientras que utilizan, en otros, nuevos modelos de compu- tacion. El cuadro de la figura 1.1 resume una taxonomia de arquitecturas paralelas propuesta muy recientemente por Duncan. La definicién detallada de cada una de las categorias escapa a los propésitos de esta introduccion y puede consultarse en [Dunc90] y [Skil88]. Esta taxonomia incluye a la clasica de Flynn, que clasifica las distintas arquitecturas atendiendo a la presencia de secuencias de instruccio- nes y datos simples o multiples [Flyn72] [— Vectorial — Array processor Sincronas SIMD L_ Memoria asociativa L— Sistélica [— Memoria distribuida mimo L— Memoria compartida -— MIMo/siMD |— Dataflow Derivados MIMD —J }— Reduction ‘_ Wavefront Figura 1.1, Taxonomia de arquitecturas paralelas. Dentro del amplio espectro reflejado en la figura 1.1, las arquitecturas MIMD (Multiple Instruction, Multiple Data Stream), especialmente las construidas con microprocesadores de coste relativamente bajo, ofrecen una solucién rentable a la demanda constante de potencia de célculo y velocidad. Una prueba de ello es que existen numerosos sistemas, tanto experimentales como comerciales, basa- dos en arquitecturas masivamente paralelas compuestas de miles de elementos de procesado [Seit85] [Bowe85] [Hill85] El disefio de sistemas multiprocesador puede estar enfocado bien a maximizar la capacidad de ejecucién de muchos trabajos simulténeos ("throughput- oriented"), 0 a acelerar la ejecucion de un unico trabajo ("speed-oriented") [Patt85]. En ambos casos, una de las claves para explotar con éxito el paralelismo consiste en proveer al sistema de una adecuada red de interconexién que facilite el intercambio de informacion entre los diferentes elementos (comunicacion de datos entre procesadores y memoria en un sistema de memoria compartida o en- tre procesadores en un sistema de memoria distribuida) [Bhuy87]. Las caracteristicas que definen una red de interconexidn son: 1) el modo de ‘operacion (sincrono o asincrono), 2) la estrategia de control (centralizado o distri- buido), 3) la metodologia de conmutacion (conmutacién de circuitos 0 conmuta- cién de paquetes) y 4) la topologia de la red [Feng81]. En la literatura se han re- portado numerosas estructuras que direccionan de forma distinta cada uno de los aspectos anteriores. Uno de los objetivos de nuestro trabajo consiste en aplicar la metodologia de disefio propuesta en esta Tesis a la implementacién de una red de interconexién. Dicha red establece un compromiso aceptable entre las solucio- nes de conexién total y de conexién mediante bus compartido en un sistema mul- timicroprocesador. 1.3. FIABILIDAD: TECNICAS DE TOLERANCIA A FALLOS El concepto de “computacién tolerante a fallos” -- obtencién de resultados co- rrectos incluso en presencia de fallos u otras condiciones andmalas o inesperadas en el sistema ~ ha estado tradicionalmente asociado a aplicaciones criticas como el control aeroespacial y nuclear. Sin embargo, puesto que los sistemas digitales van participando més activamente en muchas actividades cotidianas, el concepto de disponibilidad del sistema cobra mayor sentido. La disponibilidad de un siste- ma se define como la probabilidad de que el sistema esté operativo en un instan- te de tiempo [Siew84] Por otra parte, el incremento en la complejidad de los sistemas, junto a la ma- yor susceptibilidad al ruido y las radiaciones (como resultado de las muy bajas energias de conmutacién en los dispositivos VLSI) hacen que la fiabilidad, o pro- babilidad de que un sistema se mantenga operativo durante un intervalo de tiem- po, sea una caracteristica de importancia creciente en muchos sistemas digitales [syng90] Un ingrediente comin a todas las técnicas de tolerancia a fallos es la redun- dancia. Redundancia significa aumentar la cantidad de informacién, tiempo o re- cursos necesarios para la operacién normal del sistema [John84]. En [Siew82] po- demos encontrar una completa revision de las diferentes estrategias al aplicar re- dundancia. Ejemplos tipicos de redundancia de informacién son los cédigos de deteccién y/o de correcci6n de errores, formados por la adicién de informacion a la estructura de datos. La redundancia temporal implica repetir varias veces la misma operacién, u operaciones equivalentes, y comparar los resultados. Se utili- za principalmente para distinguir entre condiciones de error transitorias y perma- nentes. Por ultimo, la replicacién fisica de los componentes del sistema constituye la forma més habitual de proporcionar tolerancia a fallos (Figura 1.2). Cédigos de deteccién y/o Informacion correccién de errores [— Ejecucion repetida Tiempo L_ Técnicas de software -— Pasiva ——— TMR,NMR Cae | active Duplicacién y comparacion Sustitucién sin interrupcién L Hibrida ——— HMR Figura 1.2. Diferentes técnicas de redundancia. Los métodos de replicacién de componentes quedan englobados en diferentes categorias. Las técnicas de replicacién pasiva permiten enmascarar los fallos al vo- tar los resultados de las distintas réplicas. Los ejemplos més caracteristicos son la redundancia modular triple (TMR) y su extensién a la redundancia N-modular (NMR). Las técnicas de replicacion activa localizan y corrigen los fallos. Algunos ejemplos son el uso de replicacién y comparacién y la sustitucién on-line del mé- dulo erréneo por un elemento de reserva. Por ultimo, las técnicas de replicacion hibrida, como la redundancia modular hibrida (HMR), combinan las ventajas de las dos anteriores al permitir enmascarar, localizar y corregir los elementos que presentan fallos en su comportamiento. La presencia de un numero elevado de elementos idénticos y de bajo coste en un sistema multiprocesador, y el hecho de que estos elementos pueden ser consi- derados como componentes elementales desde la perspectiva del disefio VLSI, permiten seguir un enfoque adicional en el diseno de este tipo de arquitecturas. La idea de utilizar un sistema multiprocesador para cubrir aplicaciones que re- quieran una alta disponibilidad (“availability-oriented”) constituye la segunda de las motivaciones que determinaron la eleccién de la arquitectura de red de inter- conexion utilizada como ejemplo en esta Tesis. 1.4, TECNICAS ESTRUCTURADAS DE DISENO: METODOLOGIA El estado actual de la tecnologia VLSI permite incluir cientos de miles de tran- sistores en un solo circuito integrado, posibilitando la realizacién de sistemas electronicos de complejidad creciente. Salvo en el caso de los chips de memoria (que presentan una gran regularidad) el tratamiento de dicha complejidad consti- tuye la clave principal del diseno VLSI [Sequ83} Por otra parte, el mercado de los sistemas electrénicos demanda continua- mente una mayor funcionalidad, acompafiada de la reduccin en los costos y en el tiempo de desarrollo de los productos, hasta tal punto que un nuevo producto puede quedar obsoleto antes de aparecer en el mercado si su disefo no se ha realizado dentro de unas cotas temporales razonables. Con objeto de aprovechar al maximo el potencial tecnolégico y hacer frente a los condicionantes de mercado, es preciso utilizar una serie de procedimientos o técnicas que faciliten 1a manipulacién de la informacién asociada con el disefio de sistemas VLSI. Dichas técnicas se basan en distintos estilos de disefio potenciados por la aparicién de numerosas herramientas de CAD. Las diferentes estrategias 0 estilos de disefio establecen compromisos acepta- bles entre el grado de optimizacion del producto final y el esfuerzo invertido en su desarrollo. El disefio de un sistema VLSI del que se espera introducir en el mer- cado varios cientos de miles de unidades suele abordarse mediante estrategias full-custom. De esta forma, el coste derivado del esfuerzo en el disefo va a que- dar compensado por el beneficio que supone la reduccién de drea y el incremento de prestaciones en cada uno de los chips fabricados. Por otra parte, cuando el cos- te de desarrollo no es absorbido por la produccién de un elevado numero de uni- dades, cobran sentido los estilos de disefio denominados semi-custom. En este ca- so la falta de optimizacién se ve compensada por la rapidez del ciclo de disehio lerdes6). Los principales procedimientos semi-custom para el diseno de sistemas digita- les se agrupan en las categorias de gate-arrays y standard-cells [DeCa86]. Un gate- array es un circuito integrado consistente en una matriz de celdas predefinidas que ha pasado por todos los estados del proceso de fabricacién del chip salvo la metalizacién final. La interconexion de los diferentes dispositivos de cada celda define la funcionalidad de las mismas y la interconexién de las diferentes celdas permite implementar el sistema. Ya que la personalizacién del chip se reduce a la definicién de dos o tres niveles de mascaras, la utilizacion de gate-arrays reduce los costes y el tiempo de realizacién de un disefio. Como contrapartida, el princi- pal inconveniente proviene de la ineficiente utilizacion de area, debida al espacio reservado para interconexiones y a que el circuito integrado esta sujeto a un ta- mano y numero de terminales fijo, que no siempre se utiliza. Numerosos fabrican- tes de silicio ofrecen gate-arrays de diferentes caracteristicas en casi todas las tec- nologias digitales (TTL, NMOS, CMOS, ECL). Existen, asimismo, numerosas herra- mientas de CAD que facilitan su realizacion. El disefio mediante standard-cells se basa en {a utilizacién de un conjunto de elementos funcionales basicos, totalmente caracterizados y agrupados en una li- breria de celdas. En muchas ocasiones dichas celdas estan sujetas a algunas restric- ciones de layout (tamaiio, situacién de las E/S, etc.) que facilitan las tareas de colo- cacién e interconexién mediante programas de CAD. El desarrollo de herramien- tas de ayuda al disefio es mucho mas dificil cuando la libreria incluye celdas de di- ferentes tamarios y formas, asi como bloques parametrizados (PLA’s, RAM, ROM). No obstante, en este ultimo caso puede conseguirse una mayor reduccién del ta- majio del chip. Tanto en un caso como en el otro, la personalizacién del disefio afecta a todos los niveles de mascaras que posibilitan la fabricacién del circuito in- tegrado. Con independencia del estilo de disefo utilizado, aunque fuertemente influi- do por éste, cuando la complejidad de un sistema es elevada se hace necesario el empleo de un procedimiento ordenado o metodologia de disefio. De esta forma podemos llegar a una solucién en el menor tiempo posible y con garantias sufi cientes de funcionamiento correcto. Un aspecto comin a muchas de las metodo- logias actuales es el uso de jerarquias en los distintos dominios de representacion del proceso de disefo [Lang86]. La organizacién jerarquica de un circuito, desde el punto de vista estructural, es la base de la metodologia propuesta por Mead y Conway [Mead80]. Este estilo de disefo enfatiza una aproximacién jerarquica desde el nivel superior a los nive- les inferiores (top-down). Tiene por objeto particionar el sistema en médulos que, a su vez, son divididos en submédulos que plantean menos problemas y pueden ser resueltos independientemente. Una buena estructuraci6n y el correcto parti- cionado de un sistema minimiza la interaccion entre las diferentes partes y facilita todas las fases de disefio A lo largo del proceso de diserio el sistema es descrito por sucesivas represen- taciones que corresponden a diferentes niveles de abstracci6n: algoritmico, logi- co, eléctrico, etc. Las diferentes representaciones constituyen una jerarquia que denominaremos “jerarquia de abstraccién” para distinguirla de la jerarquia es- tructural o fisica a la que nos referiamos anteriormente. Bajo esta perspectiva, el disefio es el proceso de transformar un problema de una representacién a otra (correspondiente a un nivel inferior de la jerarquia de abstraccién) hasta que la representacién final proporcione una solucién al problema planteado [Pend85]. Es decir, hasta la obtencién de la descripcién simbélica de la geometria final de todas las capas del proceso tecnolégico. Otra caracteristica general de la mayoria de las metodologias de disefio es la tendencia a automatizar los niveles mas bajos del disefio, mientras que el disenio a alto nivel se reserva al disefiador humano. El sistema de automatizaci6n del dise- fio desarrollado en el Universidad de Carnegie Mellon (CMU-DA) constituye una notable excepcion a esta regla [Park79], [Dire81], [Kowa83}. En el disefio de procesadores VLSI de propésitos generales es habitual la divi- sion del trabajo global en dos macrotareas que suelen ser llevadas a cabo por gru- pos de personas distintos que utilizan entornos y metodologias de disefio diferen- tes. La primera de estas macrotareas incluye el desarrollo de nuevas arquitecturas. Ello implica actividades de sintesis tales como la definicién de especificaciones y la determinacién del conjunto de instrucciones y la estructura de registros, asi como actividades de verificacion del comportamiento y analisis de las prestaciones. Por otro lado, la segunda de las macrotareas corresponde al diseio de esas arquitec- turas. Esta situacién se ilustra en el esquema de la figura 1.3. Fase-1 Fase-2 Especifiaciones + Arquitectura Microarquitectura + Siicio Figura 1.3. Particién habitual del proceso de diseno. Como consecuencia de la aproximacién anterior, se estd focalizando la auto- matizacién de la segunda macrotarea con las técnicas de disefo y test de alto ni- vel. Sin embargo, queda fuera de la jerarquia el establecimiento de un puente en- tre ambas macrotareas, de tal manera que sea posible re-entrar en la jerarquia de disenio desde mucho mas arriba y no tomar decisiones irrevocables cuando toda- via es prematuro. La diferencia de enfoque entre el disefio a nivel arquitectural y los restantes niveles de disenio no es siempre eficiente. En particular puede resultar un handicap importante en la realizacion de circuitos VLSI de aplicaciones especificas (ASIC's). El volumen de mercado previsto para este tipo de circuitos no permite la Participacion de grandes grupos de personas especializadas en los diferentes niveles de disefio. Por otro lado, la eleccién a priori de una determinada arquitectura puede no ser una estrategia acertada. Esto es cierto en aquellos casos en que no aparezcan cuellos de botella insalvables en la comparacion entre varias posibles arquitecturas, 0 en aquellos otros en que se pretende dotar al sistema resultante de una flexibilidad cuyo coste a nivel de silicio no pueda ser determinado hasta fases muy avanzadas del proceso de disefio. La inclusion en una fase Unica de todas las actividades de disefio que trascu- rren entre la definicién de las especificaciones de un sistema y su realizacion sobre silicio constituye la idea central del trabajo desarrollado en esta Tesis (Figura 1.4). Fase-dnica Especificaciones ~ Silicio Figura 1.4. Nuestra aproximacién al proceso de diseno. 1.5. OBJETIVOS Y ORGANIZACION DE LA TESIS Este trabajo se focaliza en establecer una metodologia propia adecuada para el diseno de sistemas digitales de alta complejidad, vinculando estrechamente la fase de desarrollo arquitectural con las restantes fases de disefio. La primera caracteristica que debe poseer una metodologia es que sea practi- ca. Por este motivo hemos verificado el procedimiento aplicandolo a la realiza- cion de un disefo concreto. El sistema elegido direcciona los dos primeros aspec- tos del disefio VLSI que mencionamos en Ia introduccién de este capitulo (veloci dad y fiabilidad). Los objetivos que se pretenden conseguir con el presente trabajo quedan reco- gidos formalmente en los siguientes cuatro puntos: 1. Proponer una metodologia practica, adecuada a nuestras necesidades y que aproveche de forma realista los recursos a nuestro alcance 10 2. Hacer que esta metodologia se extienda a las fases més altas del diseno, incluyendo a la propia arquitectura - Construir una metodologia abierta que constituya un marco de trabajo en el que puedan incluirse progresivamente otro tipo de facilidades. En con- creto, consideramos como objetivos futuros la inclusion de técnicas de tes- tabilidad, la incorporacién de herramientas de diseno légico a alto nivel y la compatibilizacion con herramientas analégicas. 4- Validar la metodologia, abordando como caso practico el diseno de una de procesadores de comunica ados en la red de interco- nexién de un sistema multiprocesador que incluye técnicas de redundancia fami nes, uti masiva para soportar tolerancia a fallos. En el capitulo 2 de la memoria se describe la metodologia propuesta, desglo- sando las actividades correspondientes a cada uno de los niveles de disenio que considera. El capitulo 3 presenta los principios de funcionamiento de la red de in- terconexién implementada para verificar la metodologia. Los capitulos 4 a 7 co- rresponden a los distintos niveles de disefio de la misma. Los aspectos arquitectu- rales se abordan en los capitulos 4 y 5, para los modos de operacién normal y re- dundante del sistema, respectivamente. A partir de las especificaciones iniciales, se analizan una serie de opciones de diseno con objeto de determinar su viabili- dad, asi como la relacién coste/rendimiento de cada alternativa. El capitulo 6 re- coge el nivel de disefio de la microarquitectura. La descripcion algoritmica de las distintas opciones arquitecturales se convierten, tras sucesivas transformaciones, en un conjunto de circuitos légicos que implementan las diferentes funciones del sistema. Por Ultimo, en el capitulo 7 se describe la realizacién del layout de los cir- cuitos y su interconexién. Para ello se exploran las posibilidades de las distintas herramientas de disefio y las facilidades de integracin a nuestro alcance. La me- moria se completa con una serie de apéndices que contienen informacién relacio- nada con las diferentes herramientas de CAD utilizadas en cada nivel de diserio.

Você também pode gostar