曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 5899|回复: 1
打印 上一主题 下一主题

操作系统--概述--寄存器

[复制链接]

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34397
跳转到指定楼层
楼主
发表于 2009-4-10 20:52:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一、处理器中的寄存器有分类

1、用户可见寄存器
合理使用这些寄存器,可以使机器语言或汇编语言程序减少对主存储器的引用。对于高级语言而言,由优化编译器负责决定哪些变量应该分配给寄存器、哪些变量应分配给主存储器。一些高级语言,如 C 语言,允许程序员建议编译器把哪些变量保存在寄存器中。

2、控制和状态寄存器
供处理器使用以控制处理器的操作,也可以由具有特权的操作系统例程使用以控制程序的执行。

3、一些名称
PC = 程序计数器
IR = 指令寄存器
MAR = 存储器地址寄存器
MBR = 存储器缓冲寄存器
I/OAR = I/O地址寄存器
I/OBR = 缓冲寄存器

1.1 用户可见寄存器
用户可见寄存器对一般所有的程序(应用程序和系统程序)都是可用的,这些寄存器的类型有:

数据寄存器( data register ):可以被程序员分配给各种函数。
地址寄存器( address register ):包含数据

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34397
沙发
 楼主| 发表于 2009-4-12 16:25:36 | 只看该作者

操作系统--概述--指令的执行



上图为一个简单的指令执行例子。
在上面的示例中,一共有 3 条指令,且为 3 个指令周期,每条指令 1 个指令周期。每一条指令周期都包含 ”取指阶段“( fetch stage ) 和 ”执行阶段“ ( execute stage )。
这几条指令的功能是,把 940 位置处的内容和 941 位置处的内容相加,结果存往 941 处。

分析 6 个过程( 数值都为 16 进制):
      地址 300 装入 PC,指令内容 1940 装入 IR
      IR 中的最初 4 为 (1H) 表示要加载 AC,剩下的 12 位 ( 940 ) 表示地址为 940。意思是,从 940 地址处取得内容加载到 AC 中。执行完成后,下一条指令地址 301 装入 PC
      取得 301 单元处的指令内容 5941 装入 IR
      从 941 地址处取得内容 0002H 和 AC 中的内容 0003H 相加,结果存于 AC 中。执行完后 ,PC 增 1 后为 302
      从 302 地址单元处取得指令内容 2941 到 IR
      AC 中的内容 05H 存往 941 地址单元中,PC 增 1 后为 303
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2025-6-17 20:05 , Processed in 0.082980 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表