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条)

报告相同问题?

悬赏问题

  • ¥20 蓝牙耳机怎么查看日志
  • ¥15 Fluent齿轮搅油
  • ¥15 八爪鱼爬数据为什么自己停了
  • ¥15 交替优化波束形成和ris反射角使保密速率最大化
  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