Johdanto
Tietokonearkkitehtuuri on ohjelmoijien näkemä tietokoneen ominaisuus, eli tietokoneen looginen rakenne ja toiminnalliset ominaisuudet, mukaan lukien sen erilaisten kovien ja pehmeiden komponenttien välinen suhde. Tietokonejärjestelmien suunnittelijoille tietokonearkkitehtuurilla tarkoitetaan tietokoneiden suunnittelun perusideoiden ja niistä johtuvan loogisen rakenteen tutkimista; ohjelmoijille se viittaa järjestelmän toiminnalliseen kuvaukseen (kuten käskysarja, ohjelmointimenetelmä jne.).
Peruskonseptit
Tietokonearkkitehtuurilla tarkoitetaan ohjelmiston ja laitteiston järjestelmärakennetta. Sillä on kaksi merkitystä: yksi on järjestelmän rakenne ohjelmoijan näkökulmasta katsottuna. Se on tutkimusta Tietokonejärjestelmän käsitteellinen rakenne ja toiminnalliset ominaisuudet liittyvät ohjelmistosuunnittelun ominaisuuksiin; toinen on järjestelmärakenne laitteistosuunnittelijan näkökulmasta katsottuna, mikä on itse asiassa tietokonejärjestelmän koostumus tai toteutus (katso tietokoneorganisaatio), keskittyen pääasiassa suorituskykyyn Hintasuhteen kohtuullisuus. Selvittääkseen ja tutkiakseen tietokoneiden ominaisuuksia (ulkoisia ominaisuuksia) ohjelmoinnin näkökulmasta Adam ja muut ehdottivat ensimmäisen kerran tietokonejärjestelmän rakenteen käsitettä vuonna 1964.
Käsitteellinen rakenne ja toiminnalliset ominaisuudet, jotka ovat tietokoneattribuutteja ohjelmoijan näkökulmasta katsottuna. Se sisältää tietojen esittämisen koneessa, osoitustilan, näiden tietojen toiminnan ja näiden toimintojen suorittamisen ohjauksen (eli käskyjärjestelmän). Yleiskäyttöisille koneille se sisältää yleensä tietojen esittämisen, osoitemoodin, rekisterimäärittelyn, käskyjärjestelmän, keskeytysmekanismin, koneen toimintatilan määrittelyn ja tilanvaihdon, konetason syöttö- ja lähtörakenteen sekä tuen tiedon suojaukselle jne.
Computer architecture mainly studies the distribution of software and hardware functions and the determination of software and hardware interfaces. Since the 1970s, significant progress has been made in computer software. Although computers have made huge breakthroughs in performance, speed, price, reliability, organization, and implementation technology compared to the end of the 1950s, their system structure has not made any obvious and breakthrough progress. The system structure of most machines still does not deviate from the scope of the von Neumann type. The system structure seen by programmers has not changed much from the end of the 1950s. For example, with regard to the instruction system, programmers are basically still designing much more complex software based on the viewpoint of computer system structure in the late 1950s. The serious disconnection between the hardware composition of traditional computers and high-level languages and operating systems will adversely affect the reliability of software, the efficiency of source program compilation, and the efficiency of system problem-solving. This is an important aspect of the computer system structure that needs to be resolved. Subject. The data flow computer system structure thought that appeared in the 1970s changed the instruction control flow control method of the traditional computer to the data control flow control method, so that it is possible to automatically remove the obstacles of computational correlation and achieve the goal of high parallelism.
Jakelu tietokoneohjelmistojen ja laitteistojen toiminnot olisi pääasiassa otettava huomioon toteutuskustannukset, vaikutus nopeuteen ja muut suorituskykyvaatimukset, eli miten jakaa voi parantaa suorituskyky-hinta-suhdetta. Käyttöjärjestelmän perus- ja yleistoimintojen lujittaminen tai jähmettyminen edistää käyttöjärjestelmän suoritustehokkuuden ja -nopeuden parantamista sekä yleiskustannusten vähentämistä; kun taas toiminnot ovat epävakaita, eli niitä, joita on jatkuvasti muutettava, ja ohjelmistojen käyttöönotto mahdollistaa tarvittavan joustavuuden . Käyttöönottokustannukset sisältävät kehityskustannukset ja toistuvan tuotannon kustannukset. Laitteiston suunnittelun ja toistuvan tuotannon kustannukset ovat suuremmat kuin ohjelmiston. Laitteistototeutukseen soveltuvien toimintojen tulee olla vakaita, yleisesti käytettyjä ja suhteellisen pieniä, ja ohjelmistojen toteutusnopeuden hidastuminen vaikuttaa enemmän tietokonejärjestelmän suorituskykyyn. . Laitteiston käyttöönotto on taloudellisesti hyödyllistä vain suuritehoisille tietokonejärjestelmille.
Kahdeksan erilaista attribuuttia
1. Koneen sisäinen tietojen esitys: tietotyyppi ja -muoto, jonka laitteisto voi tunnistaa ja käyttää suoraan
2·Osoitustila: pienin mahdollinen Osoiteyksikkö, osoitemoodin tyyppi, osoitetoiminta
3 · Rekisterin organisaatio: toimintarekisterin, hakemistorekisterin, valvontarekisterin ja erikoisrekisterin määritelmä, määrä ja käyttösäännöt
4. Ohjausjärjestelmä: konekäskyn toimintatapa, muoto, järjestys ja ohjausmekanismi käskyjen välillä
5·Tallennusjärjestelmä: pienin osoiteyksikkö, osoitusmenetelmä, keskusmuistin kapasiteetti, suurin osoitettava tila
6·Keskeytysmekanismi: keskeytystyyppi, keskeytystaso ja keskeytysvastausmenetelmä jne.
7 · Tulo- ja lähtörakenne: tulo- ja lähtöliitäntätila, prosessori/muisti ja syöttö- ja lähtölaitteet Tiedonvaihdon tapa ja tiedonvaihtoprosessin ohjaus
8 · Tietosuojaus: tietojen suojausmenetelmä, laitteiston tietojen suojausmekanismi.
Tutkimussisältö
Tietokoneen käsitteellinen rakenne ja toiminnalliset ominaisuudet, joka viittaa tietokonejärjestelmän ominaisuuksiin järjestelmän ohjelmoijan silmissä ja sisältää myös koneen suunnittelijan näkemän tietokonejärjestelmän Loogisen rakenteen. Lyhyesti sanottuna se on yksityiskohtainen kuvaus tietokoneen eri osien välisestä suhteesta. Se on kattava käsite laitteistosta, ohjelmistosta, algoritmeista ja kielestä. Termiä tietokonearkkitehtuuri kutsutaan myös tietokonejärjestelmärakenteeksi. Siitä on kehittynyt monisisältöinen oppiaine, ja siitä on tullut pakollinen kurssi korkeakoulujen ja yliopistojen tietotekniikan pääaineille. Sen tutkimuksen pääsisältö on seuraava:
1. Käskyjärjestelmä sisältää konekäskyjen toimintatyypin, muodon ja osoitteen.
2. Tallennusjärjestelmä sisältää monitasoisen tallennushierarkian, virtuaalisen tallennusrakenteen, nopean puskuritallennusrakenteen ja tallennussuojauksen.
3. Tulo- ja lähtöjärjestelmä sisältää kanavarakenteen, tulo- ja lähtöprosessorin rakenteen jne.
4. Keskusyksikkörakenne sisältää von Neumann -rakenteen, ei-von Neumann-rakenteen, päällekkäisen rakenteen, putkirakenteen, rinnakkaiskäsittelyrakenteen jne.
5. Monitietokonejärjestelmä sisältää liitäntätekniikan, moniprosessorirakenteen, hajautetun käsittelyrakenteen, tietokoneverkkorakenteen jne.
6. Ihmisen ja koneen välisiä viestintälinkkejä ovat muun muassa ihmisen ja koneen välinen rajapinta, tietokoneen luotettavuus, käytettävyys ja ylläpidettävyys (näitä kolmea kutsutaan RAS-tekniikaksi), vikasietotekniikka, vikadiagnoosi jne.
Lisäksi tutkitaan tietokonelaitteiston kuvauskieltä, tietokonejärjestelmän suorituskyvyn arviointia ja muuta sisältöä.
Kehityshistoria
Tietokonearkkitehtuuri on käynyt läpi neljä eri kehitysvaihetta.
Vaihe yksi
Ennen 1960-luvun puoliväliä elettiin tietokonearkkitehtuurin kehityksen alkua. Tänä aikana yleiskäyttöiset laitteistot ovat tulleet melko yleisiksi, mutta ohjelmistot on kirjoitettu erityisesti jokaista sovellusta varten. Useimmat ihmiset ajattelevat, että ohjelmistokehitys on jotain, jota ei tarvitse suunnitella etukäteen. Ohjelmisto on tällä hetkellä itse asiassa pienempikokoinen ohjelma, ja ohjelman ohjelmoija ja käyttäjä ovat usein sama (tai sama ryhmä) ihmisiä. Pienen mittakaavan vuoksi ohjelma on melko helppo kirjoittaa, siinä ei ole systemaattista menetelmää eikä ohjelmistokehitystyön hallintaa. Tämä yksilöllinen ohjelmistoympäristö tekee ohjelmistosuunnittelusta vain epämääräisen prosessin, joka tapahtuu implisiittisesti ihmisten mielessä. Ohjelmaluetteloa lukuun ottamatta muita asiakirjoja ei säilytetä ollenkaan.
Vaihe kaksi
1960-luvun puolivälistä 1970-luvun puoliväliin se oli tietokonearkkitehtuurikehityksen toinen sukupolvi. Viimeisten 10 vuoden aikana tietotekniikka on edistynyt valtavasti. Monen ohjelman ja usean käyttäjän järjestelmä esitteli uuden ihmisen ja tietokoneen vuorovaikutuksen käsitteen, loi uuden tietokonesovellusalueen ja nosti laitteiston ja ohjelmiston koordinoinnin uudelle tasolle. Reaaliaikaiset järjestelmät voivat kerätä, analysoida ja muuntaa tietoja useista tietolähteistä, joten prosessin ohjaus voidaan suorittaa millisekunneissa minuuttien sijaan. Online-tallennustekniikan edistyminen johti ensimmäisen sukupolven tietokannanhallintajärjestelmien syntymiseen. Tärkeä piirre tässä vaiheessa on "ohjelmistotyöpajojen" syntyminen, tuoteohjelmistojen laaja käyttö. "Ohjelmistopajat" käyttävät kuitenkin periaatteessa edelleen niitä yksilöllisiä ohjelmistokehitysmenetelmiä, jotka syntyivät alkuaikoina. Tietokonesovellusten kasvavan suosion myötä ohjelmistojen määrä on kasvanut dramaattisesti. Ohjelman toiminnan aikana löydetyt virheet on korjattava; käyttäjien on muokattava ohjelmaa vastaavasti, kun heillä on uusia vaatimuksia; kun laitteistoa tai käyttöjärjestelmiä päivitetään, ohjelmia on yleensä muutettava, jotta ne mukautuvat uuteen ympäristöön. Edellä mainitut ohjelmistojen ylläpitotyöt kuluttavat resursseja hälyttävästi. Vakavammin, monien ohjelmien yksilöllinen luonne tekee niistä lopulta kestämättömiä. "Ohjelmistokriisi" alkoi juuri ilmestyä. Vuonna 1968 Pohjois-Atlantin järjestön tietojenkäsittelytieteilijät pitivät Saksan liittotasavallassa kansainvälisen konferenssin keskustellakseen ohjelmistokriisistä. Tässä konferenssissa termiä "ohjelmistosuunnittelu" ehdotettiin ja käytettiin virallisesti, ja uusi tekniikan tieteenala syntyi.
Kolmas vaihe
Kolmannen sukupolven tietokonearkkitehtuurin kehitys alkoi 1970-luvun puolivälissä ja kesti täydet 10 vuotta. Viimeisten 10 vuoden aikana tietotekniikka on edistynyt valtavasti. Hajautetut järjestelmät ovat lisänneet tietokonejärjestelmien monimutkaisuutta huomattavasti. Lähiverkot, laajakaistaverkot, digitaalinen laajakaistaviestintä ja "välittömän" tiedonsaannin lisääntynyt kysyntä asettavat ohjelmistokehittäjille korkeampia vaatimuksia. Tänä aikana ohjelmistoja käytettiin kuitenkin edelleen pääasiassa teollisuudessa ja korkeakouluissa, mutta henkilökohtaisia sovelluksia oli hyvin vähän. Tämän ajanjakson pääpiirre on mikroprosessorien ilmaantuminen, ja mikroprosessoreita on käytetty laajalti. "Älykkäitä" tuotteita, joissa on mikroprosessori ydin, näkyy kaikkialla. Tietenkin tärkein älytuote on henkilökohtainen tietokone. Alle 10 vuodessa henkilökohtaisista tietokoneista on tullut suosittu hyödyke.
Vaihe neljä
Neljännen sukupolven tietokonearkkitehtuurikehitys alkoi 1980-luvun puolivälissä ja on jatkunut nykypäivään. Tässä vaiheessa ihmiset kokevat laitteiston ja ohjelmiston yhteisvaikutuksen. Tehokkaista pöytätietokoneista, lähiverkoista ja monimutkaisten käyttöjärjestelmien ohjaamista suuralueverkoista yhdistettynä kehittyneisiin sovellusohjelmistoihin on tullut nykyinen valtavirta. Tietokonearkkitehtuuri on nopeasti muuttunut keskitetystä isäntäympäristöstä hajautetuksi asiakas/palvelin (tai selain/palvelin) ympäristöksi. Maailmanlaajuinen tietoverkko tarjoaa ihmisille edellytykset laajaan vaihtoon ja resurssien yhteiskäyttöön. Ohjelmistoteollisuudella on jo ollut keskeinen asema maailmantaloudessa. Aikojen edetessä uusia teknologioita syntyy jatkuvasti. Olioteknologia on nopeasti korvannut perinteiset ohjelmistokehitysmenetelmät monilla aloilla.
Ohjelmistokehityksen "neljännen sukupolven teknologia" on muuttanut tapaa, jolla ohjelmistoteollisuus kehittää tietokoneohjelmia. Asiantuntijajärjestelmät ja tekoälyohjelmistot tulivat vihdoin ulos laboratoriosta ja tulivat käytännön sovelluksiin, jotka ratkaisivat suuren määrän käytännön ongelmia. Sumeaa logiikkaa käyttävä keinotekoinen hermoverkkoohjelmisto on osoittanut hahmontunnistuksen ja antropomorfisen tiedonkäsittelyn valoisat mahdollisuudet. Virtuaalitodellisuusteknologia ja multimediajärjestelmät mahdollistavat kommunikoinnin käyttäjien kanssa täysin eri tavoilla kuin ennen. Geneettisten algoritmien avulla voimme kehittää ohjelmistoja, jotka sijaitsevat suurilla rinnakkaisilla biologisilla tietokoneilla.
Periaate
Tietokonearkkitehtuuri ratkaisee ongelmat, jotka tietokonejärjestelmän tulee ratkaista yleisesti ja toiminnassa. Se on erilainen käsite kuin tietokonekokoonpano ja tietokonetoteutus. Arkkitehtuurissa voi olla useita komponentteja, ja yhdellä koostumuksella voi myös olla useita fyysisiä toteutuksia.
Tietokonejärjestelmän rakenteen looginen toteutus, mukaan lukien koneen sisäisen tietovirran ja ohjausvirran koostumus sekä looginen suunnittelu. Sen tavoitteena on rationaalisesti yhdistää erilaisia komponentteja ja laitteita tietokoneeksi tietyn järjestelmärakenteen saavuttamiseksi ja samalla saavuttaa haluttu kustannus-tehosuhde. Yleisesti ottaen tietokonekoostumustutkimuksen laajuuteen kuuluu: tietopolun leveyden määrittäminen, toiminnallisten komponenttien jakamisasteen määrittäminen eri toimintojen avulla, dedikoitujen toiminnallisten komponenttien määrittäminen, toiminnallisten komponenttien rinnakkaisuuden määrittäminen, puskurointi- ja jonostrategioiden suunnittelu sekä ohjausmekanismien suunnittelu ja käytettävä luotettava tekniikka jne. Tietokoneen koostumuksen fyysinen toteutus. Sisältää prosessorin fyysisen rakenteen, päämuistin ja muut komponentit, laitteen integroinnin ja nopeuden, laitteiden, moduulien, laajennusten ja taustalevyjen jakamisen ja liittämisen, erikoislaitteiden suunnittelun, signaalinsiirtotekniikan, virtalähteen , jäähdytys- ja kokoonpanoteknologiat ja niihin liittyvät teknologiat Valmistusprosessi ja teknologia.
Luokittelu
Flynnin luokittelu
Vuonna 1966 Michael J. Flynn ehdotti tietokonejärjestelmien luokittelua käskyvirran ja tietovirran rinnakkaisuuden mukaan, joka määritellään seuraavasti.
·Ohjevirta: koneen suorittamien käskyjen sarja
·Datavirta: käskyvirran kutsuma datasekvenssi, mukaan lukien syötetiedot ja välitulokset
·Parallel Degree: Suurin mahdollinen määrä käskyjä tai tietoja, jotka suoritetaan rinnakkain.
Flynn jakaa tietokonejärjestelmät 4 luokkaan eri käskynkulku-tietovirran organisointimenetelmien mukaan.
1·Single Instruction Stream Single DataStream (Single Instruction Stream Single DataStream, SISD)
SISD on itse asiassa perinteinen peräkkäinen yhden prosessorin tietokone, jonka käskykomponentit purkaa vain yhden käskyn ja kohdistavat tietoja vain yhdelle käyttöosalle.
2·Single Instruction Stream Multiple Data Stream (SIMD)
SIMD:tä edustaa rinnakkaissuoritin. Rakenne on esitetty kuvassa 1. Rinnakkaisprosessori sisältää useita Kahta toistuvaa prosessointiyksikköä PU1 - PUn ohjaa yksi käskyyksikkö ja niille allokoidaan kunkin tarvitsema eri data saman käskyvirran vaatimusten mukaisesti.
3·Multiple Instruction Stream Single Data Stream (MISD)
MISD:n rakenne, siinä on n prosessointiyksikköä, n eri käskyn vaatimusten mukaisesti Saman tietovirran erilainen käsittely ja sen välitulokset. Yhden prosessointiyksikön lähtöä käytetään toisen prosessointiyksikön tulona.
4·Multiple Instruction Stream Multiple Data Stream (MIMD)
MIMD:n rakenne viittaa operaatioiden, tehtävien, käskyjen ja muiden rinnakkaisuuden tasojen toteuttamiseen Monikonejärjestelmissä moniprosessorit kuuluvat MIMD:hen.
Feng-tyylinen luokitus
Vuonna 1972 Feng Zeyun ehdotti maksimaalisen rinnakkaisuuden käyttämistä tietokonearkkitehtuurin luokittelussa. Niin sanottu suurin rinnakkaisuuden aste Pm viittaa binäärinumeroiden enimmäismäärään, jonka tietokonejärjestelmä pystyy käsittelemään aikayksikössä. Olettaen, että kussakin kellojaksossa △ti käsiteltävissä olevien binääribittien määrä on Pi, keskimääräinen rinnakkaisuus T kellojaksoissa on Pa=(∑Pi)/T (jossa i on 1, 2, ..., T) . Keskimääräinen rinnakkaisuuden aste riippuu järjestelmän ajoasteesta, eikä sillä ole mitään tekemistä sovelluksen kanssa. Siksi järjestelmän keskimääräinen käyttöaste ajanjaksolla T on μ=Pa/Pm=(∑Pi)/(T*Pm). Suorakaiteen muotoisen koordinaattijärjestelmän pistettä käytetään kuvaamaan tietokonejärjestelmää. Abskissa edustaa sanan leveyttä (N bittiä), toisin sanoen sanassa samanaikaisesti käsiteltyjen binäärinumeroiden lukumäärää; ordinaatta edustaa bittiviipaleen leveyttä (M bittiä), eli yhdessä bitissä Filmissä samanaikaisesti prosessoitavien sanojen määrälle maksimi yhdensuuntaisuusaste on Pm=N*M.
Tästä johdetaan neljä erilaista tietokonerakennetta:
①Word-sarja ja bittisarja (lyhennettynä WSBS). Missä N = 1 ja M = 1.
②Word parallel, bit serial (abbreviated as WPBS). Where N=1, M>1.
③Word serial, bit parallel (referred to as WSBP). Where N>1, M=1.
④Word parallel, bit parallel (referred to as WPBP). Where N>1, M>1.
Tekninen innovaatio
Tietokonearkkitehtuuri perustuu Turingin koneteoriaan ja kuuluu von Neumannin arkkitehtuuriin. Pohjimmiltaan Turingin koneteoria ja von Neumannin arkkitehtuuri ovat yksiulotteisia sarjamuotoisia, kun taas moniytimiset prosessorit kuuluvat hajautetulle ja diskreetille rinnakkaisrakenteelle, ja näiden kahden välinen ristiriita on ratkaistava.
Ensinnäkin sarja Turingin konemallin ja fyysisesti hajautetun moniytimisprosessorin välinen yhteensopivuusongelma. Turingin konemalli tarkoittaa sarjaohjelmointimallia. Sarjaohjelmien on vaikeaa käyttää useita fyysisesti hajautettuja prosessoriytimiä suorituskyvyn kiihdytyksen saavuttamiseksi. Samanaikaisesti rinnakkaisohjelmointimallia ei ole edistetty hyvin, ja se on rajoitettu vain rajoitetuille aloille, kuten tieteelliseen laskemiseen. Tutkijoiden tulisi etsiä sopiva Mekanismi, jolla saavutetaan yhteensopivuusongelma sarja Turingin konemallin ja fyysisesti hajautetun moniytimisen prosessorin välillä tai kavennetaan kuilua näiden kahden välillä, ratkaistaan ongelma "rinnakkaisohjelmaohjelmointi on vaikeaa, sarjaohjelman kiihdytys on pieni".
Mitä tulee monisäikeisten rinnakkaisten sovellusten tukemiseen, tulevia moniytimiä prosessoreita tulisi harkita seuraavista kahdesta suunnasta. Ensimmäinen on ottaa käyttöön uusi ohjelmointimalli, joka voi paremmin ilmaista rinnakkaisuutta. Koska uusi ohjelmointimalli antaa ohjelmoijille mahdollisuuden ilmaista selkeästi ohjelman rinnakkaisuus, suorituskykyä voidaan parantaa huomattavasti. Esimerkiksi Cell-prosessori tarjoaa erilaisia ohjelmointimalleja tukemaan erilaisia sovelluksia. Vaikeus piilee ohjelmointimallin tehokkaassa edistämisessä ja yhteensopivuusongelman ratkaisemisessa. Toinen suunta on tarjota parempi laitteistotuki rinnakkaisohjelmoinnin monimutkaisuuden vähentämiseksi. Rinnakkaisten ohjelmien on usein käytettävä lukitusmekanismia kriittisten resurssien synkronoinnin ja vastavuoroisen poissulkemisen saavuttamiseksi. Ohjelmoijan on määritettävä huolellisesti lukon sijainti, koska konservatiivinen lukitusstrategia rajoittaa ohjelman suorituskykyä ja tarkka lukitusstrategia lisää huomattavasti ohjelmoinnin monimutkaisuutta. Jotkut tutkimukset ovat tehneet tehokkaita tutkimuksia tässä suhteessa. Esimerkiksi Speculative Lock Elision -mekanismi mahdollistaa ohjelman suorittaman lukitustoiminnon huomioimisen ilman ristiriitoja, mikä vähentää ohjelmoinnin monimutkaisuutta ja ottaa huomioon rinnakkaisen ohjelman suorituskyvyn. Tämän mekanismin avulla ohjelmoijat voivat keskittyä ohjelman oikeellisuuteen ilman, että ohjelman suoritustehoa tarvitsee liikaa miettiä. Radikaalimmin Transactional Coherence and Consistency (TCC) -mekanismi ottaa huomioon tietojen johdonmukaisuusongelmia useiden muistien käyttötoimintojen (Transaction) yksiköissä, mikä yksinkertaistaa entisestään rinnakkaisohjelmoinnin monimutkaisuutta.
Valtavirran kaupalliset moniytimisprosessorit on tarkoitettu pääasiassa rinnakkaisiin sovelluksiin. Moniytimisen käyttäminen sarjaohjelmien nopeuttamiseen on edelleen huomionarvoinen ongelma. Keskeinen tekniikka on käyttää ohjelmistoa tai laitteistoa koodien tai säikeiden automaattiseen johtamiseen, jotka voidaan suorittaa rinnakkain moniytimisessä prosessorissa sarjaohjelmasta. Sarjaohjelmien moniytimiseen kiihdytykseen on kolme päämenetelmää, mukaan lukien rinnakkaiskääntäjä, spekulatiivinen monisäikeistys ja säiepohjainen esihakumekanismi. Perinteisessä rinnakkaiskäännöksessä kääntäjän on ponnisteltava paljon varmistaakseen, ettei jaettavien säikeiden välillä ole datariippuvuutta. Kääntämisen aikana esiintyy paljon sumeita riippuvuuksia, varsinkin kun osoittimet (kuten C-ohjelmat) ovat sallittuja, kääntäjän on omaksuttava konservatiivisia strategioita varmistaakseen ohjelman suorituksen oikeellisuuden. Tämä rajoittaa suuresti samanaikaisuuden astetta, jota sarjaohjelmat voivat napauttaa, ja määrittää myös sen, että rinnakkaiskääntäjää voidaan käyttää vain kapealla alueella. Näiden ongelmien ratkaisemiseksi ihmiset ehdottavat spekulatiivisia monisäikeisiä ja säikeisiin perustuvia esihakumekanismeja. Kuitenkin, koska tämä konsepti on esitetty tähän mennessä, suurin osa tämänsuuntaisesta tutkimuksesta on rajoittunut akateemiseen maailmaan, ja vain harvat kaupalliset prosessorit ovat soveltaneet tätä tekniikkaa, ja ne rajoittuvat vain erityisiin sovellusalueisiin. Uskomme, että dynaamisen optimointiteknologian ja spekulatiivisen monisäikeistyksen (mukaan lukien säikeisiin perustuva esihakumekanismi) yhdistelmä on mahdollinen tulevaisuuden kehitystrendi.
Toiseksi, von Neumann -arkkitehtuurin yksiulotteisen osoiteavaruuden ja moniytimisen prosessorin moniulotteisen muistin käyttötason yhteensopivuuden ongelma. Pohjimmiltaan von Neumann -arkkitehtuuri käyttää yksiulotteista osoiteavaruutta. Epätasaisten tietojen käyttöviiveiden ja samojen tietojen eri kopioiden vuoksi useilla prosessoriytimillä aiheutuu tietojen johdonmukaisuusongelmia. Tämän alan tutkimus on jaettu kahteen luokkaan: Yksi tutkimustyyppi esittelee pääasiassa uuden tason muistinkäyttöä. Uusi muistin käyttötaso voi ottaa käyttöön yksiulotteisen hajautetun toteutuksen. Tyypillinen esimerkki on hajautetun ja yhtenäisen osoiterekisteriverkon lisääminen. Globaalin yhtenäisen osoitteen ominaisuus välttää tietojen johdonmukaisuuden huomioimisen. Samaan aikaan, verrattuna perinteiseen suuren kapasiteetin välimuistin käyttöön, rekisterit voivat tarjota nopeampia pääsynopeuksia. Sekä TRIPS että RAW ovat toteuttaneet samanlaisia ydinrekisteriverkkoja. Lisäksi uusi muistin käyttöoikeustaso voi olla myös yksityinen. Esimerkiksi jokaisella prosessoriytimellä on oma yksityinen muistitila. Etuna on, että tallennustila jakautuu paremmin, eikä joidenkin yksityisten tietojen osalta tarvitse pohtia tietojen johdonmukaisuusongelmia. Esimerkiksi soluprosessori asettaa yksityisen datapuskurin jokaiselle SPE-ytimelle. Toinen tutkimustyyppi liittyy pääasiassa uuden välimuistin yhdenmukaisuusprotokollan kehittämiseen. Tärkeä trendi on löysätä oikeellisuuden ja suorituskyvyn suhdetta. Esimerkiksi on arveltu, että Cache-protokolla spekuloi ja suorittaa liittyviä ohjeita ennen kuin tietojen johdonmukaisuus on varmistettu, mikä vähentää pitkän viiveen muistin käyttötoimintojen vaikutusta liukuhihnaan. Lisäksi Token Coherence ja TCC omaksuivat samanlaisia ideoita.
Kolmanneksi ohjelmien monimuotoisuus ja yhden järjestelmärakenteen yhteensopivuusongelma. Tulevat sovellukset osoittavat monimuotoisuuden piirteitä. Toisaalta prosessorin arviointi ei rajoitu pelkästään suorituskykyyn, vaan se sisältää myös muita mittareita, kuten luotettavuuden ja turvallisuuden. Toisaalta, vaikka ottaisi huomioon vain pyrkimys suorituskyvyn parantamiseen, eri sovellukset sisältävät myös eritasoisia yhdensuuntaisuutta. Sovellusten monimuotoisuus ajaa tuleville prosessoreille konfiguroitavan ja joustavan arkkitehtuurin. TRIPS on tehnyt hedelmällisiä tutkimuksia tässä suhteessa. Esimerkiksi sen prosessoriytimissä ja siruissa olevissa tallennusjärjestelmissä on konfiguroitavia ominaisuuksia, jotta TRIPS voi samanaikaisesti louhia käskytason rinnakkaisuutta, datatason rinnakkaisuutta ja käskytason rinnakkaisuutta.
Uusien prosessointirakenteiden, kuten multi-core ja Cell, ilmaantuminen ei ole vain maamerkki prosessoriarkkitehtuurin historiassa, vaan myös perinteisten laskentamallien ja tietokonearkkitehtuurin kumoaminen.
Vuonna 2005 paljastettiin sarja kauaskantoisia tietokonearkkitehtuureja, jotka voivat muodostaa perustavanlaatuisen perustan seuraavan kymmenen vuoden tietokonearkkitehtuurille, ainakin prosessorille ja jopa koko tietokonearkkitehtuurille. Symbolinen opastus. Laskentatiheyden kasvaessa prosessorin ja tietokoneen suorituskyvyn mittausstandardit ja -menetelmät muuttuvat. Sovelluksen kannalta tyydyttävin yhdistelmä liikkuvaa ja taipumista suorituskykyä on löydetty, ja se voi räjähtää kädessä pidettävien Laitteiden nopea laajeneminen. Vaikka kädessä pidettävät laitteet ovat nykyään suhteellisen suosittuja, laskentatehon, skaalautuvuuden ja energiankulutuksen kannalta niillä on täysin se rooli, joka kädessä pidettävällä laitteella pitäisi olla; toisaalta suorituskykyyn tähtäävät palvelin- ja työpöytäpäätteet alkavat harkita virrankulutuksen vähentämistä. Ota kiinni luonnonsuojelumielisen yhteiskunnan trendiin.
Solu itse sopeutuu tähän muutokseen, ja se myös luo tämän muutoksen itse. Siksi se on alusta alkaen korostanut erilaisia suunnittelutyylejä. Sen lisäksi, että prosessorin sisäinen SPU (Synergistic Processor Unit) on laajennettavissa useita kertoja, sillä on hyvä skaalautuvuus, joten se voi kohdata samanaikaisesti. Yleiskäyttöinen ja erikoiskäyttöinen käsittely, toteuttaa joustavan jalostusresurssien jälleenrakentamisen. Tämä tarkoittaa, että asianmukaisen ohjelmiston ohjauksen avulla Cell pystyy selviytymään useista käsittelytehtävistä ja samalla virtaviivaistamaan suunnittelun monimutkaisuutta.