版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授3.1计算机组成原理计算机组成原理3. 1 处理器的指令集处理器的指令集 3. 2 处理器的基本组成与工作过程处理器的基本组成与工作过程 3. 3 从从CISC到到RISC3. 4 Intel 80 x86系列微处理器系列微处理器 3. 5 ARM系列微处理器系列微处理器 2022-4-13哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授3.2计算机组成原理计算机组成原理3. 1 处理器的指令集处理器的指令集 3. 1. 1 概述概述 人们与计算机交流所用的人们与计算机交流所用的“词汇词汇”叫做叫做“指令指令(Instruction)”,所有可以
2、采用的,所有可以采用的“词汇词汇”组成的集合叫做组成的集合叫做“指令集指令集 (Instruction Set) ”,这些这些“词汇词汇”按照一定的顺序组合就形成了程按照一定的顺序组合就形成了程序序(Program)。 在国内,在国内,“指令集指令集”常称为常称为“指令系统指令系统”。 2022-4-13哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授3.3计算机组成原理计算机组成原理3. 1. 1 概述概述 计算机能直接识别的是由计算机能直接识别的是由0和和1排列而成的指排列而成的指令,即所谓令,即所谓“机器指令机器指令”。使用不方便。使用不方便。 汇编语言是基于英文的机器指令助记符。例汇编
3、语言是基于英文的机器指令助记符。例如,某个机器指令原来用如,某个机器指令原来用0101表示加法运算,现表示加法运算,现在引入助记符在引入助记符ADD或或add来表示来表示0101,方便了人,方便了人们编写程序。们编写程序。 按汇编语言书写的程序叫做汇编语言源程序按汇编语言书写的程序叫做汇编语言源程序,汇编语言源程序由汇编程序,汇编语言源程序由汇编程序(Assembler)转换成转换成机器指令,供计算机接受并执行。机器指令,供计算机接受并执行。2022-4-13哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授3.4计算机组成原理计算机组成原理3. 1. 1 概述概述 汇编语言的提出是计算机技术的
4、一大进步,汇编语言的提出是计算机技术的一大进步,体现了计算思维的一个重要概念体现了计算思维的一个重要概念抽象。抽象。 计算机程序设计语言的发展过程就是计算机程序设计语言的发展过程就是 不断抽不断抽象的过程。通过抽象,程序设计语言具有了更好象的过程。通过抽象,程序设计语言具有了更好的可编程性、可移植性、可重用性。的可编程性、可移植性、可重用性。2022-4-13哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授3.5计算机组成原理计算机组成原理3. 1 处理器的指令集处理器的指令集 3. 1. 2 指令的操作码与操作数指令的操作码与操作数 指令操作码指令操作码(Operation Code)指令操
5、作数指令操作数(Operand)3. 1. 1 概述概述 冯冯诺依曼型计算机机器指令的逻辑格式诺依曼型计算机机器指令的逻辑格式 规定了指令所具有的功能。课程中规定了指令所具有的功能。课程中主要用汇编语言助记符表示。主要用汇编语言助记符表示。 指令所要处理的数据。常以数据所指令所要处理的数据。常以数据所在存储单元的地址形式给出。也称在存储单元的地址形式给出。也称 “指令地址码指令地址码”。2022-4-13哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授3.6计算机组成原理计算机组成原理3. 1. 2 指令的操作码与操作数指令的操作码与操作数 一条指令中,操作数可能有一个、两个一条指令中,操作数
6、可能有一个、两个或三个,甚至更多。或三个,甚至更多。 当然,操作数的个数也可以是零,即指当然,操作数的个数也可以是零,即指令没有操作数,如停机指令。令没有操作数,如停机指令。 在这些操作数中,作为处理单元输入的在这些操作数中,作为处理单元输入的叫源操作数叫源操作数(Source Operand),用于存放处理,用于存放处理结果的叫目的操作数结果的叫目的操作数(Destination Operand)。2022-4-13哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授3.7计算机组成原理计算机组成原理3. 1. 2 指令的操作码与操作数指令的操作码与操作数 指令中所能表示的操作数数据类型,即指令
7、中所能表示的操作数数据类型,即能够被计算机硬件直接辨识的操作数数据类能够被计算机硬件直接辨识的操作数数据类型,称为型,称为“数据表示数据表示”。 常见的常见的“数据表示数据表示”有定点数(含有符号有定点数(含有符号数和无符号数)、浮点数(含单精度浮点数数和无符号数)、浮点数(含单精度浮点数和双精度浮点数)、字符、逻辑数(又称布和双精度浮点数)、字符、逻辑数(又称布尔型数据)。尔型数据)。2022-4-13哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授3.8计算机组成原理计算机组成原理3. 1. 2 指令的操作码与操作数指令的操作码与操作数 “堆栈堆栈(Stack)”是一个重要的数据结构,是一
8、个重要的数据结构,广泛应用于子程序调用和中断服务等领域。堆广泛应用于子程序调用和中断服务等领域。堆栈的存取原则是后进先出栈的存取原则是后进先出(Last In First Out, LIFO)。对堆栈的操作都是针对栈顶单元进行的。对堆栈的操作都是针对栈顶单元进行的,有,有“压入压入(PUSH)”和和“弹出弹出(POP)”两条指令两条指令。2022-4-13哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授3.9计算机组成原理计算机组成原理3. 1. 2 指令的操作码与操作数指令的操作码与操作数 用专门的硬件设备来实现的堆栈称为级联用专门的硬件设备来实现的堆栈称为级联堆栈或硬件堆栈。为了降低硬件成
9、本,大多数堆栈或硬件堆栈。为了降低硬件成本,大多数计算机(特别是微型计算机)常用软件来实现计算机(特别是微型计算机)常用软件来实现堆栈,即在内存中开辟一个堆栈区,并在处理堆栈,即在内存中开辟一个堆栈区,并在处理器中设置指示堆栈栈顶单元地址的器中设置指示堆栈栈顶单元地址的“堆栈指针堆栈指针寄存器寄存器(Stack Pointer, SP)”来管理这个堆栈。来管理这个堆栈。2022-4-13哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授3.10计算机组成原理计算机组成原理3. 1. 2 指令的操作码与操作数指令的操作码与操作数 相对于硬件堆栈,软件堆栈有三个优点:相对于硬件堆栈,软件堆栈有三个优
10、点: 可以有较大的深度。可以有较大的深度。 可以设置多个堆栈。可以设置多个堆栈。1. 除了专门的堆栈指令除了专门的堆栈指令PUSH和和POP外,还可外,还可以使用任何访问主存的指令来访问堆栈中的以使用任何访问主存的指令来访问堆栈中的数据。数据。2022-4-13哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授3.11计算机组成原理计算机组成原理3. 1. 2 指令的操作码与操作数指令的操作码与操作数 只有标量数据表示和标量指令的处理器叫只有标量数据表示和标量指令的处理器叫标量处理器,这是最常见、最通用的处理器。标量处理器,这是最常见、最通用的处理器。 带有向量数据表示和向量指令的处理器叫带有向
11、量数据表示和向量指令的处理器叫向量处理器,例如我国于向量处理器,例如我国于20世纪世纪80年代研制的年代研制的银河银河-1超级计算机就装备有向量处理器。超级计算机就装备有向量处理器。2022-4-13哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授3.12计算机组成原理计算机组成原理3. 1 处理器的指令集处理器的指令集 3. 1. 3 寻址方式寻址方式 所谓寻址方式(所谓寻址方式(Addressing)指的是指令按照)指的是指令按照何种方式寻找或访问到所需的操作数或信息。何种方式寻找或访问到所需的操作数或信息。 寻址方式分为指令寻址和数据寻址。寻址方式分为指令寻址和数据寻址。 指令寻址是为了
12、找到下一条指令;指令寻址是为了找到下一条指令; 数据寻址是为了找到本条指令所需的操作数。数据寻址是为了找到本条指令所需的操作数。 2022-4-13哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授3.13计算机组成原理计算机组成原理3. 1. 3 寻址方式寻址方式 n分为顺序寻址和跳跃寻址两种。分为顺序寻址和跳跃寻址两种。n顺序寻址就是程序计数器顺序寻址就是程序计数器PC中的值就是下一条指中的值就是下一条指令的存储地址。每读取一次令的存储地址。每读取一次PC后,后,PC自动加自动加1,指向下一条指令。指向下一条指令。n跳跃寻址则是先由当前指令改写跳跃寻址则是先由当前指令改写PC的内容,然后的内
13、容,然后计算机读取计算机读取PC,根据,根据PC的值访问主存储器,取的值访问主存储器,取下一条指令。下一条指令。1. 指令寻址指令寻址 2022-4-13哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授3.14计算机组成原理计算机组成原理n改写改写PC的指令有的指令有“跳转指令跳转指令(Jump )”和和“分支分支指令指令(Branch )”。在国内,。在国内,“跳转指令跳转指令”常称为常称为“无条件转移指令无条件转移指令”,“分支指令分支指令”常称为常称为“条条件转移指令件转移指令”。n这两种指令既可直接赋予这两种指令既可直接赋予PC一个新的值,也可在一个新的值,也可在PC现有值的基础上增加
14、或减少一定数量。后者也现有值的基础上增加或减少一定数量。后者也称称“相对寻址相对寻址”或或“PC相对寻址相对寻址”,其中增加或,其中增加或减少的数量叫做减少的数量叫做“相对位移量相对位移量”,它是一个补码,它是一个补码表示整数。表示整数。 1. 指令寻址指令寻址 2022-4-13哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授3.15计算机组成原理计算机组成原理3. 1. 3 寻址方式寻址方式 n立即数寻址立即数寻址n直接寻址直接寻址n间接寻址间接寻址 n堆栈寻址堆栈寻址 1. 指令寻址指令寻址 2. 数据寻址数据寻址 n寄存器寻址寄存器寻址 n寄存器间接寻址寄存器间接寻址 n基址寻址基址寻
15、址 n变址寻址变址寻址 2022-4-13哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授3.16计算机组成原理计算机组成原理(1)立即数寻址)立即数寻址 (Immediate Addressing)(2)直接寻址)直接寻址 (Direct Addressing)2. 数据寻址数据寻址 在指令中直接给出操作数的数值。只要取到指令,在指令中直接给出操作数的数值。只要取到指令,就可以立即处理指令中的操作数,这种操作数叫就可以立即处理指令中的操作数,这种操作数叫做做“立即数立即数” 。 在指令中直接给出操作数内存地址。在指令中直接给出操作数内存地址。 “直接寻址直接寻址”执行时间较长。另外,由于指令
16、执行时间较长。另外,由于指令长度的限制,指令中采用长度的限制,指令中采用“直接寻址直接寻址”的操作数的的操作数的个数一般不超过两个,所能寻址的范围较小。个数一般不超过两个,所能寻址的范围较小。 2022-4-13哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授3.17计算机组成原理计算机组成原理(3)间接寻址)间接寻址 (Indirect Addressing) 2. 数据寻址数据寻址 指令中给出的主存地址中存放的并不是操作数,而指令中给出的主存地址中存放的并不是操作数,而是操作数的内存地址。先按指令给出的地址访问主存读是操作数的内存地址。先按指令给出的地址访问主存读出操作数的存放地址,然后再
17、次访问主存,访问目标操出操作数的存放地址,然后再次访问主存,访问目标操作数。作数。 “间接寻址间接寻址”的优点一是扩大了主存中操作数的寻的优点一是扩大了主存中操作数的寻址范围,二是使用同一条指令可以访问址范围,二是使用同一条指令可以访问/处理存放于不同处理存放于不同主存单元中的数据。主存单元中的数据。 2022-4-13哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授3.18计算机组成原理计算机组成原理(4)寄存器寻址)寄存器寻址 (Register Addressing) 2. 数据寻址数据寻址 操作数是寄存器名(即寄存器编号),指操作数是寄存器名(即寄存器编号),指令要处理的数据就存储在该
18、寄存器中。令要处理的数据就存储在该寄存器中。 处理器的寄存器数量很少,所以寄存器处理器的寄存器数量很少,所以寄存器名很短,采用名很短,采用“寄存器寻址寄存器寻址”的指令格式中的指令格式中可以放下两个或三个寄存器地址。可以放下两个或三个寄存器地址。 优点是增加了指令中操作数的个数,增优点是增加了指令中操作数的个数,增强了指令的功能;获取操作数的速度快。强了指令的功能;获取操作数的速度快。2022-4-13哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授3.19计算机组成原理计算机组成原理(5)寄存器间接寻址)寄存器间接寻址 (Register Indirect Addressing) 2. 数据
19、寻址数据寻址 存储在寄存器中的是操作数的内存地址。存储在寄存器中的是操作数的内存地址。在读取寄存器后,要按照读取值访问内存,才在读取寄存器后,要按照读取值访问内存,才能获得真正的操作数。能获得真正的操作数。 优点是,通过改变寄存器中的内存地址,优点是,通过改变寄存器中的内存地址,可用相同的指令处理不同的数据;指令较短,可用相同的指令处理不同的数据;指令较短,执行速度较快执行速度较快 。 2022-4-13哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授3.20计算机组成原理计算机组成原理(6)基址寻址)基址寻址 ( Base Addressing ) 2. 数据寻址数据寻址 “逻辑地址逻辑地址
20、”是程序员编写程序时使用的地址。是程序员编写程序时使用的地址。 “主存物理地址主存物理地址”是程序段是程序段/数据段在主存中的实数据段在主存中的实际存放地址。际存放地址。 程序段程序段/数据段的数据段的“逻辑地址逻辑地址”都是从零开始编址都是从零开始编址的。而程序段的。而程序段/数据段每次装入主存的起始地址是不确数据段每次装入主存的起始地址是不确定的,每次运行时,某条指令或某个数据的定的,每次运行时,某条指令或某个数据的“主存物理主存物理地址地址”也是不确定的。但是这条指令或这个数据的也是不确定的。但是这条指令或这个数据的“逻逻辑地址辑地址”是固定的。是固定的。2022-4-13哈尔滨工业大学
21、哈尔滨工业大学 李东李东 教授教授3.21计算机组成原理计算机组成原理(6)基址寻址)基址寻址 ( Base Addressing ) 2. 数据寻址数据寻址 为了实现为了实现“逻辑地址逻辑地址”到到“主存物理地址主存物理地址” 的转的转换,可以在处理器内部设置一个专门存放程序段换,可以在处理器内部设置一个专门存放程序段/数据数据段在主存中起始地址的寄存器,称起始地址为段在主存中起始地址的寄存器,称起始地址为“基地址基地址”,简称,简称“基址基址”,称该寄存器为,称该寄存器为“基址寄存器基址寄存器”。这。这样在执行时将样在执行时将“逻辑地址逻辑地址”与基址寄存器中的值相加即与基址寄存器中的值相
22、加即得到指令或数据的得到指令或数据的“主存物理地址主存物理地址”。 指令中给出的指令中给出的“逻辑地址逻辑地址”又称为相对于基址的又称为相对于基址的“位移量位移量”,位移量是一个有符号的整数,常用补码表示,位移量是一个有符号的整数,常用补码表示。 2022-4-13哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授3.22计算机组成原理计算机组成原理(7)变址寻址)变址寻址 (Indexed Addressing) 2. 数据寻址数据寻址 为支持用循环结构处理数组为支持用循环结构处理数组/向量而提出。向量而提出。 寻址过程:将数组寻址过程:将数组/向量的起始地址作为操作数在指向量的起始地址作为操
23、作数在指令中给出,将数组令中给出,将数组/向量的元素下标向量的元素下标i存放在一个专门存放在一个专门的寄存器的寄存器变址寄存器中。指令执行时,用变址变址寄存器中。指令执行时,用变址加法器将指令中的起始地址与变址寄存器中的内容加法器将指令中的起始地址与变址寄存器中的内容相加,得到数组相加,得到数组/向量元素的地址。向量元素的地址。 由于对数组由于对数组/向量的访问既可能是顺序访问,又可能向量的访问既可能是顺序访问,又可能是随机访问,这样只需改变变址寄存器中的是随机访问,这样只需改变变址寄存器中的i值,就值,就可可/访问到数组访问到数组/向量的任一元素。向量的任一元素。2022-4-13哈尔滨工业
24、大学哈尔滨工业大学 李东李东 教授教授3.23计算机组成原理计算机组成原理2. 数据寻址数据寻址 为了支持同时处理多个数组或向量,处理器可设为了支持同时处理多个数组或向量,处理器可设置多个变址寄存器。例如,置多个变址寄存器。例如,8086微处理器有两个变微处理器有两个变址寄存器,一个是存放源操作数变址值的寄存器址寄存器,一个是存放源操作数变址值的寄存器SI,另一个是存放目的操作数变址值的寄存器另一个是存放目的操作数变址值的寄存器DI。此时。此时,采用,采用 “变址寻址变址寻址”指令中除了要给出数组指令中除了要给出数组/向量的向量的起始地址外,还需指明使用的是哪个变址寄存器。起始地址外,还需指明
25、使用的是哪个变址寄存器。 变址寻址还可与其他寻址方式结合使用。例如变址寻址还可与其他寻址方式结合使用。例如与基址寻址结合可得到与基址寻址结合可得到“基址变址寻址基址变址寻址”,与,与“间间接寻址接寻址”结合可以得到结合可以得到“先变址后间接寻址先变址后间接寻址”等。等。 2022-4-13(7)变址寻址)变址寻址 (Indexed Addressing) 哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授3.24计算机组成原理计算机组成原理(8)堆栈寻址)堆栈寻址 2. 数据寻址数据寻址 采用采用“堆栈寻址堆栈寻址”的前提是处理器支持堆栈的前提是处理器支持堆栈数据结构,设置有数据结构,设置有“堆
26、栈指针寄存器堆栈指针寄存器SP”。 “堆栈寻址堆栈寻址”无须给出操作数的存储地址无须给出操作数的存储地址,只要声明操作数采用堆栈寻址,机器就会根据,只要声明操作数采用堆栈寻址,机器就会根据栈顶指示寄存器的内容找到栈顶单元,然后对栈栈顶指示寄存器的内容找到栈顶单元,然后对栈顶单元进行弹出或压入操作。顶单元进行弹出或压入操作。 2022-4-13哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授3.25计算机组成原理计算机组成原理 根据堆栈的增长方向,基于主存储器实现的堆根据堆栈的增长方向,基于主存储器实现的堆栈分为:栈分为: 递增堆栈递增堆栈(Ascending Stack) ,也称向上增长,也称
27、向上增长堆栈。随着数据的压入,这种堆栈向高地址方堆栈。随着数据的压入,这种堆栈向高地址方向增长;向增长; 递减堆栈递减堆栈(Descending Stack) ,也称向下增长,也称向下增长堆栈。随着数据的压入,这种堆栈向低地址方堆栈。随着数据的压入,这种堆栈向低地址方向增长。向增长。2022-4-13(8)堆栈寻址)堆栈寻址 哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授3.26计算机组成原理计算机组成原理根据根据SP所指示栈顶单元的属性,堆栈也可分为:所指示栈顶单元的属性,堆栈也可分为: 满堆栈满堆栈(Full Stack) 。SP指示栈顶单元存储的是指示栈顶单元存储的是最后压入数据。最后
28、压入数据。 空堆栈空堆栈(Empty Stack) 。SP指示栈顶单元用于接指示栈顶单元用于接收下一个要压入的数据。收下一个要压入的数据。 2022-4-13(8)堆栈寻址)堆栈寻址 哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授3.27计算机组成原理计算机组成原理2022-4-132009年全国研究生入学统一考试计算机专业试题年全国研究生入学统一考试计算机专业试题某机器字长某机器字长16位,主存按字节编址,转移指令采用相对寻址,位,主存按字节编址,转移指令采用相对寻址,由两个字节组成,第一字节为操作码字段,第二字节为相对位由两个字节组成,第一字节为操作码字段,第二字节为相对位移量字段。假定
29、取指令时,每取一个字节移量字段。假定取指令时,每取一个字节PC自动加自动加1。若某转。若某转移指令所在主存地址为移指令所在主存地址为2000H,相对位移量字段的内容为,相对位移量字段的内容为06H,则该转移指令成功转移后的目标地址是,则该转移指令成功转移后的目标地址是 。A2006H B2007H C2008H D2009H2011年全国研究生入学统一考试计算机专业试题年全国研究生入学统一考试计算机专业试题偏移寻址通过将某个寄存器内容与一个形式地址相加而生成偏移寻址通过将某个寄存器内容与一个形式地址相加而生成有效地址。下列寻址方式中,不属于偏移寻址的是有效地址。下列寻址方式中,不属于偏移寻址的
30、是 。A.间接寻址间接寻址 B.基址寻址基址寻址 C.相对寻址相对寻址 D.变址寻址变址寻址哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授3.28计算机组成原理计算机组成原理3. 1 处理器的指令集处理器的指令集 3. 1. 4 指令的基本功能指令的基本功能 通用计算机系统的指令集可分为通用计算机系统的指令集可分为5类基本指令:类基本指令:(1)算术)算术/逻辑逻辑/移位指令(简称算逻指令)移位指令(简称算逻指令)(2)数据传送指令(简称数传指令)数据传送指令(简称数传指令) (3)控制转移指令)控制转移指令(4)输入)输入/输出指令输出指令(5)处理器控制及调试指令)处理器控制及调试指令2
31、022-4-13哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授3.29计算机组成原理计算机组成原理3. 1. 4 指令的基本功能指令的基本功能 (1)算逻指令)算逻指令n定点加法指令定点加法指令ADDn定点减法指令定点减法指令SUBn定点乘法指令定点乘法指令MULn定点除法指令定点除法指令DIVn加加1指令指令INCn减减1指令指令DECn比较指令比较指令CMPn浮点加法指令浮点加法指令ADDFn浮点减法指令浮点减法指令SUBFn浮点乘法指令浮点乘法指令MULFn浮点除法指令浮点除法指令DIVFn十进制数算术运算指令十进制数算术运算指令使用这些指令时,要注意它们对使用这些指令时,要注意它们对
32、处理器中状态标志位的影响处理器中状态标志位的影响 算术指令算术指令2022-4-13哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授3.30计算机组成原理计算机组成原理3. 1. 4 指令的基本功能指令的基本功能 (1)算逻指令)算逻指令n“与与”运算指令运算指令ANDn“或或”运算指令运算指令ORn“非非”运算指令运算指令NOTn“异或异或”运算指令运算指令XORn位测试位测试n位清除位清除n位求反位求反 n算术左移指令算术左移指令n算术右移指令算术右移指令n逻辑左移指令逻辑左移指令n逻辑右移指令逻辑右移指令n带进位循环左移指令带进位循环左移指令n不带进位循环左移指令不带进位循环左移指令n带
33、进位循环右移指令带进位循环右移指令n不带进位循环右移指令不带进位循环右移指令逻辑指令逻辑指令移位指令移位指令2022-4-13哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授3.31计算机组成原理计算机组成原理3. 1. 4 指令的基本功能指令的基本功能 (2)数传指令)数传指令根据数据的流向分:根据数据的流向分:n寄存器与寄存器之间的数据传送寄存器与寄存器之间的数据传送n寄存器与主存储器单元之间的数据传送寄存器与主存储器单元之间的数据传送n寄存器与堆栈之间的数据传送寄存器与堆栈之间的数据传送n堆栈与主存储器单元之间的数据传送堆栈与主存储器单元之间的数据传送n内存单元与内存单元之间的数据传送内
34、存单元与内存单元之间的数据传送2022-4-13哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授3.32计算机组成原理计算机组成原理(2)数传指令)数传指令根据传输的功能分:根据传输的功能分:n一般传送指令一般传送指令 实现数据复制功能,即把源操作数的内容写入实现数据复制功能,即把源操作数的内容写入目的操作数。其汇编语言助记符通常为目的操作数。其汇编语言助记符通常为MOV。 在有些计算机上,将主存储器单元的内容写入在有些计算机上,将主存储器单元的内容写入寄存器的数据传送指令,其汇编语言助记符为寄存器的数据传送指令,其汇编语言助记符为LOAD;将寄存器内容写入主存储器单元的数据传;将寄存器内容写
35、入主存储器单元的数据传送指令,其汇编语言助记符为送指令,其汇编语言助记符为STORE。2022-4-13哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授3.33计算机组成原理计算机组成原理(2)数传指令)数传指令根据传输的功能分:根据传输的功能分:n堆栈操作指令堆栈操作指令压入栈顶压入栈顶PUSH弹出栈顶弹出栈顶POP PUSH的源操作数和的源操作数和POP指令的目的操作数,指令的目的操作数,一般是寄存器号,也可能是主存储器单元地址一般是寄存器号,也可能是主存储器单元地址.2022-4-13哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授3.34计算机组成原理计算机组成原理(2)数传指令)数传
36、指令 上述两类数据指令的数据流动是单方向的。要上述两类数据指令的数据流动是单方向的。要实现两个数据的交换,需要编写三条指令并额外占实现两个数据的交换,需要编写三条指令并额外占用一个存储单元。因此大多数计算机都提供用一个存储单元。因此大多数计算机都提供“数据数据交换指令交换指令”来简化双向数据流动的实现,如来简化双向数据流动的实现,如Intel 80 x86中的中的XCHG指令。指令。 这类指令的源操作数和目的操作数一般都是这类指令的源操作数和目的操作数一般都是寄存器,至多允许源操作数是主存储器单元。寄存器,至多允许源操作数是主存储器单元。 数据交换指令的执行时间一般较长。数据交换指令的执行时间
37、一般较长。2022-4-13哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授3.35计算机组成原理计算机组成原理3. 1. 4 指令的基本功能指令的基本功能 (1)算逻指令)算逻指令(2)数传指令)数传指令(3)控制转移指令)控制转移指令n跳转指令跳转指令JUMPn分支指令分支指令n子程序调用子程序调用CALL/返回指令返回指令RETn循环控制指令循环控制指令LOOPn中断系统指令中断系统指令 将指令操作数的内容写入将指令操作数的内容写入PC之中,强制改变指令之中,强制改变指令执行的顺序。执行的顺序。也称也称无条件转移指令无条件转移指令2022-4-13哈尔滨工业大学哈尔滨工业大学 李东李东
38、教授教授3.36计算机组成原理计算机组成原理3. 1. 4 指令的基本功能指令的基本功能 (3)控制转移指令)控制转移指令n跳转指令跳转指令JUMPn分支指令分支指令 根据特定条件(往往是上一条指令的执行结根据特定条件(往往是上一条指令的执行结果),决定程序是顺序执行还是转移到一个新的位果),决定程序是顺序执行还是转移到一个新的位置执行,即有条件地改变指令执行的顺序。也称置执行,即有条件地改变指令执行的顺序。也称条条件转移指令件转移指令。 条件转移指令可能依据的条件有:条件转移指令可能依据的条件有: 为为0、为正、为正/负数、发生进位负数、发生进位/借位、为奇数借位、为奇数/偶数、偶数、发生溢
39、出或以上条件的组合。发生溢出或以上条件的组合。 2022-4-13哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授3.37计算机组成原理计算机组成原理3. 1. 4 指令的基本功能指令的基本功能 (3)控制转移指令)控制转移指令n分支指令分支指令 条件转移指令又分为条件转移指令又分为“绝对转移绝对转移”和和“相对相对转移转移”两种。两种。 对于对于“绝对转移绝对转移”,当条件满足时,计算机,当条件满足时,计算机将把该指令中所含操作数的内容直接写入将把该指令中所含操作数的内容直接写入PC中。中。 对于对于“相对转移相对转移”,当条件满足时,计算机,当条件满足时,计算机将把该指令中所含操作数的内容
40、与将把该指令中所含操作数的内容与PC中的内容相中的内容相加后,把结果写入加后,把结果写入PC中。中。 2022-4-13哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授3.38计算机组成原理计算机组成原理常见的条件转移指令有:常见的条件转移指令有:n等于零转移等于零转移BEQn不等于零转移不等于零转移BNEQn小于转移小于转移BLSn大于转移大于转移BGTn小于等于转移小于等于转移/不大于转移不大于转移BLEQn大于等于转移大于等于转移/不小于转移不小于转移BGEQn不带符号小于转移不带符号小于转移BLSUn不带符号大于转移不带符号大于转移BGTUn不带符号小于等于转移不带符号小于等于转移/不
41、带符号不大于转移不带符号不大于转移BLEQUn不带符号大于等于转移不带符号大于等于转移/不带符号不小于转移不带符号不小于转移BGEQUn没有进位转移没有进位转移BCCn有进位转移有进位转移BCSn没有溢出转移没有溢出转移BVCn有溢出转移有溢出转移BVS2022-4-13哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授3.39计算机组成原理计算机组成原理(3)控制转移指令)控制转移指令n跳转指令跳转指令JUMPn分支指令分支指令n子程序调用子程序调用CALL/返回指令返回指令RET 在程序中,有一些具有特定功能的程序段会被在程序中,有一些具有特定功能的程序段会被反复使用。为了提高程序的可读性、
42、可重用性和可反复使用。为了提高程序的可读性、可重用性和可维护性,人们将这样的程序段独立出来,将其定义维护性,人们将这样的程序段独立出来,将其定义成一个成一个子程序子程序。 这样,在需要执行特定功能时,主程序中不再需这样,在需要执行特定功能时,主程序中不再需要编写一个程序段,而只需要编写一条调用子程序要编写一个程序段,而只需要编写一条调用子程序的指令即可。的指令即可。 2022-4-13哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授3.40计算机组成原理计算机组成原理n子程序调用子程序调用CALL/返回指令返回指令RETn调用子程序的指令格式调用子程序的指令格式: CALL Subprogra
43、m_Name 功能是,首先把当前程序的断点(也称主调程功能是,首先把当前程序的断点(也称主调程序的返回地址,即当前程序计数器序的返回地址,即当前程序计数器PC中的值)保存中的值)保存到系统堆栈中,然后由子程序名到系统堆栈中,然后由子程序名Subprogram_Name求得子程序的入口地址,最后把子程序的入口地址求得子程序的入口地址,最后把子程序的入口地址写入写入PC,从而将程序控制转移至被调子程序。,从而将程序控制转移至被调子程序。n调用子程序指令调用子程序指令CALL一般都与一般都与“返回指令返回指令RET”一起配合使用。一起配合使用。RET指令的功能是把保存在堆栈中指令的功能是把保存在堆栈
44、中的程序断点弹回到的程序断点弹回到PC之中。之中。2022-4-13哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授3.41计算机组成原理计算机组成原理3. 1. 4 指令的基本功能指令的基本功能 (1)算逻指令)算逻指令(2)数传指令)数传指令(3)控制转移指令)控制转移指令(4)输入)输入/输出指令输出指令 为了完成主机与外设之间信息交换的各种操作而设为了完成主机与外设之间信息交换的各种操作而设置,置,包括包括: 启动输入启动输入/输出设备、停止输入输出设备、停止输入/输出设备、测输出设备、测试输入试输入/输出设备及数据的输入或输出等指令。输出设备及数据的输入或输出等指令。 例如,例如,I
45、ntel 80 x86中的输入指令为中的输入指令为IN指令,输出指指令,输出指令为令为OUT指令。指令。 2022-4-13哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授3.42计算机组成原理计算机组成原理3. 1. 4 指令的基本功能指令的基本功能 (1)算逻指令)算逻指令(2)数传指令)数传指令 (3)控制转移指令)控制转移指令(4)输入)输入/输出指令输出指令(5)处理器控制及调试指令)处理器控制及调试指令n包括各种设置包括各种设置/清除标志位(如陷阱标志、中断允许标志、清除标志位(如陷阱标志、中断允许标志、处理器工作状态标志位)指令、特权指令、进程同步指令处理器工作状态标志位)指令、
46、特权指令、进程同步指令、调试指令、停机指令(、调试指令、停机指令(HALT)等。)等。n调试指令用于硬件或软件的调试。硬件调试指令包括钥匙调试指令用于硬件或软件的调试。硬件调试指令包括钥匙位置、开关状态的读取指令,重要寄存器和主存储器单元位置、开关状态的读取指令,重要寄存器和主存储器单元内容的显示等。软件调试指令包括断点的设置及跟踪指令内容的显示等。软件调试指令包括断点的设置及跟踪指令,自陷阱指令等。,自陷阱指令等。2022-4-13哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授3.43计算机组成原理计算机组成原理 对于面向多用户系统的处理器对于面向多用户系统的处理器,为了保证信息为了保证信
47、息安全,处理器的工作状态被分为核心态安全,处理器的工作状态被分为核心态(Kernel mode /System mode)和用户态和用户态(User mode)。 仅能在核心态仅能在核心态(也叫管理态也叫管理态/管态管态)下运行的指令下运行的指令称为特权指令称为特权指令(Privileged instruction)。用户态。用户态(也叫也叫目态目态)下的程序要想执行管态下的功能(由操作系统下的程序要想执行管态下的功能(由操作系统实现并提供用户使用)必须通过执行实现并提供用户使用)必须通过执行“访管指令访管指令”来实现。来实现。2022-4-13哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授
48、3.44计算机组成原理计算机组成原理n此外,还有:空操作指令此外,还有:空操作指令NOP和等待指令和等待指令WAITn一般通用计算机应具有的指令及其功能参见表一般通用计算机应具有的指令及其功能参见表4-1访管指令是一条可以在目态下执行的指令,用户程访管指令是一条可以在目态下执行的指令,用户程序中凡是要调用操作系统功能的地方就安排一条访序中凡是要调用操作系统功能的地方就安排一条访管指令。当执行到访管指令时,处理器就自愿地产管指令。当执行到访管指令时,处理器就自愿地产生一个中断事件(访管中断),暂停用户程序的执生一个中断事件(访管中断),暂停用户程序的执行,陷入管态,让操作系统为用户服务。行,陷入
49、管态,让操作系统为用户服务。2022-4-13哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授3.45计算机组成原理计算机组成原理3. 1 处理器的指令集处理器的指令集 3. 1. 5 指令的格式指令的格式 涉及指令的操作码长度、指令涉及指令的操作码长度、指令“地址制地址制”及及采用的寻址方式、指令长度等三方面的问题。采用的寻址方式、指令长度等三方面的问题。 2022-4-13哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授3.46计算机组成原理计算机组成原理3. 1. 5 指令的格式指令的格式 (1)指令操作码的长度有定长和不定长两种选择)指令操作码的长度有定长和不定长两种选择 选择定长的操
50、作码可以简化指令译码器的设选择定长的操作码可以简化指令译码器的设计与实现;选择不定长操作码(也称扩展操作码计与实现;选择不定长操作码(也称扩展操作码)可使常用指令拥有较短的操作码而不常用指令)可使常用指令拥有较短的操作码而不常用指令拥有较长的操作码拥有较长的操作码(即哈夫曼压缩编码)(即哈夫曼压缩编码) ,从而,从而压缩程序所占的存储空间。压缩程序所占的存储空间。2022-4-13哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授3.47计算机组成原理计算机组成原理3. 1. 5 指令的格式指令的格式 (2)在一条指令中出现几个操作数地址,这是指令)在一条指令中出现几个操作数地址,这是指令的的“
51、地址制地址制”所要解决的问题。一般情况下,指所要解决的问题。一般情况下,指令中地址的个数,可以取令中地址的个数,可以取4,3,2,1,0个。个。 在四地址指令中,两个地址分别指示两个源操在四地址指令中,两个地址分别指示两个源操作数,一个地址指示目的操作数,最后一个地址作数,一个地址指示目的操作数,最后一个地址指示下一条指令的存储单元。指示下一条指令的存储单元。2022-4-13哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授3.48计算机组成原理计算机组成原理n三地址指令是在四地址指令的基础上,将指令中三地址指令是在四地址指令的基础上,将指令中下一条指令的地址省略掉,改用下一条指令的地址省略掉
52、,改用PC来指示下一来指示下一条指令的地址。条指令的地址。n两地址指令是在三地址指令的基础上,将一个源两地址指令是在三地址指令的基础上,将一个源操作数同时作为目的操作数。操作数同时作为目的操作数。n一地址指令是在两地址指令的基础上,隐含使用一地址指令是在两地址指令的基础上,隐含使用某个寄存器(如某个寄存器(如ACC)作为一个源操作数或目)作为一个源操作数或目的操作数。的操作数。n停机指令、清除停机指令、清除/设置特定标志位指令无须操作设置特定标志位指令无须操作数,即为零地址。数,即为零地址。2022-4-13哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授3.49计算机组成原理计算机组成原理n
53、“地址制地址制”设计或改进的目的是为了压缩指令长设计或改进的目的是为了压缩指令长度,缩短指令的执行时间。在相同的指令长度内度,缩短指令的执行时间。在相同的指令长度内,减少地址个数可以扩大所能表示指令的条数或,减少地址个数可以扩大所能表示指令的条数或操作数的寻址范围。操作数的寻址范围。n同一条指令中不同操作数可采用不同的寻址方式同一条指令中不同操作数可采用不同的寻址方式 例如,一条指令中的操作数可以都存放在寄存例如,一条指令中的操作数可以都存放在寄存器里,也可以把一个操作数存放在寄存器里,而器里,也可以把一个操作数存放在寄存器里,而另一个操作数存放在主存里。存放在主存里的操另一个操作数存放在主存
54、里。存放在主存里的操作数可以按基址寻址、变址寻址或间接寻址。作数可以按基址寻址、变址寻址或间接寻址。2022-4-13哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授3.50计算机组成原理计算机组成原理3. 1. 5 指令的格式指令的格式 n指令长度可以是固定或变化的。固定长度的指指令长度可以是固定或变化的。固定长度的指令便于指令的存取和译码,但会限制操作数个令便于指令的存取和译码,但会限制操作数个数的增加和复杂寻址方式的使用;而变化长度数的增加和复杂寻址方式的使用;而变化长度的指令的特点正好相反。的指令的特点正好相反。n例如,例如,IBM S/ 370指令采用定长的指令采用定长的8位操作码,
55、位操作码,有单地址、两地址和三地址三种地址制,不同有单地址、两地址和三地址三种地址制,不同的操作数可以采用不同的寻址方式,指令字长的操作数可以采用不同的寻址方式,指令字长有有16位、位、32位和位和48位三种。位三种。2022-4-13哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授3.51计算机组成原理计算机组成原理3. 1 处理器的指令集处理器的指令集 3. 1. 1 概述概述 3. 1. 2 指令的操作码与操作数指令的操作码与操作数3. 1. 3 寻址方式寻址方式3. 1. 4 指令的基本功能指令的基本功能 3. 1. 5 指令的格式指令的格式3. 1. 6 面向多媒体处理的增强指令面向
56、多媒体处理的增强指令 请同学们自行阅读、了解。请同学们自行阅读、了解。2022-4-13哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授3.52计算机组成原理计算机组成原理3. 1 处理器的指令集处理器的指令集 3. 2 处理器的基本组成与工作过程处理器的基本组成与工作过程 3. 2. 1 处理器的基本功能和基本组成处理器的基本功能和基本组成1处理器概述处理器概述 从外观上看,处理器是矩形或正方形的块状物,通过从外观上看,处理器是矩形或正方形的块状物,通过密密麻麻的管脚与主板相连。密密麻麻的管脚与主板相连。 实现处理器内部各个单元之间信号传输的线路称为片实现处理器内部各个单元之间信号传输的线路
57、称为片内总线,它又分为片内控制总线和片内数据总线。内总线,它又分为片内控制总线和片内数据总线。 用于实现处理器与主存储器和输入用于实现处理器与主存储器和输入/输出设备之间信输出设备之间信号传输的线路称为片外总线,简称总线。号传输的线路称为片外总线,简称总线。 2022-4-13哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授3.53计算机组成原理计算机组成原理3. 2. 1 处理器的基本功能和基本组成处理器的基本功能和基本组成1处理器概述处理器概述n除了电源引脚(除了电源引脚(Vcc)和接地引脚()和接地引脚(GND)外,大)外,大部分引脚都用于信号传输。按照传输信号类别的不部分引脚都用于信号
58、传输。按照传输信号类别的不同,这些引脚可以分为数据总线引脚、地址总线引同,这些引脚可以分为数据总线引脚、地址总线引脚和控制总线引脚。脚和控制总线引脚。n若数据总线的宽度是若数据总线的宽度是8位,则数据总线引脚将被命位,则数据总线引脚将被命名为名为D0,D1,D7;若数据总线的宽度是;若数据总线的宽度是16位位,则数据总线引脚将被命名为,则数据总线引脚将被命名为D0,D1,D15。32位的数据总线可类推。位的数据总线可类推。2022-4-13哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授3.54计算机组成原理计算机组成原理3. 2. 1 处理器的基本功能和基本组成处理器的基本功能和基本组成1处
59、理器概述处理器概述n若处理器的访存地址宽度是若处理器的访存地址宽度是10位,则地址总线引位,则地址总线引脚将被命名为脚将被命名为A0,A1,A9;若访存地址宽度;若访存地址宽度是是20位,则地址总线引脚将被命名为位,则地址总线引脚将被命名为A0,A1,A19。32位的地址总线可类推。位的地址总线可类推。n常见的控制总线引脚有时钟常见的控制总线引脚有时钟CLK、复位、复位RESET、总线请求、总线请求HRQ、总线允许、总线允许HLDA、中断请求、中断请求INTR、中断响应、中断响应INTA、读、读RD、写、写WR等。等。 2022-4-13哈尔滨工业大学哈尔滨工业大学 李东李东 教授教授3.55
60、计算机组成原理计算机组成原理3. 2. 1 处理器的基本功能和基本组成处理器的基本功能和基本组成2处理器的基本功能处理器的基本功能 处理器的工作就是周而复始地执行指令,它处理器的工作就是周而复始地执行指令,它的基本功能包括取指令、分析指令、取数据、处理的基本功能包括取指令、分析指令、取数据、处理数据、写回结果。数据、写回结果。(1)取指令。处理器根据)取指令。处理器根据PC给出的主存地址访问主给出的主存地址访问主存储器,取出一个标准字长的指令,将其送入处理存储器,取出一个标准字长的指令,将其送入处理器内部专门存放当前指令的指令寄存器器内部专门存放当前指令的指令寄存器 IR,然后,然后PC加加1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 语言变异对教育的影响-洞察分析
- 阅读教学中的审美教育-洞察分析
- 《报表管理系统概述》课件
- 《市场营销策划讲义》课件
- 养殖合同范本(2篇)
- 2024年来宾县妇幼保健站高层次卫技人才招聘笔试历年参考题库频考点附带答案
- 专题03 单词短语语法归纳【考点清单】-七年级英语上学期期末考点大串讲(沪教版2024)
- 2024年沪教版五年级英语下册阶段测试试卷
- 2025年沪教版一年级语文上册阶段测试试卷含答案
- 园林景观设计管理M变更管理实施
- 东华医院信息平台解决方案-药房流程接口
- 通力电梯KCE电气系统学习指南
- 风电场岗位任职资格考试题库大全-下(填空题2-2)
- 九年级数学特长生选拔考试试题
- 幼儿园交通安全宣传课件PPT
- 门窗施工组织设计与方案
- 健身健美(课堂PPT)
- (完整版)财务管理学课后习题答案-人大版
- 锚索试验总结(共11页)
- 移动脚手架安全交底
- 人教版“课标”教材《统计与概率》教学内容、具体目标和要求
评论
0/150
提交评论