Bitin viipalointi - Bit slicing

Bittileikkaus on tekniikka prosessorin rakentamiseksi pienempiä bittileveyksiä sisältävistä prosessorimoduuleista sanan pituuden lisäämiseksi. teoriassa tehdä mielivaltainen n-bittinen suoritin. Kukin näistä komponenttimoduulia käsittelee yksi -bittinen kenttä, tai "viipale", joka operandin . Ryhmitetyt käsittelykomponentit kykenisivät sitten käsittelemään tietyn ohjelmistosuunnitelman valitun koko sanan pituuden .

Bitin leikkaaminen kuoli enemmän tai vähemmän mikroprosessorin myötä . Viime aikoina sitä on käytetty kvanttitietokoneiden ALU -laitteissa ja sitä on käytetty ohjelmistotekniikkana (esim. X86 -suorittimissa, salaustekniikassa ).

Toiminnalliset yksityiskohdat

Bit-slice prosessorit sisältävät yleensä aritmeettisloogisen yksikön (ALU) ja 1 , 2 , 4 , 8 tai 16  bittiä, ja ohjauslinjat (mukaan lukien kantaa tai ylivuoto signaaleja, jotka ovat sisäisiä prosessori ei-bitsliced CPU mallit).

Esimerkiksi kaksi 4-bittistä ALU-sirua voitaisiin järjestää vierekkäin ohjauslinjojen välissä muodostaakseen 8-bittisen ALU: n (tuloksen ei tarvitse olla kahden teho, esim. Kolme 1-bittistä voi muodostaa 3-bittisen ALU: n) , eli 3-bittinen (tai n-bittinen) suoritin, kun taas 3-bittistä tai mitä tahansa prosessoria, jolla on suurempi pariton bittimäärä, ei ole valmistettu ja myyty määrällisesti). Neljä 4-bittistä ALU-sirua voitaisiin käyttää 16-bittisen ALU: n rakentamiseen. 32-bittisen sanan ALU rakentaminen kestää kahdeksan sirua. Suunnittelija voisi lisätä niin monta viipaletta kuin tarvitaan pidempien sanapituuksien käsittelyyn.

Mikrosekvensaattorilla tai ohjaus ROM voitaisiin käyttää suorittamaan logiikka toimittamaan tietoja ja ohjaussignaalit säädellä komponentin tehtävää ALU.

Tunnetut bittiviipaleilla varustetut mikroprosessorit:

  • 4-bittinen siivu:
    • Kansallinen IMP-perhe, joka koostuu pääasiassa IMP-00A/520 RALU: sta (tunnetaan myös nimellä MM5750) ja erilaisista naamioiduista ROM-mikrokoodeista ja ohjauspiireistä (CROM, tunnetaan myös nimellä MM5751)
      • Kansallinen GPC / P / IMP-4 (1973), Rockwellin toissijainen lähde
      • Kansallinen IMP-8 , 8-bittinen prosessori, joka perustuu IMP-piirisarjaan ja joka käyttää kahta RALU-sirua ja yhtä CROM-sirua
      • Kansallinen IMP-16 , 16-bittinen prosessori, joka perustuu IMP-piirisarjaan, esim. Neljä RALU-sirua, joista jokaisessa on yksi IMP16A/521D- ja IMP16A/522D-CROM-siru (lisävarusteena saatavat CROM-sirut voivat tarjota lisäsarjoja)
    • AMD Am2900 -perhe (1975), esim. AM2901, AM2901A, AM2903
    • Monolithic Memories 5700/6700 -perhe (1974), esim. MMI 5701 / MMI 6701, toissijainen ITT Semiconductors
    • Texas Instruments SBP0400 (1975) ja SBP0401, kaskadoitavissa jopa 16 -bittiseksi
    • Texas Instruments SN74181 (1970)
    • Texas Instruments SN74S281 ja SN74S282
    • Texas Instruments SN74S481 ja SN74S482 (1976)
    • Fairchild 33705
    • Fairchild 9400 (MAKROLOGINEN), 4700
    • Motorola M10800 -perhe (1979), esim. MC10800
    • Raytheon RP-16, 16-bittinen prosessori, joka koostuu seitsemästä integroidusta piiristä ja joka käyttää neljää RALU-sirua ja kolmea CROM-sirua.

