Forum » Strojna oprema » Kaj je Hyper-threading
Kaj je Hyper-threading
jackblake ::
Pozdrav !
Gledal sem že po Youtubu kaj je hyper-threading ampak si preprosto nemoram vbiti v glavo kaj točno je ta reč. Ali mi lahko kdo na hitro razloži kaj pravzaprav je hyper threading pri procesorjih.
Gledal sem že po Youtubu kaj je hyper-threading ampak si preprosto nemoram vbiti v glavo kaj točno je ta reč. Ali mi lahko kdo na hitro razloži kaj pravzaprav je hyper threading pri procesorjih.
- spremenilo: jackblake ()
mtosev ::
Core i9 10900X, ASUS Prime X299 Edition 30, 32GB 4x8 3600Mhz G.skill, CM H500M,
ASUS ROG Strix RTX 2080 Super, Samsung 970 PRO, UltraSharp UP3017, Win 11 Pro,
Enermax Platimax 1700W | moj oče darko 1960-2016, moj labradorec max 2002-2013
ASUS ROG Strix RTX 2080 Super, Samsung 970 PRO, UltraSharp UP3017, Win 11 Pro,
Enermax Platimax 1700W | moj oče darko 1960-2016, moj labradorec max 2002-2013
jackblake ::
Tule ti lepo razloži:
To se pravi 1 core je razdeljen na 2 logična threada za lažje in hitrejše procesiranje podatkov. Ko podatek odide skozi logični thread 1 se že nasledni podatek procesira v logičnem threadu 2. Ta način omogoča da procesor zmeraj outputa podatke in medtem med delom ne čaka.
Se opravičujem ker sprašujem take neumne stvari.
Tako si jaz predstavljam hyper-threading.
Na računalnike se ne spoznam prav dobro saj sem šele moj prvi računalnik dobil pred nekaj mesci zato se pa hočem naučiti ter vedeti čim več.
Se opravičujem ker sprašujem take neumne stvari.
Zgodovina sprememb…
- spremenilo: jackblake ()
::
To se pravi 1 core je razdeljen na 2 logična threada za lažje in hitrejše procesiranje podatkov. Ko podatek odide skozi logični thread 1 se že nasledni podatek procesira v logičnem threadu 2. Ta način omogoča da procesor zmeraj outputa podatke in medtem med delom ne čaka.
Zelo poenostavljeno povedano: procesor (oz. njegov core, če jih ima več) procesira ukaze in ne podatkov. Za izvedbo vsakega ukaza poskrbi več manjših enot v procesorju, tako da ukaz "potuje" skozi te manjše enote. Ko se ukaz obdeluje v eni enoti, so ostale proste. Pri HT pa procesor sprejme dva ukaza hkrati in ju poizkuša izvajati sočasno. To mu lahko uspeva bolje ali slabše, odvisno od tega, katere enote so zahtevane za izvedbo obeh ukazov. Na zunaj je tak procesor videti kot dvo-jedrni, dejanska pohitritev pa je v resnici manjša.
Wrop ::
Jedro vsebuje ogromno nekih logičnih enot. Poenostavljeno povedano, vsebuje od enot za računanje do enot, ki shranjujejo in enote, ki se odločajo. Enote za računanje so za npr. celoštevilčno računanje, računanje v plavajoči vejici, enote za nalaganje in shranjevanje podatkov v predpomnilnik, enote, ki operirajo nad več podatki naenkrat (t.i. SIMD ukazi).
Na primer, da lahko nek del programa paraleliziraš na več niti. Pred HT se je vsaka nit izvajala na svojem jedru. Če bi pogledal vsebino izvajanja ukazov za posamezno nit, bi lahko videl, da vsebuje različne vrste ukazov. Od celoštevilskih ukazov, bralnih in shranjevalnih, do ukazov za računanje v plavajoči vejici. Vsak tip ukazov se obdeluje za njih primernih enotah. Ker ima nit različne vrste ukazov so tudi te enote različno obremenjene oz. izkoriščene.
Če pa hočeš povečati moč procesorja pa imaš na voljo več možnosti. Dve izmed teh sta povečanje število jeder ali uvedba sistema, ki omogoča boljši izkoristek enot v procesorju. Vsako dodatno jedro prinese precej tranzistorjev, če pa dodaš ala HT, se pa ne rabi dodajati novega jedra. Dodati je potrebno registre, ki shranjujejo podatke med izvajanjem niti, predpomnilik za dodatno nit (nujno sicer ne bi bilo) in nek razvrščevalnik, ki razvrša ukaze iz dveh niti v posamezne enote. Pri tem pa prihraniš precej na prostoru in št. tranzistorjev. Enote so pa v povprečju bolje izkoriščene.
Moraš pa vedeti še to, da se v jedru lahko nahaja več ukazov iz vsake niti naenkrat. Že zdavnaj ni več tako, da bi se v jedru nahajal samo en ukaz (na nit). Veliko ukazov je takih, ki so med seboj neodvisni ali ne operirajo nad istimi podatki. Ukazi, ki jih jedro pobere v izvajanje, se nahajajo v vrsti in iz te vrste jih razvrševalnik pobira in da v izvajanje v primerne enote. Jedro mora samo paziti, da se vsak ukaz konča v pravilnem zaporedju, tako kot je prišel notri v izvajanje. No tu je ogromno hakelcev, na katere je potrebno pazit. Npr. če se izvede v niti nek skok (npr. pri if stavku), potem moraš vse ukaze, ki so za tem skokom, ki so lahko že v izvajanju in celo že izračunani, izničiti.
Na primer, da lahko nek del programa paraleliziraš na več niti. Pred HT se je vsaka nit izvajala na svojem jedru. Če bi pogledal vsebino izvajanja ukazov za posamezno nit, bi lahko videl, da vsebuje različne vrste ukazov. Od celoštevilskih ukazov, bralnih in shranjevalnih, do ukazov za računanje v plavajoči vejici. Vsak tip ukazov se obdeluje za njih primernih enotah. Ker ima nit različne vrste ukazov so tudi te enote različno obremenjene oz. izkoriščene.
Če pa hočeš povečati moč procesorja pa imaš na voljo več možnosti. Dve izmed teh sta povečanje število jeder ali uvedba sistema, ki omogoča boljši izkoristek enot v procesorju. Vsako dodatno jedro prinese precej tranzistorjev, če pa dodaš ala HT, se pa ne rabi dodajati novega jedra. Dodati je potrebno registre, ki shranjujejo podatke med izvajanjem niti, predpomnilik za dodatno nit (nujno sicer ne bi bilo) in nek razvrščevalnik, ki razvrša ukaze iz dveh niti v posamezne enote. Pri tem pa prihraniš precej na prostoru in št. tranzistorjev. Enote so pa v povprečju bolje izkoriščene.
Moraš pa vedeti še to, da se v jedru lahko nahaja več ukazov iz vsake niti naenkrat. Že zdavnaj ni več tako, da bi se v jedru nahajal samo en ukaz (na nit). Veliko ukazov je takih, ki so med seboj neodvisni ali ne operirajo nad istimi podatki. Ukazi, ki jih jedro pobere v izvajanje, se nahajajo v vrsti in iz te vrste jih razvrševalnik pobira in da v izvajanje v primerne enote. Jedro mora samo paziti, da se vsak ukaz konča v pravilnem zaporedju, tako kot je prišel notri v izvajanje. No tu je ogromno hakelcev, na katere je potrebno pazit. Npr. če se izvede v niti nek skok (npr. pri if stavku), potem moraš vse ukaze, ki so za tem skokom, ki so lahko že v izvajanju in celo že izračunani, izničiti.
PARTyZAN ::
Tako je, to so podatkovne nevarnosti v cevovodu. Preberi si prosojnice predmetov Računalniška arhitektura in Organizacija računalnikov na FRI.
https://ucilnica.fri.uni-lj.si/pluginfi...
https://ucilnica.fri.uni-lj.si/pluginfi...
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Zakaj so pentiumi pocasnejsi od core i5?Oddelek: Strojna oprema | 6249 (4744) | mtosev |
» | ARM bo svojim čipom dodal večnitenjeOddelek: Novice / Procesorji | 7398 (6386) | Maxtor2000 |
» | Intel Nehalem - vrnitev Hyper-threadingaOddelek: Novice / Procesorji | 4140 (3152) | Jst |
» | AMD raziskuje obrnjeno večnitenjeOddelek: Novice / Procesorji | 4221 (2679) | BigWhale |
» | kaj novega je prinesla tehnoligija p4Oddelek: Strojna oprema | 1317 (1122) | BigWhale |