cg_Amaz1ng 2016-04-25 10:11 采纳率: 60%
浏览 2399
已采纳

关于寄存器(汇编、操作系统)

CPU八种通用寄存器在一台计算机中大概各有多少个?多个程序一起运行,需要那么多寄存器够么?还是说速度特别快?程序计数器和代码寄存器有什么联系?任何程序在运行过程是否八种通用寄存器都用到?

  • 写回答

4条回答 默认 最新

  • threenewbee 2016-04-25 15:47
    关注

    多个程序没法同时运行,它们在宏观上同时运行,微观上是交替运行的。操作系统在任务切换的时候,会把前一个程序中断时候的寄存器上下文保存到内存,并且恢复下一个要执行的程序的寄存器上下文,再执行。
    http://blog.csdn.net/maimang1001/article/details/9206167
    另外对于现代x86处理器来说,寄存器其实有100多个,只是在软件的层面上看,它仿佛只有那么几个,这个机制叫做“寄存器重命名”
    http://blog.csdn.net/edonlii/article/details/8771023
    最后,现代处理器往往具有多个内核,这种情况下,每个内核有一套独立的。
    抛开性能不谈,你完全可以写出一个程序,实现任意功能,但是偏偏只使用7个寄存器。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器