Kopioi artikkelin PDF-versio
Tietokoneverkot tunkeutuvat ASIC-piirien sisuksiin. Piin tarjoamat mahdollisuudet lisääntyvät niin, että piirien sisälle täytyy suunnitella kokonaisia tietokoneverkkoja, joissa eri tehtäviin optimoidut tietokoneet kommunikoivat keskenään.
Tulevien kehityssuuntien arviointi ja ennakointi on tärkeää, jotta tuotteiden suunnittelussa pystyttäisiin ottamaan riittävän aikaisin huomioon teknologiakehityksen suomat mahdollisuudet ja sitä kautta luomaan kilpailukykyisiä tuotteita. Viimeisin vuonna 2001 julkistettu ennakointiraportti (International Technology Roadmap for Semiconductors) kertoo CMOS-puolijohteiden kehityksen jatkuvan lähes aiempaan tahtiin ainakin kymmenen vuotta.
Kun vuonna 2001 tuotannossa olevaan prosessori/logiikkapiiriin voitiin pakata vajaa 300 miljoonaa transistoria, tulee vuonna 2007 tuotannossa olemaan jo yli miljardi transistoria sisältäviä piirejä. Samanaikaisesti piireistä saatavaa laskentatehoa tulee kasvattamaan kellotaajuuden kasvu noin kolminkertaiseksi. Lisääntyvän suorituskyvyn vastapainoina ovat suunnittelun monimutkaistuminen ja useat teknologiset muurit, joita voidaan hallita vain muuttamalla radikaalisti muun muassa arkkitehtuureja ja suunnittelumenetelmiä.
Järjestelmäpiiristä verkkopiireihin
Useat tuotteet, kuten matkapuhelimet ja langattomat päätelaitteet, perustuvat jo nyt järjestelmäpiirien (System-on-Chip, SoC) käyttöön. Järjestelmäpiirien suunnittelussa yhdistyy perinteisen tietokoneen suunnittelu ja ASIC-suunnittelu. Suunnittelun tuottavuus- ja laatuongelmien ratkaisemiseksi on otettu käyttöön IP-lohkopohjaista suunnittelua ja alustapohjaista (platform-based design) suunnittelua.
Tavoitteena on ollut lisätä uudellenkäyttöä ja nostaa se virtuaalikomponenttitasolta arkkitehtuuritasolle. Valmiiksi suunniteltujen prosessoriytimien kuten ARM- tai DSP-ytimen asemasta nykyisin puhutaan kokonaisten toiminnallisten kokonaisuuksien uudelleenkäytöstä.
Verkkopiiri (Network-on-Chip, NoC) voi tulevaisuudessa sisältää kymmeniä, jopa satoja prosessoreita, joilla kullakin on käytössään omaa muistia ja muita tarvittavia lohkoja. Tällaista verkkopiiriä ei enää voi toteuttaa yhteen synkroniseen kelloon perustuen, koska signaalin kulkeminen piirin reunalta toiselle voi viedä useita kellojaksoja. Verkkopiirien suunnitteluun onkin laajasti ehdotettu paikallisesti synkroninen/laajasti asynkroninen-tyyliä, jossa kukin tietokone paikallisesti toimii synkronisesti, mutta eri tietokoneet kommunikoivat piirillä keskenään asynkronisesti.
Nykyiset väyläpohjaiset arkkitehtuuriratkaisut eivät enää sovellu tällaiseen prosessorien väliseen kommunikointiin, vaan piirin sisälle tarvitaan nykyistä Internet-verkkoa muistuttavia, mutta huomattavasti keveämpiä kommunikointiratkaisuja. Kohteena olevasta sovellutusalueesta riippuen prosessorit voivat olla keskenään erilaisia, jolloin puhutaan heterogeenisesta verkosta, tai keskenään samanlaisia, jolloin puhutaan homogeenisesta verkosta. Tavallisen prosessoriarkkitehtuurin sijasta voidaan käyttää myös esimerkiksi rinnakkaisprosessoriarkkitehtuuria.
Jos SoC-suunnittelun kompleksisuus ja tuottavuus on ollut ongelma parhaillekin T&K-organisaatioille, niin NoC-suunnittelun haasteet tulee karsimaan jyvät akanoista. NoC-piireillä voidaan toteuttaa monitoimituotteita, joihin liittyvät toiminnalliset vaatimukset ja tarpeet eivät ole kokonaan tiedossa suunnittelun aikana.
Millaiset verkkopiirit ovat mahdollisia?
Verkkopiirit ovat järkevä vaihtoehto ainoastaan silloin, kun tuotteiden monimutkaisuus tai toiminnallinen monipuolisuus sitä edellyttää. Verkkopiirejä tarvitaan vasta kun laskentakapasiteetin tai piirin sisäisen muistin tarvetta ei voida tyydyttää perinteisin tietokonearkkitehtuurien keinoin. Toinen vaihtoehto on tilanne, jossa tuotevaatimukset edellyttävät eri toimintojen optimointia sellaiselle tasolle, jossa kokonaisuus täytyy rakentaa liittämällä yhteen optimaalisesti suunniteltuja osajärjestelmiä
Verkkopiirien toteutuksessa on useita eri vaihtoehtoja. Perusjakona voidaan pitää rinnakkaistietokoneiden sisäisiä verkkoja ja hajautettujen järjestelmien verkkoja. Toinen tapa tarkastella asiaa on puhua piirikytkentäisistä ja pakettikytkentäisistä verkoista.
ASIC-piiriteknologia ja verkkopiirin sisäiset pienet etäisyydet luonnollisesti rajaavat mielekkäiden verkkoratkaisujen joukkoa. Toisaalta ne mahdollistavat myös sellaisia vaihtoehtoja, jotka eivät muuten olisi kustannustehokkaita. Esimerkiksi rinnakkaista tiedonsiirtoa voidaan käyttää paljon tehokkaammin. 200 rinnakkaista johdinta ASIC piirillä tarkoittaa 0,18 mikrometrin teknologialla toteutettuna alle 0,1 millimetrin levyistä aluetta. Mahdolliset tiedonsiirtonopeudet ovat toinen merkittävä ero. Piirien sisäiset kellotaajuudet ovat jo nyt gigahertsiluokassa. Tämä yhdistettynä rinnakkaisuuteen mahdollistaa ulkoisia väyliä oleellisesti nopeammat tiedonsiirtoyhteydet.
Tuotteet monipuolistuvat - tuotenäkökulma
Verkkopiirit ovat järkevä vaihto silloin kun samaa piiritoteutusta voidaan käyttää kokonaisten tuoteperheiden perustana ja silloinkin edellytetään tarvetta suureen laskentakapasiteettiin. Esimerkkejä tällaisista tuotteista ovat tulevaisuuden henkilökohtaiset, mukana kuljettavat päätelaitteet ja esimerkiksi autoon, kauppaan, työpaikalle tai kotiin sijoitetut palvelukeskukset.
Tuotteiden tarjoamien palvelujen monipuolistuminen on selkeä trendi. Yhden tuotteen täytyy pystyä hoitamaan lukuisten erilaisten palvelujen hoitaminen. Esimerkiksi tulevaisuuden päätelaitteen täytyy pystyä hoitamaan kommunikaatioyhteydet sekä mobiiliverkkoihin, että erittäin nopeisiin paikallisiin langattomiin tietoverkkoihin sekä kotona että toimistossa. Sen täytyy pystyä huolehtimaan tiedon koodaus-, salaus- ja pakkaustehtävistä samoin kuin tiedon hallinnasta, organisoinnista ja älykkäästä luokittelusta. Käyttöliittymän täytyy pystyä kommunikoimaan älykkäästi ihmisen kanssa. Tällaisten palvelujen toteuttaminen tarkoittaa muun muassa yleislaskennan, digitaalisen signaalinkäsittelyn eri osa-alueiden, multimedian ja tietokantojen käytön osaamista ja hallintaa.
Laskenta-arkkitehtuurin kannalta tuotevaatimusten lisääntyminen ja monipuolistuminen asettaa kovia vaatimuksia. Tehokas tietokone ja ohjelmistolla toteutettu toiminnallisuus on helpompi toteuttaa ja ylläpitää. Mutta toisaalta esimerkiksi DSP:n ja yleislaskennan vaatimukset tietokonejärjestelmille ovat hyvin erilaiset ja ohjelmistopohjaisten ratkaisujen tuottama laatutaso vaihtelee kovasti eri sovellusten välillä. Suorituskyky ja tehonkulutus edellyttäisivät siis toimintojen mukaisesti optimoituja osia verkkoarkkitehtuurissa. Oman lisänsä ongelmiin tuovat tuotealustojen mukautumisvaatimukset sekä käsiteltävän tiedon määrä. Uudelleen konfiguroitavuus ja piirille sijoitettavat massamuistit edellyttävät myös teknologiaintegrointia. Samalla piialustalle täytyy pystyä integroimaan sekä logiikka, sulautettua FPGA:ta ja DRAM-muistia.
Tuotevaatimusten näkökulmasta järkevin verkkopiiriarkkitehtuuri olisikin yhdelle piirille integroitu sulatettujen järjestelmien muodostama verkko, jossa jokainen sulautettu järjestelmä toteuttaisi oman toiminnallisuutensa mahdollisimman pitkälti optimoidusti.
Tietojen käsittelyn näkökulma
Tietojenkäsittelyn näkökulmasta mikropiiri voidaan nähdä suurikapasiteettisena laskenta-alustana, jonka sisältämä logiikka voidaan organisoida usealla eri tavalla haluttujen tehtävien suorittamiseksi. Pääorganisointitapoja ovat yksi prosessori, jossa on pieni määrä leveitä toiminnallisia yksikköjä tai suuri määrä tavallisia toiminnallisia yksikköjä, ja usean prosessorin verkko, jotka kommunikoivat keskenään sanomien tai yhteisen jaetun muistin välityksellä. Tämän lisäksi tarvitaan tietenkin vielä I/O-laitteet ja kolmessa ensimmäisessä organisaatiossa muistia.
Yhden prosessorin organisaatiot eivät kuitenkaan ole tehokkaita, jos käytössä on suuri määrä logiikkaa. Tämä johtuu siitä, että suurta määrää bittitason tai käskytason rinnakkaisuutta on vaikea eristää ohjelmista. Lisäksi tällaisen organisaation toteuttaminen piillä vaatii fyysisesti pitkiä linjoja, mikä laskee piirin kellotaajuutta. Piiri kannattaa siis organisoida nopeaksi usean tavallisen kokoisen prosessorin verkoksi, verkkopiiriksi ja suorittaa tehtävä rinnakkaislaskentana. Prosessoreille liian hidas laskenta kannattaa tarvittaessa suorittaa dedikoidusta logiikasta rakennetuilla kiihdyttimillä.
Usean prosessorin verkoista sanomavälitteisessä versiossa ohjelmoijan on itse huolehdittava sanomien lähettämisestä, vastaanottamisesta, synkronoinnista ja datan sekä ohjelman osittamisesta prosessorien välillä, kun taas jaetun muistin organisaatiossa kommunikaatio ja datan jakaminen tapahtuvat yhteisessä synkronisessa muistissa. Tämän takia jaetun muistin organisaatio on huomattavasti helpompi ohjelmoida kuin sanomavälitteinen organisaatio. Lisäksi se ei ole arkkitehtuurisidonnainen samalla tavalla kuin sanomavälitteinen organisaatio.
Jaetun muistin suora toteuttaminen nykyisellä tekniikalla näyttää valitettavasti mahdottomalta. Epäsuoran ratkaisun hintana on suurempi kompleksisuus ja yhteensopivuuden menettäminen mahdollisiin vanhoihin ohjelmiin, mutta saavutettavina etuina ovat yleensä huomattavasti suurempi suorituskyky, helpompi ohjelmoitavuus ja pienempi arkkitehtuurisidonnaisuus.
Digitaalitekniikan näkökulma
Verkkopiirikin tulee olemaan pääosin digitaalinen piiri, jonka tulisi hyödyntää digitaalitekniikan ominaisuuksia parhaalla mahdollisella tavalla. Ylivoimainen enemmistö digitaalipiireistä on synkronista logiikkaa, ja kellopuun suunnittelu onkin yksi vaikeimmista suunnitteluongelmista.
Piirien koon kasvaessa on ollut pakko luopua yhteen kelloon perustuvasta digitaalilogiikasta. Ilmeinen ratkaisu on ollut käyttää useampaa kelloa, jotka muodostetaan piirin eri osissa. Tällöin ongelmaksi tulee erillisten synkronisten osien välinen kommunikaatio ja se, kuinka tietoa ylipäätään saadaan siirrettyä riittävän tehokkaasti piirin sisäosiin. Vaihtoehtoja ovat lähinnä jaetut muistit ja asynkroniset viestit. Itse asiassa piirin sisuksien saavutettavuus on yleisempi ongelma. Kellon ja datan lisäksi siihen liittyy tehonsiirto, testattavuus, diagnostiikka ja muu infrastruktuuri.
Digitaalitekniikan näkökulmasta verkkopiirin tulisi koostua sovellusten alueesta ja infrastruktuurin alueesta. Sovellusalueet olisivat itsenäisiä synkronisia alueita, jotka suunnitellaan perinteisin digitaalilogiikan suunnittelun keinoin tai sitten uudelleenkäyttämällä olemassa olevia suunnitelmia. Infrastruktuurin tulisi puolestaan tarjota asynkroniset kommunikaatioyhteydet, tehonsyöttö, testaus ja muut palvelut.
Suunnittelun näkökulma
Suunnittelun tuottavuus on ollut ongelma, joka on jo tänä päivänä rajoittanut ASIC- ja SoC-suunnitelmien kokoa ja kaikki teknologiaennusteet näyttävät siihen suuntaan, että suunnittelu tulee jatkossa olemaan entistä suurempi ongelma. Suunnittelun tuottavuutta voidaan parantaa periaatteessa kolmella tavalla.
Tehokkaampien työkalujen avulla voidaan tehostaa yksittäisen suunnittelijan panosta. ASIC suunnittelussa EDA-työkaluvalmistajat ovatkin ponnistelleet kovasti asian puolesta ja erilaisia ja eri tarkoitusta varten kehitytettyjä työkaluja onkin syntynyt. Kiistämättä hyvin monet simulointi-, verifiointi- ja synteesityökalut ovat olleet onnistuneita ja niitä on laajalti käytetty.
Toinen vaihtoehto on jakaa kuormaa useammalla tekijälle. ASIC-suunnitteluprojektit ovatkin yhä useammin muuttuneet muutaman henkilön tiiviin ryhmän tekemästä työstä laajan, monipuolista erikoisosaamista sisältävän löysähkön yhteenliittymän SoC-projekteiksi. Verkottunut projektihallinta ja projektitiedon hajaantuminen aiheuttaa väistämättä kommunikaatiotarvetta ja tiukemmin sidottuja käytäntöjä.
Uudelleenkäyttö on ollut jo pitempään suuren mielenkiinnon kohteena, mutta suurta läpimurtoa ei ole tullut. Ohjelmistopuolella COTS (Commercial Off-The-Shelf) ohjelmistoliiketoimintaa on tutkittu jo kauan ja kovopuolella virtuaalikomponentit ja IP-pohjainen suunnittelu on tuottanut yhteistyötä ja standardeja lähinnä VSIA:n ja VCX:n puitteissa. Uusimmat trendit liittyvät konfiguroitaviin laskenta-alustoihin ja alustapohjaiseen suunnitteluun, jossa pyritään määrittelemään entistä suurempia uudelleenkäytettäviä ja integrointia helpottavia kokonaisuuksia.
Verkkopiirien suunnittelu tulee olemaan erittäin haasteellinen ponnistus. Verkkopiirejä ei voida määritellä ottamatta huomioon suunnitteluongelmia. Arkkitehtuurien täytyy tukea sekä uudelleenkäytettävyyttä että olemassa olevien alustojen hyödyntämistä. Sen täytyy tukea työn jakamista mahdollisimman itsenäisille suunnitteluryhmille, joiden välinen kommunikaatio voidaan minimoida ja formalisoida. Lisäksi itsenäisten ryhmien täytyy pystyä käyttämään itselleen parhaiten soveltuvia työkaluja, menetelmiä ja prosesseja.
Keskeisimmät ongelmat verkkopiireissä
Verkkopiirit sisältävät myös sellaisia teknisiä ja suunnittelumenetelmiin liittyviä ongelmia, joihin ei tähän saakka ole tarvinnut kiinnittää juurikaan huomiota. Piille integroitavien verkkojen ominaisuudet tulevat olemaan erilaisia kuin tietokoneiden välisissä verkoissa. Niinpä myös rakenne-elementit ja niiden toiminnot tulevat olemaan erilaisia.
Tietoliikenneprotokollat, sanomien rakenne ja niiden reitittimet, tiedonsiirtokanavat ja niissä olevat kytkimet, puskurit ja tietokoneetkin täytyy suunnitella piirtototeutuksesta ja sovellusvaatimuksista lähtien. Toisaalta sovellusten jakaminen integroidulle tietokoneverkolle, verkon kapasiteetin ja topologian määrittäminen ja kokonaisuuden varmentaminen ovat asioita, joita ei aiemmin ole tällä tasolla tarvinnut tarkastella.
Verkkopiirin arkkitehtuuri
NOCARC-projektissa on tutkittu erilaisten verkkopiiriarkkitehtuurien ominaisuuksia ja soveltuvuutta lähinnä tietoliikennetuotteiden alustoiksi. Tehokkaaseen yleiskäyttöiseen prosessoriin perustuvassa vaihtoehdossa saavutetaan helppo ohjelmoitavuus ja ylläpidettävyys, mutta sen hintana ovat yksittäisten sovellusten suorituskyky ja tehonkulutus verrattuna dedikoituihin ratkaisuihin.
Toisaalta itse prosessorissakin jouduttaisiin huomattavasti nykyisiä prosessoreja suurempaan rinnakkaisuuteen ja sitä kautta monimutkaisempiin rakenteisiin. Prosessoriteknologia onkin jo ottamassa askelia tähän suuntaan. Intelin ja IBM:n uusimissa tuotteissa: Xeonissa ja RS64 IV:ssä voidaan jo suorittaa paria ohjelmasäiettä rinnakkain. Verkkopiireissä tähän tosin tarvitaan parin kertaluokan lisäys jotta päästään yli sadan säikeen kuten Cray MTA supertietokoneessa.
Tietoliikennealustojen kannalta mielenkiintoisempi vaihtoehto onkin sovelluskohtaisesti suunniteltujen itsenäisten tietokoneiden muodostama piiri, jossa on asynkroninen pakettikytkentäinen tietoliikenneverkko. Tällaisessa vaihtoehdossa voidaan toteuttaa useimmat verkkopiirien vaatimukset. Jokainen osakokonaisuus voidaan toteuttaa periaatteessa optimaalisesti, tietokonearkkitehtuuri on karkealla tasolla rinnakkainen, piiriteknologisesti voidaan käyttää synkronisia itsenäisesti suunniteltuja alueita, jotka kommunikoivat rinnakkain, eli niin sanottua GALS-periaatetta (Globally Asynchronous Locally Synchronous), ja uudelleenkäyttöä voidaan laajentaa koskemaan kokonaisia osajärjestelmiä.
Piiritopologiaksi on valittu kaksiulotteinen ristikko (2-D MESH), jossa kommunikaatiokanavat kulkevat vaaka- ja pystysuuntaan, ja jossa jokaisessa risteyksessä on kytkin, joka huolehtii pakettien puskuroinnista ja reitityksestä. Syntyvän ristikon sisällä olevat alueet on varattu integroiduille laskentayksiköille, jotka voivat olla periaatteessa prosessoripohjaisia tietokoneita, FPGA-tyyppistä konfiguroitavaa logiikkaa tai muisteja. Jokainen laskentayksikkö on synkroninen kokonaisuus, ja sen koko määräytyy halutun kellotaajuuden perusteella. Tämän topologian merkittävimmät edut ovat sen tarjoama mahdollisuus erottaa piirin infrastruktuuri, eli kommunikaatio, tehonsyöttö ja testausrakenteet, sen sovelluslaskennasta ja yhdistää fyysinen suunnittelu arkkitehtuuriin. Tietoliikennekanavat ja kytkimet ovat verkkopiirien fyysisen suunnittelun kriittisimpiä osia ja tässä ne erotetaan selvästi itse laskennan suorittavista tietokoneista jo arkkitehtuuritasolla.
Kommunikaatio on verkkopiirin ydin. Jotta verkkopiiri voisi olla käyttökelpoinen sovellusalusta, sen täytyy pystyä tarjoamaan luotettavat tiedonsiirtoyhteydet piirin sisällä. Luotettavuus tarkoittaa riittävää kapasiteettia ja ennustettavuutta. Sovelluskehittäjän täyttyy pystyä luottamaan siihen että piiri toimii näiltä osin luvatusti. Piirille integroitavan verkon tapauksessa korostuu skaalautuvuus, yksinkertaisuus ja nopeus. Valittu kaksiulotteinen topologia on hyvä kompromissi myös näitä tarpeita ajatellen. Säännöllisessä rakenteessa reitittäminen on helppoa ja mikäli verkon kokonaiskuormitus pysyy sopivissa rajoissa myöskään puskurointi ei aiheuta kovin suuria kustannuksia. Osaltaan asioita helpottaa mahdollisuus siirtää tietoa rinnakkain. NOCARC-projektissa on päädytty 300 bittiä leveisiin väyliin. Viisitasoinen tietoliikenneprotokolla pakkaa viestit yhden sanan mittaisiksi paketeiksi, jotka voidaan siirtää yhdellä kellojaksolla kytkimeltä toiselle.
Suunnittelumenetelmien on uudistuttava
Verkkopiirit tulevat olemaan äärimmäisen haasteellisia suunniteltavia. Jotta niitä voitaisiin suunnitella kuten ASIC- ja SoC-piirejä tänään, täytyisi EDA-työkalukehityksessä tapahtua erittäin merkittäviä uusia innovaatioita. Todennäköisempi skenaario onkin, että verkkopiirien käyttö tulee taloudellisesti kannattavaksi koko verkkopiiriä koskevan uudelleenkäytön kautta. Kehitettävien verkkopiirien tulee soveltua kokonaisten tuoteperheiden tuotealustoiksi ja niiden käyttöiän ja tuotantomäärien tulee olla nykyistä suurempia.
Tämä tarkoittaa sitä, että verkkopiirejä suunniteltaessa täytyy käyttää samantyyppisiä menetelmiä kuin yleiskäyttöisissä tietokoneissa. Verkkopiirien täytyy olla joustavia, jotta ne pystyvät mukautumaan sekä tuoteversioiden erilaisiin vaatimuksiin, että tuotteiden ajan mukaan muuttuviin vaatimuksiin.
NOCARC-projektissa on kehitetty Backbone-Platform-System-suunnittelumenetelmää (BPS), jossa suunnittelua tarkastellaan vaiheiden, kohdealueen ja aktiviteettien näkökulmista. Menetelmä tukee esitettyjä arvauksia verkkopiirien käyttökohteista ja se tukee valittua verkkoarkkitehtuuria. Uudelleenkäytön tehostaminen kaikilla osa-alueilla on luonnollisesti päätavoite, jotta verkkopiirit olisivat myös kaupallisesti järkeviä.
Vaiheistuksen perusajatus on erottaa verkkopiirin infrastruktuurin (backbone), laskenta-alustan (platform) ja sovellusten (system) suunnittelu toisistaan selkeästi eri vaiheiksi. Infrastruktuurilla tarkoitetaan tässä kommunikaatioyhteyksiä eli fyysisiä väyliä ja reitittimiä, eri resurssien verkkoliityntöjä, protokollapinon alimpia kerroksia, ja kellotusta, tehonsyöttöä ja koko piirin testausrakenteita. Infrastruktuuri on samanlainen kaikille verkkopiirivaihtoehdoille samaan tapaan kuin lähiverkoissa esimerkiksi Ethernet ja sähköverkko. Laskenta-alusta muodostaa sovellusalueeseen optimoidun piiritoteutuksen ja sen suunnittelussa tärkeimpiä asioita ovat koko piirin mitoitus, eli kuinka monesta itsenäisestä resurssista kokonaisuus koostuu, ja resurssien suunnittelu, eli laskenta-alustassa toteutetaan eri tyyppisiä sovelluksia tehokkaimmin toteuttavat tietokonearkkitehtuurit.
Resursseina voi olla esimerkiksi RISC-tyyppisiä tietokoneita, DSP-laskentaan erikoistuneita koneita, konfiguroitavaa logiikkaa tai muisteja. Periaatteessa mikä tahansa synkroniseen alueeseen käytettävällä teknologialla toteutettava järjestelmä on mahdollinen. Laskenta-alustan tarkoitus on myös piilottaa sovellussuunnittelun kannalta tarpeettomat fyysiset yksityiskohdat eli se tarjoaa järjestelmätason palvelut sovelluksille. Sovellusten suunnittelulla tarkoitetaan lopullisten tuotteiden toiminnallista suunnittelua. Toteutusteknologiana ovat ohjelmisto ja uudelleenkonfiguroitava kovo.
Verkkopiirillä toteutettavan järjestelmän suunnittelussa täytyy pystyä kehittämään ja yhdistämään hyvin erilaisia osajärjestelmiä. Lopullinen kokonaisuus muistuttaa hajautettua järjestelmää tietoverkkoinen ja protokollineen, mutta toisaalta integroitu toteutus viittaa enemmän rinnakkaistietokoneeseen. Lisäksi jos ajatellaan eri alijärjestelmiä, niin niiden suunnittelussa täytyy pystyä hallitseman pahimmillaan koko skaala optimoidusta logiikkaratkaisusta rinnakkaisohjelman kehittämiseen. Ja laskenta-alustaa suunniteltaessa täytyy ohjelmiston lisäksi pitää pystyä rakentamaan myös tarvittava tietokonejärjestelmä. Suunnittelumenetelmän on tuettava heterogeenistä mallinnusta ja erilaisten järjestelmien toteutusta. Samalla on kuitenkin pystyttävä huolehtimaan kokonaisuuden laadusta ja ominaisuuksista.
Miljardin transistorin ja 10-100:n keskenään kommunikoivan sulautetun tietokonejärjestelmän toteuttaminen yhdeksi piiriksi on haaste, johon vastaamista ei aloiteta puhtaalta pöydältä, ellei käytössä ole lähes rajattomat resurssit. Suunnittelun uudelleenkäyttö on välttämättömyys paitsi monimutkaisuuden takia niin myös siksi, että uudelleenkäyttö mahdollistaa valmiiden optimoitujen ratkaisujen käytön. Oikein valittujen virtuaalikomponenttien ja alijärjestelmien avulla voidaan saavuttaa paras suorituskyky/tehonkulutussuhde ja suorituskyky/hinta suhde. Päätöksenteolla onkin verkkopiirien suunnittelussa hyvin keskeinen osuus.
Työkalujen on kehityttävä ja menettelytapojen muututtava ennen kuin verkkopiirejä voidaan siinä mittakaavassa suunnitella, mitä tässä on esitetty. Mallinnuksesta ja synteesistä on päästävä mallinnukseen ja valintaan. Samalla suunnittelun abstraktiotason on nostettava selvästi nykyistä ylemmäs. Järjestelmiä täytyy pystyä tarkastelemaan käyttäen niitä termejä ja rakenneosia, jotka ovat järjestelmän kannalta tärkeitä.
Aiheesta enemmän:
NOCARC-projekti: http://www.ele.kth.se/NOC/
IP organisaatiot: www.vsia.org, http://www.thevcx.com
EDA-työkalut: www.systemc.org, http://www.synopsys.com, http://www.cadence.com
Arkkitehtuuritutkimusta: www.gigascale.org, http://brass.cs.berkeley.edu, cag-www.lcs.mit.edu/raw/, http://www.cs.wisc.edu/arch/www/
Taustat
Kirjoittajat: Juha-Pekka Soininen, erikoistutkija, VTT Elektroniikka, Martti Forsell erikoistutkija, VTT Elektroniikka, Kari Tiensyrjä, ryhmäpäällikkö, VTT Elektroniikka
Yhteyshenkilö: juha-pekka.soininen@vtt.fi
Tutkimus: NOCARC
Yhteistyössä: Nokia Research Center, Ericsson, KTH, VTT Elektroniikka
Teknologiaohjelma: EXSITE