




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章计算机指令和控制器3.1计算机的指令系统3.2计算机的微处理器3.3指令工作分析3.4时序信号形成3.5微程序控制器1本章概述:计算机指令与控制器关系→计算机指令参见:P114控制器产生的微指令参见:P157微指令的基本格式结论:指令只针对该控制器。指令和控制器是结合一起设计的。2第3章计算机指令和控制器控制逻辑部件机器指令……控制信号指令寄存器IR指令译码ID3.1计算机的指令系统3.1.1指令系统概述3.1.2指令的格式3.1.3指令的寻址方式3.1.4指令的分类本节教学目标:熟练掌握指令的格式、寻址方式、指令 的类型及精简指令集的特点。本节重点内容:自主分析指令的寻址方式,能够运用一 些简单的指令解决基本问题,并理解指 令的处理过程。3几个概念————程序、指令、指令系统、系列计算机
、CISC和RISC计算机的程序是由一系列的指令组成指令计算机能直接识别、执行的某种操作命令
——微指令、机器指令、宏指令机器指令中每条指令可以完成独立运算,简称指令指令系统是一台计算机中所有指令的集合系列计算机基本指令系统相同,基本系统结构相同
3.1.1指令系统概述(P114)CISC和RISC为了增强处理器的功能,强化指令系统:指令多、寻址方式复杂、格式变化,形成复杂指令集计算机CISC(ComplexInstructionSetComputer)CISC中最常用、最简单、最基本的指令存在”二—八”原则“80%和20%规律”产生了精简指令集计算机RISC(ReducedInstructionSetComputer)
(P177)5CISC和RISCRISC特点是:指令长度固定,指令格式少,寻址方式少;单周期完成最简指令执行;指令实现流水线处理;控制器用简单门电路组成控制逻辑;简化的存储器管理;复杂操作在寄存器上进行复杂功能由编译系统实现;编译系统承担对源程序的优化,以保证流水线工作效率673.1.2指令的格式
指令=操作码字段+操作数地址字段操作码字段OP地址码字段A对应关系(P118表):机器指令←→符号指令表达形式相异:0、1编码←→字符组合基本结构相同:↓↓操作码+地址码操作码+操作数一、操作码
指明指令操作性质的命令码。它提供指令的操作控制信息。指令系统中指令的个数N与操作码的位数n,必须满足关系式:
N≤2n
1、长度固定用于指令字较长的情况,如IBM370。
83.1.2指令的格式2、长度可变操作码分散在指令字的不同字段,如单片机。3、扩展操作码技术
4位操作码8位操作码93.1.2指令的格式OPA1A2A30000A1A2A30001A1A2A3:1110A1A2A311110000A2A311110001A2A3:11111110A2A315条三地址指令15条二地址指令3、扩展操作码技术——以指令字长16位为例
12位操作码16位操作码103.1.2指令的格式OPA1A2A3111111110000A3111111110001A3
:111111111110A311111111111100001111111111110001:111111111111111115条一地址指令15条零地址指令11分析:指令字长为12位,每个地址码为3位,采用扩展操作码方式,设计4条三地址指令,16条二地址指令,64条一地址指令和16条零地址指令。提示:1、不允许短码是长码的前缀,即短操作码不
能与长操作码的前面部分的代码相同。2、各指令的操作码一定不能重复基本结构相同:操作码+地址码存储器寄存器I/O接口操作码主要功能运算传送12
存储器内容●●●●●●●●地址
寄存器●●●●二、地址码3.1.2指令的格式1、指令按地址码个数分类13OPA1A2A3
三地址指令
OPA1A2
二地址指令
OPA1
一地址指令
OP零地址指令
(A1)OP(A2)→(A3)(A1)OP(A2)→(A1)(AC)OP(A)→AC如停机,空操作,堆栈指令3.1.2指令的格式零地址指令格式这是一种没有操作数地址部分的指令格式。这种指令:无需任何操作数或隐含操作数。如空操作指令,停机指令等。14操作码OP3.1.2指令的格式一地址指令格式指令中给出的一个地址即是操作数的地址,又是操作结果的存储地址。如加1、减1、移位等单操作数指令。(AC)OP(A)→ACA操作码OP二地址指令格式
把保存操作前原来操作数的地址称为源点地址(SS),把保存指令执行结果的地址称为终点地址或目的地址(DD)。A1←(A1)OP(A2)
例如,双操作数加法指令:
ADDR0,R1
ADD(R0),R115A1操作码OPA2三地址指令格式 其操作是对A1、A2指出的两个操作数进行操作码所规定的操作,并将结果存入A3中。
(A1)OP(A2)→A3
16A1操码OPA3A22、二地址指令——从操作数位置归类RR型指令(P117)
RR型指令——指令中两个操作数都是寄存器操作数 (RR型占用空间小,执行速度快)
RS型指令
RS型指令——指令中两个操作数,一个是寄存器操作数,另一个是存储器操作数。(RS型可以直接访问存储器,方便)
SS型指令
SS型指令——访问内存指令格式,参与操作的数都在内存中。(SS型需多次访问内存)173.1.2指令的格式183、指令字长度(P119)指令字长=操作码的位数+(操作数地址个数)*(操作数地址码位数)单字长指令——指令字长度等于机器字长度的指令半字长指令、双字长指令、三/四字长指令、可变字长等3.1.2指令的格式4、简单指令系统的具体指令格式①pentium机指令②嵌入式系统ARM机指令③模型指令(P121例1、例2)简单指令系统的具体指令格式(P121例1、2)19操作码指令基本字长数据/偏移量寄存器地址A1寄存器地址A2
TH-union+教学实验计算机系统指令格式2023/1/3120TH-union+教学实验计算机系统1)实验机的指令系统基本指令29条扩展指令19条分类符号指令形式★思考题:指令格式如下所示,其中OP为操作码。试分析指令格式特点。解:单字长二地址指令。操作码字段OP可以指定27=128条指令。源寄存器和目标寄存器都是通用寄存器(可分别指定32个),所以是RR型指令,两个操作数均存在寄存器中。这种指令结构常用于算术逻辑类指令。21★思考题:双字指令格式如下所示,OP为操作码字段。试分析指令格式的特点。解:(1)双字长二地址指令,用于访问存储器。(2)操作码字段OP为6位,可以指定26=64种操作。(3)一个操作数在源寄存器(共16个),另一个操作数在存储器中(由基值寄存器和位移量决定),所以是RS型指令。22基址寻址:指的是寻找操作数的地址或下一条将要执行
的指令地址。
寻址方式指令寻址顺序寻址跳跃寻址操作数寻址233.1.3指令和数据的寻址方式指令寻址——顺序寻址(P123)
程序的指令序列在主存顺序存放。程序执行时从第一条指令开始,逐条取出并逐条执行,这种程序的顺序执行过程,称为顺序寻址方式。为了达到顺序寻址的目的,CPU中必须有一个程序计数器(PC)对指令的顺序号进行计数。PC中开始时存放程序的首地址,每执行一条指令,PC加1,以指出下条指令的地址,直到程序结束。通常PC存放下一条指令的地址24顺序寻址过程25100IncAXaddax,bxPC
+1100
101
内存101指令寻址——跳跃寻址(P123)当程序中出现分支或循环时,就会改变程序的执行顺序。此时对指令寻址就要采取跳跃寻址方式。所谓跳跃,就是指下条指令的地址不是通过程序计数器PC当前值获得的,而是由指令本身给出。跳跃的处理方式是重新修改PC的内容。然后进入取指令阶段。26跳跃寻址过程27IR100JMP103MOVAX,BXPC内存100101102103+1JMP103指令寄存器IRMOVAX,BX103操作数的寻址方式——熟悉几个名词(P124)28操作数寻址方式:操作数位置的表达和实现方式——寄存器、立即数、存储器、I/O设备存储器地址名称:物理地址←→逻辑地址物理地址——内存中实际地址逻辑地址——在指令中表现形式逻辑地址=段地址:偏移地址(8086CPU)
有效地址
EA=(R)+AA——形式地址(偏移量)操作码指令基本字长数据/偏移量寄存器地址A1寄存器地址A2
操作数寻址方式分类:(P125)隐含寻址立即寻址寄存器寻址直接寻址(寄存器)间接寻址
偏移寻址
—基址寻址
—变址寻址
—相对寻址堆栈寻址
293.1.3指令和数据的寻址方式操作码指令实用格式立即数/直接地址/位移量寄存器地址A1寄存器地址A2条件码I/O端口地址/相对转移位移量15109870
存储器内容●●●●●●●●地址
寄存器●●●●8088计算机工作过程:100+100H隐含寻址
不明确给出操作数地址,而是隐含方式体现:
如:MULBL
MOVS31立即(数)寻址——地址码字段是操作数本身操作数=A例:MOVAX,2038H(2038H→AX)32MOV38202038内存AX寄存器寻址
操作数在CPU的内部寄存器中.EA=RMOVAX,BX330x20000x4FFFBXAX0x2000
直接寻址地址码字段直接给出操作数在内存的地址.
MOVAX,[200]3477OPXD200200内存EA=A
间接寻址A是操作数地址的地址E=(A)35400788300300400需要访问两次内存,速度慢已被淘汰OPXD内存基址/变址寻址指定一个寄存器R,其存放基址/变址,R被称为基址/变址寄存器。
EA=(R)MOVAX,[SI]SI,DI都称为变址寄存器MovAX,[BX]BX是基址寄存器36300ROPXR300400400788内存相对寻址EA=(PC)+AA——相对于当前指令的位移量相对寻址是基址寻址的一种变通,由程序计数器PC提供基准地址,即操作数操作数OP指令寄存器主存储器A指令指令地址ALU程序计数器PC-A+A38堆栈寻址方式AXAXBXBXAXCXCXBXAXPUSHAXPUSHBXPUSHCXCXBXAXPOPCX堆栈顶堆栈是一种按特定顺序进行存取的存储区,这种特定顺序可归结为“后进先出”(LIFO)。39分析:1)分析3种指令的指令格式和寻址方式特点2)CPU完成哪种操作花的时间最短,哪种最长,第二种指令的执行时间有时会等于第三种指令的执行时间吗?——OP源目标MOVS,D基址OP变址源位移量MOVS,M44263.1.4指令的分类基本指令和分类(P130)
1)传送
2)运算
3)程序控制
4)数据块操作
5)CPU控制413.1.4指令的分类1)数据传送指令包括:取数、存数、传送、交换、堆栈操作等。a.规定传送范围例.80X86:
IBM370:RM,RRRM,RR,MM例.80X86:用地址量说明:MOV
AX,BX
(16)MOV
AL,BL
(8)b.指明传送单位c.设置寻址方式源地址目的地址422)算术逻辑运算指令算术运算指令主要用于进行定点和浮点运算。这类运算包括加、减、乘、除以及加1、减1、比较等,有些机器还有十进制算术运算指令。一般计算机都具有与、或、非、异或等逻辑运算指令。这类指令在没有设置专门的位操作指令的计算机中常用于对数据字(字节)中某些位(一位或多位)进行操作。43返回地址的存取:用堆栈存放返回地址。b.子程序调用与返回指令转子:操作码子程序入口返回:操作码返回地址3)程序控制指令a.转移指令无条件转移条件转移循环:操作码转移地址:操作码转移地址转移条件:转移条件为循环计数值4)输入/输出类指令输入/输出(I/O)类指令用来实现主机与外部设备之间的信息交换,包括输入/输出数据、主机向外设发控制命令或外设向主机报告工作状态等。从广义的角度看,I/O指令可以归入数据传送类。各种不同的计算机的I/O指令差别很大,通常有两种方式:独立编址方式统一编址方式5)字符串处理指令6)CPU控制指令4445
ARM系统指令格式简介(P134)
Pentium机指令格式简介Pentium机指令格式中,存储器操作数寻址的编码方式
EA计算方式MOD=00/01/10R/M编码编码规则由下表决定EAMOD=00MOD=01MOD=10MOD=11REGW=0W=1R/MW=0W=1000001010011100101110111ALCLDLBLAHCHDHBHAXCXDXBXSPBPSIDI000001010011100101110111BX+SIBX+DIBP+SIBP+DISIDI直接地址BXBX+SI+DISP8BX+DI+DISP8BP+SI+DISP8BP+DI+DISP8SI+DISP8DI+DISP8BP+DISP8BX+DISP8BX+SI+DISP16BX+DI+DISP16BP+SI+DISP16BP+DI+DISP16SI+DISP16DI+DISP16BP+DISP16BX+DISP16ALCLDLBLAHCHDHBHAXCXDXBXSPBPSIDID=1目标操作数源操作数D=0源操作数目标操作数了解计算机指令系统之后,下一个目标:掌握指令是如何工作(发挥作用)的。指令是进入CPU之后,在CPU中发挥作用的。因此有必要先了解CPU的基本构造。463.2计算机的微处理器3.2计算机的微处理器CPU的组成CPU的功能CPU中常用的寄存器47CPU是什么48
程序告诉计算机:应该逐步执行什么操作;在什么地方找到用来操作的数据,结果存到何处等。
中央处理器是控制计算机自动完成取出指令和执行指令任务的部件。它是计算机的核心部件,通常简称为CPU(CentralProcessingUnit)运算器—是数据加工处理部件,所进行的全部操作由控制器发出的控制信号指挥执行所有的算术运算/逻辑运算。控制器—完成对整个计算机系统操作的协调与指挥从内存取出一条指令,并指出下条指令的地址对指令进行译码,产生相应的控制信号产生执行部件的运行所需要的控制信号指挥并控制CPU,内存和I/O设备之间的数据传送49CPU的组成和功能50算术逻辑单元状态条件寄存器程序计数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC存储器I/OCPUALU指令寄存器IR指令译码器操作控制器时序产生器时钟状态反馈取指控制执行控制ccccc缓冲寄存器DRCPU的基本模型CPU中的主要寄存器PC(ProgramCounter)----程序计数器
—确定下一条指令的地址AR(AddressRegister)---地址寄存器
—保存当前CPU所访问的内存单元的地址DR(DataRegister)----数据缓冲寄存器
—暂时存放由内存读出或写入的指令或数据字IR(InstructionRegister)-----指令寄存器
—保存当前正在执行的一条指令51CPU中的主要寄存器AC(AccumulateCount)---累加寄存器
—最常使用的一个通用寄存器PSW(ProgramStatusWord)程序状态字
—保存由算术和逻辑指令的结果建立的各种条件码通用寄存器
—给ALU提供暂存数据的工作区等5253内部暂存器
IP
ES
SSDSCS输入/输出控制电路外部总线执行部分控制电路123456∑ALU标志寄存器AHALBHBLCHCLDHDLSPBPSIDI通用寄存器地址加法器指令队列缓冲器执行部件(EU)总线接口部件(BIU)16位20位16位8位8086CPU内部结构54
指令指针控制ROM控制部件地址生成(U流水线)地址生成(V流水线)ALU(U流水线)ALU(V流水线)整数寄存器组桶形移位器8K字节数据高速缓存TLB浮点部件控制寄存器组加法除法乘法总线部件
页面部件预取缓冲器指令译码器8K字节代码高速缓存TLB
分支目标缓冲器
分支检验与目标地址
预取地址控制64位数据总线32位地址总线32位地址总线64位数据总线256323232323232PentiumCPU内部结构2023/1/3155一个基本的CPU模型2009年考研计算机专业计组试题结构图56修改教材(P140)CPU模型→主机模型参考统考模型补寄存器略Cache57AinA3.3指令工作分析1.指令工作的时间分析(P142)指令工作的三个步骤:取指,译码,执行
指令周期:取出指令并执行这条指令的时间58时钟周期T1CPU周期(机器周期)取指令T2T3T4CPU周期(机器周期)CPU周期(机器周期)执行指令执行指令一个指令周期分析指令工作(操作)顺序时,可按机器周期,或按时钟周期进行59一个CPU周期一个CPU周期取指令阶段执行指令阶段开始取指令PC+1对指令译码执行指令取下条指令PC+1指令工作的三个步骤:取指,译码,执行60指令工作时间——指令周期
指令周期
:
CPU从内存取出一条指令并执行完这条指令的时间总和CPU周期
:
又称机器周期(总线周期),CPU访问内存所花的时间较长,因此用CPU从内存读取一条指令字的所需的最短时间来定义.
时钟周期
:
通常称为节拍脉冲或T周期。一个CPU周期包含若干个时钟周期T
相互关系:
1个指令周期=若干个CPU周期
1个CPU周期=若干T周期
取指时间+执行指令时间2.指令工作的操作分析1)取指令的操作(P144)(1)发指令地址
(PC)→AR(2)读指令
PC+1,M→DBDB→DR(3)指令进IR(DR)→IR(4)指令译码考研题给出的条件→61三态门3.3指令工作分析2)执行指令的操作教材给出指令如下(P144)MOV(RR型指令)LAD(RS型指令)ST
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 同江网格化管理办法
- 复工后防疫管理办法
- 政府类融资管理办法
- 吴忠市殡葬管理办法
- 新汽车拆解管理办法
- 托管房公司管理办法
- 图文店提成管理办法
- 图书漂流站管理办法
- 木纹纸色彩管理办法
- 沈水湾公园管理办法
- JJG(交通) 072-2024 燃烧法沥青含量测试仪
- 老年人护眼知识课件
- 国际压力性损伤-溃疡预防和治疗临床指南(2025年版)解读课件
- 110kV变电站及110kV输电线路运维投标技术方案
- 民办非企业单位内部管理制度
- 受伤赔偿协议书范本
- 500kV变电站工程主变压器安装
- 妊娠合并泌尿系结石护理
- 行测5000题电子版2025
- 矿山安全监察员聘用合同范本
- 2024危重症患儿管饲喂养护理-中华护理学会团体标准课件
评论
0/150
提交评论