CPU八種通用寄存器在一台計算機中大概各有多少個?多個程序一起運行,需要那麼多寄存器夠麼?還是說速度特別快?程序計數器和代碼寄存器有什麼聯系?任何程序在運行過程是否八種通用寄存器都用到?
多個程序沒法同時運行,它們在宏觀上同時運行,微觀上是交替運行的。操作系統在任務切換的時候,會把前一個程序中斷時候的寄存器上下文保存到內存,並且恢復下一個要執行的程序的寄存器上下文,再執行。
http://blog.csdn.net/maimang1001/article/details/9206167
另外對於現代x86處理器來說,寄存器其實有100多個,只是在軟件的層面上看,它仿佛只有那麼幾個,這個機制叫做“寄存器重命名”
http://blog.csdn.net/edonlii/article/details/8771023
最後,現代處理器往往具有多個內核,這種情況下,每個內核有一套獨立的。
拋開性能不談,你完全可以寫出一個程序,實現任意功能,但是偏偏只使用7個寄存器。