Kysymykseni siis on että miten säikeet toimivat teknisesti, miten data liikkuu niissä?
Tässä pitää ensin ymmärtää prosessorin toiminta. Prosessori hakee käskyn suoritusjonosta (tietokoneen keskusmuistista), ja sitten suorittaa sen. Ennen suoritusta rekistereissä/muistissa on joku joukko arvoja. Suorituksen jälkeen käsky on voinut tehdä jotain noille arvoille. Esim. käsky MOV EAX, ECX vaihtaa siirtää EAX-rekisteriin ECX-rekisterin sisällön. Ennen suorittamista EAX-rekisterissä oli joku arvo ja suorituksen jälkeen EAX=ECX.
Tämä on hyvin yksinkertaistettu kuva prosessorin toiminnasta, jossa unohdetaan cachet, oooe ja muut , ettei sotketa asioita enempää.
HT/SMT toimii niin, että prosessorin rekisterien tilaa pitäviä yksiköitä on monistettu, mutta ei varsinaisia suoritusyksiköitä. Sitten, kun oikean ytimen suoritusjonossa vapautuu paikka, voidaan suorittaa HT-virtuaaliytimen käskyjä. Käskyt kuitenkin suoritetaan oikeassa ytimessä, eikä HT/SMT-ytimessä. Sillä erolla, että ne käsittelevät HT/SMT-ytimen rekistereitä. Sitten tulos on normaalisti niistä luettavissa/kirjoitettu muistiin.
Jo 90-luvulla oli u- ja v- putket , joissa voitiin samaan aikaan suorittaa käskyjä. Otetaan se Pentium nyt esimerkiksi, kun se on yksinkertainen:
Tuossa on Pentiumin koko prosessi. Käsky haetaan FETCH/DECODE -yksiköllä, joka oli se Bulldozerin ongelma, mutta ei siitä enempää. Sitten se menee joko FPU:lle tai Integer Unitille, jossa voidaan suorittaa kaksi käskyä yhtä aikaa. Sitten tulos kirjoitetaan rekisteriin (WRITE).
Nykyisissä prosessoreissa voidaan suorittaa paljon enemmän käskyjä yhtä aikaa. Siten HT/SMT pyrkii maksimoimaan sen loogisen ytimen kapasiteettia, kun lähes aina on uusia käskyjä jonossa. Näin prosessorin ytimen sisäinen "moniajo" tulee käytettyä paljon korkeammalla asteella, kuin se olisi ilman HT/SMT.
Kuitenkin, suoritusyksikköjä on vain yksi, niin se vain "käytetään paremmin", eikä niitä ytimiä oikeasti ole lisää.
--
Eli meillä on nakkikioski. Siinä on yksi luukku. Luukulla on myyjä. Myyjä ei kokkaa. Siellä on kolme kokkia.
SMT/HT tapauksessa nakkikioskilla on kaksi luukkua, joissa on oma myyjä. Siellä on edelleen kolme kokkia. Tämän nakkikioskin myynnit ovat suuremmat.
Ovatko ne yksisuuntaisia (muusta raudasta vain prossuun päin/prossusta vain ulospäin) vai kaksisuuntaisia?
Tässä ei nyt ole ymmärretty jotain oikein. Tarkennatko kysymystä?