Kysymys:
mikä on transistorin tehtävä mikroprosessorissa?
T. Webster
2012-06-02 07:03:01 UTC
view on stackexchange narkive permalink

Minulla ei ole perusteellista tietoa sähkötekniikasta, mutta haluaisin ymmärtää mikroprosessorin transistorin tarkoituksen. Yleensä puhutaan Mooren laista ja siitä, että transistorit lisäävät jotenkin laskennan nopeutta, mutta minulle ei ole selvää, miten näitä transistoreita käytetään. Luulen, että sillä on jotain tekemistä putkistojen kanssa. Esimerkiksi kun keskusyksikkö lukee joitain käskyjä muistista, miten kyseiseen käskyyn tarvittavat toiminnot suoritetaan transistoreilla?

transistorit tekevät logiikkaportteja, näitä portteja käytetään varvastossujen valmistamiseen. Portteja käytetään yhdistelmäpiirien tekemiseen, kun taas kiikarit käytetään peräkkäisten piirien tekemiseen. Näitä käytetään kuin mikroprosessorin eri rakennuspalikoiden, kuten ALU: n, valmistamiseen.
Kolme vastused:
stevenvh
2012-06-02 11:47:25 UTC
view on stackexchange narkive permalink

Moderni mikrokontrolleri olisi melko vaikea suunnitella transistoritasolta. Transistoreita käytetään logiikkaporttien tekemiseen alimman tason rakennuspalikoina. Yksinkertaisin portti on NOT-portti, joka kääntää tulotason: logiikasta 0 tulee 1 ja päinvastoin. NOT-portti on rakennettu kahdella transistorilla:

enter image description here

Ylätransistori johtaa, jos sen tulo (pieni piste) on matala, alempi transistori (ei pistettä), jos sen tulo on suuri. Joten jos käytät suurta tuloa, alempi transistori suorittaa kytkimenä toimimalla ja vaihtaa lähdön Q arvoksi Vss (se on sinun -) tai matalalle tasolle. Olemme kääntäneet syötteen. Muut portit perustuvat siihen. Otetaan esimerkiksi NAND-portti. Siinä on kaksi tai useampia tuloja, ja lähtö on matala, jos kaikki tulot ovat korkeita. Kaikissa muissa tapauksissa panos on suuri.

enter image description here

Tämä on 2-tuloinen NAND-portti, näet silti osan invertteristä siinä. Jos molemmat tulot ovat korkeat, molemmat pohjatransistorit johtavat, ja lähtö tehdään matalaksi Vss-yhteyden kautta. Jos jompikumpi tuloista on matala, ainakin yksi ylimmistä transistoreista johtaa ja ulostulo tehdään korkeaksi sen yhteyden kautta Vdd: hen (se on sinun +). Meillä on toimiva NAND-portti. Ja niin jatkuu, voimme rakentaa XOR-portin käyttämällä 4 NAND-porttia, ja muu monimutkaisempi logiikka on rakennettu rakennuspalikoiden yhdistelmästä. Tarvitset rakennuspalikan rekisteritoiminnon luomiseen: osa, joka voi pitää tilansa, kuten muisti.

Jos käsky haluaa lukea RAM-muistista, ensin on dekooderi. Porttien yhdistelmän avulla se saa aikaan useita signaaleja, joita se tarvitsee käskyn suorittamiseen. Yksi niistä on välittää luettava RAM-osoite osoiteväylälle. (Bussit ovat signaalikanavia, esimerkiksi 8-bittisen ohjaimen osoiteväylällä voi olla esimerkiksi 16 rinnakkaista johtoa. Bussit ovat tapa järjestää asiat. Ilman niitä ohjaimen suunnittelu muuttuisi erittäin tehottomaksi.) Toinen signaali aktivoi RD: n rivi ("read"), joka ilmoittaa RAM-muistille, että sen pitäisi sijoittaa tiedot tietokantaan. Vielä yksi signaali lukitsee nämä tiedot rekisteriin.

Tärkeä asia on ajoitus. Et voi lukita tietoja, jos et ole antanut RAM-muistille aikaa sijoittaa niitä väylään. Kaikki tehdään samalla logiikalla rakennuspalikoista, jotka puolestaan ​​on rakennettu transistoreista.

"Transistorit lisäävät jotenkin laskennan nopeutta"

Ei ole muuta kuin transistorit ja niiden liitännät. Transistorit itsessään eivät lisää nopeutta. Totta on kuitenkin se, että tekniset parannukset mahdollistavat nopeammat transistorit ja nopeammat transistorit tarkoittavat nopeampaa laskentaa. Jotkut näistä parannuksista ovat ainutlaatuisia tekniikan vaiheita, jotka voit tehdä vain kerran. Mutta skaalaus on toinen tekijä, ja he ovat toistaneet sitä siitä lähtien, kun ensimmäiset IC: t suunniteltiin. 40 vuotta sitten IC: llä olisi tyypillisesti 5-8 \ $ \ mu \ $ m ominaisuuskoko. Nykyään voimme tuottaa jopa 22 nm: n ominaisuuksien koon. (DNA: n halkaisija on 15 nm.) Pienemmillä ominaisuuksilla transistorin fysikaaliset ominaisuudet muuttuvat, jotta se voi vaihtaa nopeammin. Moore näki tässä jatkuvassa mittakaavassa trendin, joka tunnettiin nimellä Moore's Law. Tämä ei voi jatkua ikuisesti ilman, että joudutaan harppaamaan käytettyä tekniikkaa. 80-luvulla pelättiin, että silloin käytetyn tekniikan rajat olisivat noin 200-300 nm, koska litografiaprosessi ei välttämättä toimi aallonpituuksilla näkyvän valon alapuolella. Mutta litografia on edelleen tekniikka, jota nykyiset stepperit käyttävät.