Historiallinen välttämättömyys

Bittien leikkaamista, vaikka sitä ei tuolloin kutsuttu, käytettiin myös tietokoneissa ennen suuria integroituja piirejä (LSI, nykyisen VLSI: n edeltäjä tai erittäin laajamittaiset integrointipiirit). Ensimmäinen bittileikattu kone oli EDSAC 2 , joka rakennettiin Cambridgen yliopiston matemaattisessa laboratoriossa vuosina 1956–1958.

Ennen 1970-luvun puoliväliä ja 1980-luvun loppua käytiin keskustelua siitä, kuinka paljon väylän leveyttä tietyssä tietokonejärjestelmässä tarvittiin sen toimimiseksi. Piisirutekniikka ja osat olivat paljon kalliimpia kuin nykyään. Useiden, yksinkertaisempien ja siten halvempien ALU-laitteiden käyttöä pidettiin keinona lisätä laskentatehoa kustannustehokkaasti. Kun taas 32-bittinen arkkitehtuuri mikroprosessorit olivat silloin keskusteltiin, muutama oli tuotannossa.

UNIVAC 1100 -sarjan keskusyksiköt (yksi vanhimmista sarja, joka on peräisin 1950-luvulla) on 36-bittinen arkkitehtuuri ja 1100/60 käyttöön vuonna 1979 käytettiin yhdeksän Motorola MC10800 4-bittinen ALU pelimerkkejä toteuttaa tarvittavat sanan leveys, kun taas nykyaikaisen integroitu piirit.

Tuolloin 16-bittiset prosessorit olivat yleisiä, mutta kalliita, ja 8-bittisiä suorittimia, kuten Z80 , käytettiin laajalti syntyvillä kotitietokoneiden markkinoilla.

Komponenttien yhdistäminen bittiviipaleituotteiden tuottamiseen antoi insinööreille ja opiskelijoille mahdollisuuden luoda tehokkaampia ja monimutkaisempia tietokoneita kohtuullisemmalla kustannuksella käyttämällä valmiita komponentteja, jotka voidaan mukauttaa. Uuden tietokonearkkitehtuurin luomisen monimutkaisuus väheni huomattavasti, kun ALU: n tiedot oli jo määritetty (ja virheenkorjattu ).

Suurin etu oli se, että bitin leikkaaminen mahdollisti taloudellisesti pienemmissä prosessoreissa bipolaaristen transistorien käytön , jotka vaihtuvat paljon nopeammin kuin NMOS- tai CMOS -transistorit. Tämä mahdollisti paljon korkeammat kellotaajuudet, joissa nopeutta tarvittiin; esimerkiksi DSP -toiminnot tai matriisimuunnos tai kuten Xerox Altossa , joustavuuden ja nopeuden yhdistelmä, ennen kuin erilliset suorittimet pystyivät tuottamaan sen.

Nykyaikainen käyttö

Ohjelmistojen käyttö ei-bitti-laitteistossa

Enemmän viime aikoina, termi vähän viipalointi oli uudelleen keksi Matthew Kwan viitata tekniikkaa käyttämällä yleiskäyttöisen prosessorin toteuttamaan useita rinnakkaisia yksinkertainen virtuaalista konetta käyttämällä yleistä logiikkaa ohjeet suorittaa yksi käsky Multiple Data (SIMD) toimintaa. Tämä tekniikka tunnetaan myös nimellä SIMD Within A Register (SWAR).

Tämä viittasi aluksi Eli Bihamin vuonna 1997 julkaisemaan A Fast New DES Implementation in Software -ohjelmaan , joka saavutti merkittäviä parannuksia DES : n suorituskyvyssä käyttämällä tätä menetelmää.

Bit-viipaloidut kvanttitietokoneet

Piirirakenteen yksinkertaistamiseksi ja kvanttitietokoneiden (ehdotetaan MIPS32-käskysarjan suorittamista varten ) laitteistokustannusten vähentämiseksi 50 GHz: n suprajohtava "4-bittinen viipalearitmeettinen logiikkayksikkö (ALU) 32-bittisille nopeille yhden flux-kvanttimikroprosessoreille osoitettiin. "

Katso myös

Viitteet

Ulkoiset linkit