计算机操作系统(二)--- 处理器体系结构(三)(转)

文章部分图片文字来自参考文章,参考文章总结地很好。

指令处理阶段

为了降低实现的复杂性,采用统一的框架,这样可以共用一些部件.我们将Y86的指令处理组织成如下几个阶段:

  • 取指(Fetch):从指令寄存器读取指令.
  • 译码(Decode):读取程序寄存器.
  • 执行(Execute): ALU计算结果(分为两种一种是计算值(用于更新程序寄存器),一种是计算存储器引用的有效地址).
  • 访存(Memory):读写存储器.
  • 写回(Write Back):写回寄存器文件.
  • 更新PC(PC update):将PC设置成下一条指令的地址.

先大家只需要了解一下一条指令执行的要经历的阶段,后面会分析Y86的具体指令的执行过程.

需要注意的两点:

1.在统一框架下,每条指令都会经历以上所有阶段.

2.在SEQ/SEQ+里,各个阶段是顺序进行的,但一个阶段内的内容基本上(有例外,稍后再说)是并行执行的.

Y86指令的执行

下面是各种指令处理的各个阶段,大家可以一扫而过,看我的分析结果,再对照着图就很容易理解.








看到上面的指令处理的各个阶段是不是天花乱坠啊.其实一点不复杂,因为使用的是统一的框架.总结起来就如下几点:

(1).首先要看指令到底要干啥,它的操作数是啥,明确数据流的方向.

比如opl, rrmovl, irmovl, cmovXX都不涉及到存储器,都是将Execute阶段中的执行结果valE给某个程序寄存器.(数据流方向: valE->程序寄存器).

比如mrmovl, popl的数据流方向是:存储器->程序寄存器.以为这肯定要从存储器中取出valM,再给这个程序寄存器.

比如rmmovl的数据流方向是:程序寄存器->存储器,肯定会写入存储器.

(2).写入程序寄存器的数据有两种来源,一种是valE(opl,rrmovl, irmovl, pushl,  popl, call, ret,cmovXX),一种是valM(mrmovl, popl).

(3). pushl, popl, call, ret都涉及了"栈"(存储器),都会更新%esp(%esp+/-4:在执行阶段计算出来valE).将valE写回%esp.

(4). opl在执行阶段会设置CC, cmovXX, jXX在执行阶段会有一个判断逻辑.

(5).只有rmmovl, pushl和call需要写回存储器.

(6).统一处理的原则:在excute阶段,valA尽量不参与运算,使用valB参与运算;在memory阶段,都是valA参与运算(为了使得pushl和rmmovl统一处理).

(7).

疑点

————

1. rrmovl的execute阶段本不需要运算,为什么要执行"valE = 0+valA"?

答:使用的是统一的框架,每条指令都必须通过每个阶段.这样做还有一个好处,减少信号传递的数量.写回都是通过valE和valM的,而不需要valA.

2.为什么是mrmovl D(rB), rA而不是 mrmovl D(rA), rB?

答:统一处理 mrmvol和rmmovl.这样保证了"execute阶段, valA尽量不参与运算,使用valB参与运算".

3. popl rA的Write back阶段需要写两个寄存器.这两个写应该是有次序的啊?

答:是的.为了保证"popl%esp"的语义同IA32一致,"R[%esp]<-valE"必须在"R[rA]<-valM"之前,这意味着按照只能在上升沿update的规则,就需要2个cycles来执行(违反了原则)。

4. pushl rA怎么没有问题?

答:由于在SEQ CPU中.因为读取的值在某根信号线(指的是valA信号)上存在着.即便是"pushl %esp", %esp的值已经在valA信号线上了,只需要将valA的值写回存储器即可.

参考文章:

1.https://blog.csdn.net/dennis_fan/article/details/8280141

原文地址:https://www.cnblogs.com/Benjious/p/9749615.html

时间: 2024-08-12 01:33:26

计算机操作系统(二)--- 处理器体系结构(三)(转)的相关文章

计算机操作系统学习笔记_1_操作系统概述

操作系统概述 一.操作系统的概念.特征.功能和提供的服务 1.操作系统的概念     操作系统是计算机系统中最重要.最基本的系统软件,操作系统位于硬件和用户程序之间.    对于用户来讲:它能向用户提供使用计算机的接口;    从资源管理角度来看:它能管理计算机软硬件资源,提高其利用率;    再者,利用虚拟机技术(如WMWare,VirtualBox,Java虚拟机等),扩展了计算机的功能和使用范围.     因此,操作系统的定义为:操作系统是控制和管理计算机软.硬件资源,以尽可能合理.高效的

计算机操作系统--学习心得

第一周: 第一章 计算机操作系统概述 1.1 计算机系统概览 1.2 计算机硬件系统 1.3 计算机软件系统 1.4 计算机操作技术的发展 1.5 计算机操作系统 1.6 资源管理的角度 1.7 程序控制的角度 第二周: 第一章 计算机操作系统概述 1.8 操作系统控制计算机的角度 1.9 人机交互的角度 1.10 程序接口的角度 1.11 系统结构的角度 第二章 处理器管理 2.1 处理器与寄存器 2.2 指令与处理器模式 2.3 中断 2.4 中断源 第三周: 第二章 处理器管理 2.5 中