@stevenvh Mielestäni vastauksesi viimeisellä kappaleella on eniten lisäarvoa
@davidcary - kiitos, korjasin ensimmäisen, en huomannut, että tein sen kahdesti :-)
Vastauksena kysymyksiin [Miksi enemmän transistoreita = enemmän prosessointitehoa?] (Http://electronics.stackexchange.com/q/5592) ja [vicatcun vastaus tähän kysymykseen] (http://electronics.stackexchange.com/a/ 33079) huomauttavat, että "transistorit itsessään eivät lisää nopeutta" on jonkin verran harhaanjohtavaa.
vicatcu
2012-06-02 07:27:59 UTC
view on stackexchange narkive permalink

Kirjoittamatta digitaalisen logiikan ja tietokoneorganisaation ja suunnittelun kirjaa uudelleen, transistori toteuttaa kytkimen toiminnon mikroprosessoreiden yhteydessä. Niitä käytetään tyypillisesti "kytkentäpiirien" luomiseen (esim. CMOS-logiikkaportit). Mooren laki koskee sitä, kuinka monta transistoria voit sovittaa tietylle pinta-alalle (ts. Transistorin tiheydelle), ja näin ollen logiikan monimutkaisuus, jonka voit toteuttaa laitteistossa (ja sivutuotantona, joka voidaan saavuttaa valmistuksessa).

Koska mikroprosessorit viettävät suurimman osan ajastaan ​​odottaessaan muistitoimintojen (latausten ja varastojen) valmistumista, monet näistä transistoreista on omistettu sirun suurnopeusmuisteille, nimeltään välimuistit jotka auttavat vähentämään näiden muistitoimintojen tiheyttä, joiden on tosiasiallisesti poistuttava sirusta. Pienemmät transistorit tarkoittavat, että voit pitää suuremman RAM-alaryhmän paikallisena prosessorissa milloin tahansa. Enemmän transistoreita käytetään myös hienojen ennustavien piirien toteuttamiseen, kuten haaran ennustimet ja kuormitusarvon ennustimet.

Haaran ennakoijat ja tilauksen ulkopuolella -yksiköt auttavat pitämään putkilinjan täynnä arvaamalla, mihin suuntaan haaran ohjeet menevät ohjelmalaskuriin liittyvän heuristiikan ja viimeaikaisten tietojen perusteella haarautumistulosten historia (otettu vai ei).

Latausarvon ennustimet ovat olemassa, jotta vältetään muistiin meneminen arvon noutamiseksi (esimerkiksi olettaen tietyn "askeleen" tai muun heuristisen, mistä tiedot ovat. tietty osoite, joka perustuu aikaisempiin kyseisessä osoitteessa näkyviin arvoihin).

Näiden ennakoivien logiikkapiirien ohella tulevat kaikki logiikkapiirit, joita tarvitaan laskettujen tulosten kumoamiseen ja korjaamiseen, kun ennusteet osoittautuvat vääriksi.

Yhteenvetona voidaan todeta, että kaikkia näitä ylimääräisiä transistoreita käytetään:

  1. Vältä ohjeiden tarvitsematta jättää sirua (eli siirtyä RAM-muistiin) keskeneräisiksi ja
  2. Pidä putki täynnä tai vältä RAM-muistin käyttämistä ennustamalla riippuvuustuloksia

Viimeinen asia on, että niitä voidaan käyttää tekemään tietopolkusi laajemmaksi (ts. 64-bittiset prosessorit sijasta 32-bittiset prosessorit).

Puhut optimointitekniikoista, kuten välimuistit ja putkisto, selittämättä perustoimintoja. Mielestäni se voi olla hämmentävää.
@stevenvh on varma, mutta kysymys, jota hän todella kysyy, ei ole "mihin transistoria yleensä käytetään", vaan pikemminkin "miten useamman transistorin saaminen nopeuttaa tietojenkäsittelyä" ...
Kuormitusriippuvuusennuste ei ole sama kuin kuormitusarvon ennuste.Kuormituksen riippuvuusennuste voi sallia myöhemmän kuormituksen suorittamisen, kun aikaisempi tallennus oli vielä tuntemattomaan osoitteeseen, jos riippumattomuus ennustetaan.Tietyn kaupan riippuvuuden ennustamista voidaan pitää arvon ennusteena.Yleisempää arvon ennustamista ei tällä hetkellä toteuteta kaupallisesti.
hotpaw2
2012-06-02 13:35:31 UTC
view on stackexchange narkive permalink

Vastaus kysymykseesi sisältää noin 3 täyspitkää yliopistokurssia. Mahdollisesti enemmän.

Nykyaikaisessa CMOS-prosessorissa transistoreita käytetään erilaisten Boolen logiikkatoimintojen suorittamiseen, ykkösien ja nollien tallentamiseen sekä signaalien vahvistamiseen, jotta ne voidaan lähettää johtimiin, esimerkiksi kaikki digitaalisen logiikan perustoiminnot. Kaikki prosessorin sisällä olevat toiminnalliset yksiköt, mukaan lukien käskydekooderit, ovat vain suuria, joskus hyvin monimutkaisia ​​tilakoneita, jotka on rakennettu transistoreilla.

.


Tämä Q & A käännettiin automaattisesti englanniksi.Alkuperäinen sisältö on saatavilla stackexchange-palvelussa, jota kiitämme cc by-sa 3.0-lisenssistä, jolla sitä jaetaan.
Loading...