Ako počítač používa iba niekoľko registrov?

How Does Computer Use Just Few Registers



Riešenie:

Samotné viacvláknové vlákno neovplyvňuje počet používaných registrov. Keď sa vlákno vymení, spravidla má svoje registre uložené v pamäti a ďalšie spustené vlákno má tieto registre načítané z predchádzajúceho uloženia.

Príkladom je systém so štruktúrou blokov ovládania vlákien (TCB). Táto štruktúra bude obsahovať (zatiaľ čo vlákno nebolo spustené), ukazovateľ uložených inštrukcií, ukazovateľ zásobníka, registre na všeobecné účely, registre s plávajúcou rádovou čiarkou, štatistiky vlákien a tak ďalej. Stručne povedané, všetko potrebné na úplné obnovenie vlákna do stavu, v ktorom bolo, keď bolo vymenené za iné vlákno, aby sa spustilo.



A nie všetko, čo sa deje v počítači, sa deje v registroch. Moderné kompilátory môžu optimalizovať kód tak, aby sa najčastejšie používané dátové položky uchovávali v registroch, ale drvivá väčšina údajov je uložená v pamäti a do registrov sa nakupuje iba v prípade potreby.



Najlepšia kniha, akú som kedy na túto tému čítal, je Tanenbaumova „Organizácia štruktúrovaných počítačov“, ktorá skúma počítače z hľadiska úrovní, od úrovne digitálnej logiky až po úroveň operačného systému, pričom každá úroveň nadväzuje na predchádzajúcu.



alternatívny text

Okrem: mojím snom je jedného dňa napísať knihu, ktorá bude obsahovať túto knihu všetko , od úrovne kvarku až po Emacsa :-)


Ostatné premenné a zásobníky vlákien sú zvyčajne uložené v chránenom pamäťovom priestore, kde ich možno v prípade potreby zavolať do registrov.



Možno by ste si chceli knihu pozrieť Prvky počítačových systémov na dobré pochopenie fungovania procesora vášho počítača. Kniha je vytvorená ako séria projektov, v ktorých sa prepracujete od brány NAND k CPU, assembleru, jednoduchému kompilátoru a k malému operačnému systému. Je neoceniteľné, keď porozumiete, ako do seba zapadajú všetky súčasti vášho počítača.


Zakaždým, keď sa vlákno (alebo proces) vymení, jadro operačného systému vtlačí všetky registre do zásobníka do dátovej štruktúry, ktorá sa obvykle nazýva Process Control Block. Potom, keď sa vlákno/proces znova zapne, dáta registra sa načítajú z PCB a vysunú zo zásobníka do registrov.


K dispozícii sú tiež interné registre a mapovacia tabuľka, ktoré má x86 interne, takže tento typ nastavil tabuľku virtuálnych registrov na zachovanie architektúry sady inštrukcií IA32 a zároveň väčšiu flexibilitu pri navrhovaní superskalárnych architektúr a sofistikovaných algoritmov plánovania inštrukcií.

Tiež sady inštrukcií majú spravidla a naložiť a sklad inštrukcia, ktorá sa používa v spojení s ukazovateľmi do pamäte, umožňujúca ukladanie údajov z registrov do pamäte. Odtiaľ pochádza termín stroj Load-Store, tj. Počítač, ktorý nemá pokyny a pracuje priamo v pamäti.

Niektoré počítače majú pokyny, ktoré pracujú s pamäťou; niektoré sú založené na zásobníku. Závisí to od projektantov a obmedzení, ktoré sú na hardvér kladené.