《计算机组成原理》指令周期数据流的详解
Posted 晚风Sensei
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《计算机组成原理》指令周期数据流的详解相关的知识,希望对你有一定的参考价值。
CPU的控制和状态寄存器
CPU执行指令的过程涉及到控制和状态寄存器
(1)MAR:存储器地址寄存器,用于存放将被访问的存储单元的地址
(2)MDR:存储器数据寄存器,用于存放欲存入存储器的数据或从存储器取出的数据
(3)PC:程序计数器,存放现行指令的地址
(4)IR:指令寄存器,存放当前欲执行指令的地址
指令周期的数据流
由于指令周期可以分为取指、间址、执行、中断四个阶段,下面依次介绍。
取指周期的数据流
- PC中存放现行指令的地址,将该地址送到MAR,再送到地址总线
- CU控制单元发出读命令,从存储器中取出改地址对应的数据(指令),并存到MDR
- 将MDR中的数据(指令)送至指令寄存器IR
- CU控制PC加1,指向下一条指令地址
间址周期的数据流
取指结束后,控制单元CU会检查IR中是否有间接地址(操作数有效地址的地址)。若有,CPU执行如下操作,若没有则跳过。
- MDR中的间址送至MAR
- CU发出读命令,从存储器中取出该间址对应的操作数有效地址,并存入MDR。
执行周期的数据流
不同指令在执行周期的操作不同,故执行周期的数据流是多种多样的,故无法用统一的数据流图表示
中断周期的数据流
CPU执行完一条指令后,需要判断是否有中断请求,若有中断请求,则执行一下操作。若没有则跳过,进入下一个指令周期。
- 控制单元CU将用于保存程序断点地址的栈寄存器地址送入MAR,再到地址总线
- PC将断点程序地址(即中断结束后执行的下一条指令地址)送入MDR,再到数据总线
- CU发出写命令,根据MAR和MDR将断点程序地址写入栈寄存器
- CU将中断服务程序的入口地址(第一条指令地址)送入PC,CPU开始执行中断服务程序(同上面三个周期)
- 中断服务程序结束后,CU根据栈寄存器地址取出断点程序地址,CPU继续执行原程序
以上是关于《计算机组成原理》指令周期数据流的详解的主要内容,如果未能解决你的问题,请参考以下文章