萍乡网站开发公司,深圳设计公司名字,dw网页设计全称,网络服务器配置与管理论文【README】
本文总结自bilibili《计算机组成原理#xff08;哈工大刘宏伟#xff09;》的视频讲解#xff0c;非常棒#xff0c;墙裂推荐#xff1b; 1#xff09;完成一条指令需要4个周期#xff1a;
取值周期#xff1b;间址周期#xff08;或有#xff09;…【README】
本文总结自bilibili《计算机组成原理哈工大刘宏伟》的视频讲解非常棒墙裂推荐 1完成一条指令需要4个周期
取值周期间址周期或有执行周期中断周期或有
看一下在取指间指指令分析指令执行以及中断响应过程中控制单元CU到底要发出哪些微控制命令引出问题 2微操作命令定义指的是这些命令是在指令解释过程中控制单元发出的命令这些命令要完成的动作与整条指令相比要小得多所以叫做微操作命令 【1】取指周期微操作命令分析 1取指周期数据流的步骤 步骤 描述 1 PC把下一条指令的内存地址送入MAR 2 MAR把地址送到地址总线再由地址总线送到存储器 3 CU把读控制信号送到控制总线上再由控制总线送到存储器 4 存储器执行读操作把相应的数据送到数据总线通过数据总线送到MDR 这个时候指令已经被取出到cpu了并保持到MDR寄存器中 5 MDR把指令送到IR中 6 CU把PC加1得到下一条指令的地址为下一条指令的取指操作做准备 2取指周期还要完成一项动作就是译码译码就是确定指令要完成什么操作具体什么操作根据指令操作码给出 所以需要把IR指令寄存器中的指令操作码部分送给CUOPCODE(IR) –CU 由CU译码来确认这条指令具体是做什么操作 【2】间址周期 间址周期数据流的步骤 步骤 描述 1 IR存储的指令中的形式地址送到MAR 2 MAR把地址送到地址总线再通过地址总线送给存储器 3 CU发出读操作到控制总线控制总线再送入存储器中 4 存储器完成读操作后把数据送到数据总线再由数据总线送到MDR MDR就保存了指令用到的操作数所在的内存地址 5 MDR把操作数的真实地址送入IR寄存器中的地址码部分
步骤2~5这4个操作是间址周期控制单元CU要发送的控制命令微操作命令 【3】执行周期
【3.1】非访存指令 序号 指令 描述 控制器CU微操作 1 CLA 把寄存器A清零如AACC寄存器 控制器只要把0送给A寄存器即可1条微操作命令 2 COM 取反 把acc寄存器的内容每位取反 1条控制命令就可以做 3 SHR 算术右移 2条微操作命令 4 CSL 循环左移 2条微操作命令 最高位移动到最低位 5 STP 停机指令 1条微操作命令 给停机标志设置0即可 【3.2】访存指令 ADD X把ACC寄存器的数据与X内存地址中的内容相加结果存入ACC
微控制命令1Ad(IR)- MAR把IR地址码部分取出送入MAR寄存器MAR寄存器通过地址总线送入存储器微控制命令2CU控制单元发出读命令到控制总线控制总线再发给存储器微控制命令3存储器从MAR给定内存地址单元读取操作数并送入MDR寄存器微控制命令4把ACC中的操作数与MDR中的操作数相加结果存入ACCLDA X取数指令把X指定的内存地址单元的数据取出并送入ACC寄存器
3.转移指令 3.1 无条件转移 JMP X Ad(IR) – PC 把指令的地址码部分送入pc寄存器即可
3.2 条件转移 BAN X 负则转即上一次计算结果为负值则转移到X指定的指令 上一条指令的计算结果存入了ACC寄存器 A0 表示计算结果符号位
【小结】指令分类 序号 指令分类 例子 1 非访存指令 CLA-把A清0 COM-取反 SHR-算术右移 CSL-循环左移 STP-停机指令 2 访存指令 加法指令ADD X 存数指令STA X 取数指令LAD X 3 转移指令 无条件转移JMP X 条件转移BAN X 【4】 中断周期 中断周期做3件事情
保存断点形成中断服务程序入口地址、关中断操作 程序断点存入0地址 程序断点进栈 保存断点 0 - MAR把地址0送入MAR (SP)-1 – MAR把指令指针寄存器SP的内容减1栈顶地址送给MAR 1-W把读命令传入控制总线进而传给存储器 PC-MDR断点指令存入MDR PC-MDR MDR-M(MAR)MDR把断点指令存入MAR地址0指定的内存单元 MDR-M(MAR)MDR把断点指令存入MAR栈顶地址指定的内存单元 形成中断服务入口地址 向量地址-PC 或中断识别程序入口地址M-PC 关中断 0-EINT把0送入允许中断触发器关中断就是不允许其他中断源提出中断请求