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 Arduino无法同时连接多个hx711模块,如何解决?
  • ¥50 需求一个up主付费课程
  • ¥20 模型在y分布之外的数据上预测能力不好如何解决
  • ¥15 processing提取音乐节奏
  • ¥15 gg加速器加速游戏时,提示不是x86架构
  • ¥15 python按要求编写程序
  • ¥15 Python输入字符串转化为列表排序具体见图,严格按照输入
  • ¥20 XP系统在重新启动后进不去桌面,一直黑屏。
  • ¥15 opencv图像处理,需要四个处理结果图