时间:2022-09-21 05:57 | 栏目:信息 | 点击:次
寄存器多少合适这个不好回答…x86好像有13个…arm好像有37个…寄存器肯定不是越多越好…
1.今天操作系统原理早已不是什么秘密…手把手教你写操作系统的中文书都已经有六本了…ucos,freertos代码解析的书籍更多…
2.操作系统可以执行多个进程的任务…也就是多个程序…他会把程序分为时间片…以ms为单位切换…让你有一种程序并行运行的错觉…所谓操作系统的核心原理就是切换…
3.切换也不是什么难事…就是先把当前寄存器的数据保存到内存中…然后再从内存中读出之前保存过的要切换的进程的寄存器数据写到寄存器中…因为指令寄存器也改了…所以指令也是被切换了的…当然这里面还有一些小细节…不细说了…
4.寄存器多了有什么坏处…一个进程就要完整的一套的数据…空间到没多少…但从内存中读到写回寄存器…10个寄存器的耗时一定是接近5个寄存器的两倍…当然…arm现在有个一条指令保存现场恢复现场…但也快不哪去…一秒切1000次操作系统的开销其实也不小…
5.如果弄两套一模一样的寄存器…硬件切换…那岂不是很快??恭喜你…你已经精通intel超线程技术…
6.实际上x86的寄存器数量比较好…arm有点多…