X86/X64处理器体系结构及寻址模式

由8086/8088.x86.Pentium发展到core系列短短40多年间,处理器的时钟频率几乎已接近极限,尽管如此,自从86年Intel推出386至今除了增加一些有关流媒体的指令如mmx/sse之外,其他新增的大多数指令都可以从最初的指令集中组合实现同样的功能,整个编程模型维持了约有20多年. 1. 处理器体系结构 1.1. 处理器简要结构 我们都知道CPU的根本任务就是执行指令,对计算机来说最终都是一串由"0"和"1"组成的序列.CPU从逻辑上可以划分成3个模

计算机操作系统 - 操作系统的目标和作用

一.什么是操作系统(OS)? 计算机系统由硬件和软件两部分组成.计算机操作系统是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充.而其他的程序.系统软件.应用软件都依赖于操作系统的支持,获取它的服务. 二.操作系统的目标 目前存在着多种类型的OS,不同类型的OS,其目标各有侧重. 1.有效性: 有效性包括两个方面: (1)提高系统资源的利用率.在未配置OS的计算机系统中,诸如CPU.I/O设备等各种资源,由于经常处于空闲状态而得不到充分的利用:内存和外存中存放的数据太少或者无序而浪费了大量

计算机操作系统基础篇

阅读目录      1.  什么是操作系统  2.  为什么要有操作系统 3.  操作系统的位置 4.  操作系统的功能 5.  操作系统的发展史 6.  什么是多道技术 一, 一,什么是操作系统 操作系统(Operating System,简称OS),是管理和控制计算机硬件和软件的计算机程序,是直接运行在计算机硬件上的最基本的软件程序,任何其他的软件都必须在操作系统的支持下运行. 二,为什么要有操作系统 现在的计算机是由很多硬件组成的,程序员无法把所有的硬件操作细节都了解到,并且管理和优化使用

计算机操作系统

基于<计算机操作系统>(第四版)总结:OS引论.进程描述与控制.处理机调度与死锁.存储器管理.虚拟存储器.输入输出系统.文件系统 一.操作系统引论 1.目标:方便性.有效性.可扩充性.开放性 2.作用: 1.作为用户与计算机硬件系统之间的接口 2.作为计算机系统资源的管理者 3.实现对计算机资源的抽象 3.发展过程: 1.人工操作方式:用户独占全机,CPU等待人工操作--带(卡)装卸 2.脱机输入/输出方式:事先将装有用户程序和数据的纸带装入纸带输入机,外围机控制,把纸带内容输入到磁带上(类似

深入理解计算机操作系统--读书笔记-第八章异常

该文章是我对深入理解计算机操作系统这本书的读书笔记 异常概念:异常就是控制流的突变,用来响应处理器状态中的某些变化,当处理器状态发生变化时,处理器正在执行某个当前指令,在处理器中状态编码为不同的位和信号,状态变化称之为事件,事件可能与当前指令有关如缺页,算术溢出,也可能无关定时器产生信号或者io请求 异常处理完成的三种情况 1)处理程序将控制返回给当前指令 2)处理程序将控制返回给下一条指令 3)处理程序终止被中断的程序 异常处理和过程调用的区别: 1)过程调用时,在跳转处理程序之前,处理器将返

计算机操作系统学习笔记_2_进程管理 --进程与线程(上)

h3.western { font-family: "Liberation Sans",sans-serif; }h3.cjk { font-family: "微软雅黑"; }h3.ctl { font-family: "AR PL UMing CN"; }h2.western { font-family: "Liberation Sans",sans-serif; font-size: 16pt; }h2.cjk { fon

计算机操作系统学习笔记_4_进程管理 --处理机调度

h3.western { font-family: "Liberation Sans",sans-serif; }h3.cjk { font-family: "微软雅黑"; }h3.ctl { font-family: "AR PL UMing CN"; }h1 { margin-bottom: 0.21cm; }h1.western { font-family: "Liberation Sans",sans-serif; f

2017-2018-1 20155312 学习《深入理解计算机系统》第四章:处理器体系结构

处理器体系结构 目录 教材学习内容总结 Y86-64指令集体系结构 逻辑设计和硬件控制语言 Y86-64的顺序实现 流水线的通用原理 Y86-64的流水线实现 教材课后习题总结 教材课后实践示例 处理器体系结构 我们看到的计算机系统都只限于机器语言程序级.处理器执行一系列指令每天指令执行某个简单操作,它们被编码为由一个或多个字节序列组成的二进制格式.一个处理器支持的指令和指令的字节集编码成为它的指令集体系结构(ISA). 在本章的学习中,我们的学习目标如下: 了解ISA抽象的作用 掌握ISA,并