第2章--数据操控汇总课件_第1页
第2章--数据操控汇总课件_第2页
第2章--数据操控汇总课件_第3页
第2章--数据操控汇总课件_第4页
第2章--数据操控汇总课件_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、主要内容第2章 数据操控计算机体系结构机器语言程序的执行算术/逻辑指令与其他设备的通信其他体系结构计算机体系结构计算机中实现控制数据操控的电路,是作为计算机的一个独立的部分存在的,称为中央处理器(CPU)。早期的CPU体积庞大,今天的CPU体积很小、集成度高。计算机体系结构CPU的外部特征,以及在计算机中的物理位置CPU主板计算机体系结构CPU的组成算术/逻辑单元(arithmetic/logic unit) ALU实现数据操作的电路,包括算术运算和布尔运算控制单元(control unit) CU协调计算机活动的电路,包括:发出运算指令,操作数的读取等。寄存器单元(register)通用寄存

2、器(general-purpose register) 临时保存CPU正在操作的数据。即:保存ALU电路的输入和运算的结果。专用寄存器(special-purpose register) 程序计数器、指令寄存器计算机体系结构CPU的工作原理寄存器中央处理器 CPU主存储器算术/逻辑单元控制单元总线CPU和主存储器通过总线(BUS)连接 CPU和主存储器之间通常设置了高速缓冲存储器(cache memory)各类存储器的分工:P54步骤1:从主存储器中取出一个要加的数放入一个寄存器中。步骤2:从主存储器中取出另一个要加的数放入另一个寄存器中。步骤3:激活加法电路,以步骤1、2所用的寄存器为输入,

3、用另一个寄存器存放相加结果步骤4:将该结果存入主存储器。步骤5:停止。RAM计算机体系结构存储程序的概念把计算机程序存放到主存储器里的思想-存储程序概念早期的计算机举例:类似“音乐盒”那时,要改变计算机执行的程序,等于重新制造一台计算机后来,人们认识到程序可以像数据一样进行编码,并存放到存储器中。这样同一台计算机,可以执行很多种程序,而不需要改动计算机的硬件。计算机体系结构 中央处理器(Central Processing Unit,CPU)算术/逻辑部件(arithmetic/logic unit)控制部件(control unit)寄存器(register)通用寄存器(general-pu

4、rpose register)专用寄存器(special-purpose register)主板(motherboard)总线(bus)高速缓冲存储器(cache memory)本节涉及到的概念计算机体系结构P54 问题与练习机器语言机器语言(machine language)CPU能辨认的二进制模式编码的指令和编码系统统称为机器语言机器指令(machine instruction)用机器语言表达的指令称为机器指令 ?问题:现在常用的一些程序设计语言,例如C、Java、C+等和机器语言有什么关系?-编译1. 指令系统问题:计算机的指令是不是越多越好?一台计算机的CPU究竟应该包含多少条指令才比

5、较合适?一旦一台计算机能够实现几个经过精心挑选的任务,那么添加更多的特性是不会增加该计算机的理论能力的。换句话说,超越某一点后,附加的特性只能增加便利性,不会增加该计算机的基本能力。机器语言 例:计算机A:+、-、*、/ 计算机B:+、-、*、/、平方、开方、立方等1. 指令系统利用以上原则的不同程度,导致出现了两种CPU的体系结构(两种指令系统):精简指令集计算机(RISC): CPU只需要执行最小的机器指令集。复杂指令集计算机(CISC): CPU能够执行大量复杂的指令。 Intel公司生产的CPU是CISC结构的,而IBM PowerPC是RISC结构的。机器语言 机器语言1. 指令系统

6、指令分成3大类:数据传输类算术/逻辑运算类控制类寄存器中央处理器主存储器算术/逻辑部件控制部件总线CPU和主存储器通过总线连接 机器语言步骤1:从主存储器中取出一个要加的数放入一个寄存器中。步骤2:从主存储器中取出另一个要加的数放入另一个寄存器中。步骤3:激活加法电路,以步骤1、2所用的寄存器为输入,用另一个寄存器存放相加结果步骤4:将该结果存入主存储器。步骤5:停止。1. 指令系统数据传输指令:请求在各个位置之间传输数据的指令右图中步骤1、2、4属于传输指令注意:这里的“传输”实际上指的是“复制”,通常不用“move”或“transfer”术语“LOAD”、“STORE”通常用来指在CPU和

7、主存储器之间传输数据。I/O指令是一类特殊的数据传输指令,单独列为一类。指在CPU和其它设备间传输数据。机器语言1. 指令系统算术/逻辑运算指令:负责数据的运算,即告诉控制部件请求在算术/逻辑部件内实现一个活动右图中步骤3属于算术/逻辑运算指令注意:逻辑运算AND、OR、NOT、XOR通常是基于位的运算。因此逻辑运算指令可以完成对某一个寄存器中特定的若干位操作,而对其他位没有影响-掩码除逻辑运算,还有一类对寄存器内容左右移动的运算:移位运算(SHIFT)、循环移位运算(ROTATE)。步骤1:从存储器中取出一个要加的数放入一个寄存器中。步骤2:从存储器中取出另一个要加的数放入另一个寄存器中。步

8、骤3:激活加法电路,以步骤1、2所用的寄存器为输入,用另一个寄存器存放相加结果步骤4:将该结果存存储器。步骤5:停止。机器语言1. 指令系统控制指令:指导程序执行的指令,而不作数据操作右图中步骤5属于控制指令注意:常见的控制指令:转移(JUMP)、分支(BRANCH)转移有两种形式:无条件转移有条件转移,例如:P56,图2.3的步骤3步骤1:从存储器中取出一个要加的数放入一个寄存器中。步骤2:从存储器中取出令一个要加的数放入另一个寄存器中。步骤3:激活加法电路,以步骤1、2所用的寄存器为输入,用另一个寄存器存放相加结果步骤4:将该结果存存储器。步骤5:停止。一个演示用的机器语言1.机器的体系结

9、构 机器有16个通用寄存器。每个寄存器的长度为一字节(8位)。为了在指令中标识寄存器,每个寄存器各赋予一个惟一的四位模式表示其寄存器号。所以寄存器0由0000(十六进制0)标识,寄存器4由0100(十六进制4)标识。 机器主存有256个单元。每个单元赋予一个范围在0到255之间的整数地址。所以一个地址能够用00000000到11111111范围内(或00到FF范围的十六进制值)的一个八位模式来表示。一个演示用的机器语言2. 示例性的机器语言 附录算术/逻辑部件中央处理器寄存器012F总线主存储器地址单元0001020304FF控制部件程序计数器指令寄存器(1)共有16个通用寄存器,256个主存

10、储单元。(2)分别用二进制编号,用十六进制表示。一个演示用的机器语言2. 示例性的机器语言指令及其构成:该计算机的每一条指令都是一个二进制序列;这个二进制序列可被分为两部分:操作码、操作数操作码指名该指令将进行什么操作,例如:STORE、ADD、XOR等操作数给出了参与本次运算的更详细的信息。操作码操作数一条指令的组成一个演示用的机器语言2. 示例性的机器语言?问题:在实际的计算机指令集中,操作码占几位取决于什么?对应着每一种操作码的位模式,操作数都有不同的解释。操作码操作数实际的位模式(16位)十六进制形式(4个数字)一条指令的组成一个演示用的机器语言2. 示例性的机器语言在我们的示例计算机

11、中,机器语言一共有12条基本指令;因此,操作码需占4位。总的机器指令都是两字节长。头4位是操作码,后12位组成操作数字段。12位组成操作数由三个十六进制数表示,分别代表不同的含义。详见附录C一个简单的机器语言 说明: 字母R、S及T在表示寄存器标识符的那些字段处用来替代十六进制数字, R、S、T代表的是寄存器的地址 它们因指令的具体应用而异。 字母X及Y用来在变量字段替代十六进制数字,而不代表寄存器。一个简单的机器语言操作码操作数说明1RXY以地址为XY的存储单元的位模式加载(LOAD)寄存器R。例:14A3使得地址A3的存储单元内容放入寄存器4。2RXY以位模式XY 加载(LOAD)寄存器R

12、。例:20A3使得值A3放入寄存器0。3RXY将寄存器R的位模式存放(STORE)于地址为XY的存储单元。例:35B1使得寄存器5的内容放入地址为B1的存储单元。4ORS将寄存器R的位模式移入(MOVE)寄存器S。例:40A4使得寄存器A的内容复制到寄存器4。5RST寄存器S与寄存器T的位模式作为补码表示相加(ADD),求和结果放在寄存器R。例:5726使得寄存器2与寄存器6的二进制值相加,和放入寄存器7。6RST寄存器S与寄存器T的位模式作为浮点表示值相加(ADD),浮点结果放在寄存器R。例:634E使寄存器4与寄存器E的浮点值相加,结果放入寄存器3。一个简单的机器语言操作码操作数说明7RS

13、T寄存器S与寄存器T的位模式做或(OR)操作,结果放在寄存器R。例:7CB4使得寄存器B与寄存器4的内容做或操作,结果放入寄存器C。8RST寄存器S与寄存器T的位模式做与(AND)操作,结果放在寄存器R。例:8045使得寄存器4与寄存器5的内容做与操作,结果放入寄存器0。9RST寄存器S与寄存器T的位模式做异或(EXCLUSIVE OR)操作,结果放在寄存器R。例:95F3使得寄存器F与寄存器3的内容做异或操作,结果放入寄存器5。一个简单的机器语言操作码操作数说明AROX将寄存器R的位模式循环(ROTATE)右移一位,做X次。每次把低端开始的那个位放入高端。例:A403使得寄存器4的内容循环右

14、移3位。BRXY若寄存器R的位模式等于寄存器0的位模式,则跳转(JUMP)到位于地址XY的存储单元中的指令。否则继续正常执行顺序。(跳转是通过在执行周期将XY复制进程序计数器来实现。)例:B43C先比较寄存器4及寄存器0的内容。如果两者相等,则把模式3C置入程序计数器,所以下一条执行的指令将是这个存储器地址中的那条。否则,不做任何别的事情,程序照常继续。C000停止(HALT)执行。例:C000使得程序执行停止。机器语言运算对象的这部分标识接收数据的存储器单元的地址运算对象的这部分标识哪个寄存器的值需要储存运算码3表示把一个寄存器中的内容存储到一个存储器单元中指令指令35A7的译码 2. 示例

15、性的机器语言机器指令的译码(解码):机器语言2. 示例性的机器语言根据附录C,解释下列指令序列的含义:156C166D5056306EC000机器语言P58 问题与练习程序执行程序:指令的有序集合 计算机必须将程序复制到CPU中才能执行。即在CPU中解码和执行。程序的执行顺序和他们在存储器中保存的顺序是一致的,除非程序中包含JUMP指令。现实中:程序被存放在硬盘中,当执行时,先被加载到内存里,然后再一条条的复制到CPU的控制器中执行。程序执行控制部件中的两个专用寄存器:程序计数器程序计数器中包含了下一条要执行的指令的地址指令寄存器指令寄存器用于保存当前正在执行的指令算术/逻辑部件中央处理器寄存

16、器012F总线主存储器地址单元0001020304FF控制部件程序计数器指令寄存器程序执行从整体上看,由控制部件负责协调一个程序的执行。对于程序中的每一条指令的执行,控制部件要完成的工作都可以被分为三个基本的步骤。取指令译码执行控制部件是通过重复执行一个算法来实现它的工作的,该算法引导它完成一个称为机器周期的三步处理。一条指令的执行时间 - 一个机器周期1个机器周期内的工作程序执行机器周期内执行一条指令的算法1. 按程序计数器指示的地址从存储器中读出一条指令,然后增加程序计数器的值。2. 对指令寄存器中的位模式进行译码。3. 实现指令寄存器里指令所规定的动作。读取执行译码在我们的示例计算机中,

17、计数器的值应该加2程序执行 运算对象的这部分是要放在程序计数器的值。运算对象的这部分指示要与寄存器0比较的寄存器。运算码B表示,如果指定的寄存器的内容与寄存器0的内容相同,那么改变程序计数器的值。指令转移指令的执行比较特殊,例如:指令B258的译码 1、转移指令需用到指令规定的运算对象之外的寄存器2、转移指令是唯一能够改变程序计数器的值的指令程序执行 1. 程序执行的一个例子156C166D5056306EC000假定该程序存放在从地址A0开始的连续的地址里程序执行1. 程序执行的一个例子程序的执行1. 程序执行的一个例子程序的执行1. 程序执行的一个例子156C166D5056306EC00

18、0?程序存放在A0-A9,它所操作的数据放在哪里?程序的执行2. 程序与数据 程序和数据都存放在主存储器中,机器本身不知道哪里是程序,哪里是数据。 如果错误的把一段数据的起始地址填写到程序计数器中,控制部件将会把这段数据当作程序去执行。 程序和数据同时存放在存储器中的优点: 一个程序可以操作自身,使之具有学习的能力。 一个程序也可以把其它的程序当作数据操作。程序的执行P62 问题与练习算术/逻辑指令 循环移位和移位运算循环移位(circular shift或rotation)逻辑移位(logical shift)算术移位(arithmetic shift)位模式A3循环右移1位 由A3(十六进

19、制)表示的位模式各位向右移1位。最右面的位“移出”了,把它填在另一端的空位上最后的位模式,它用D1(十六进制)表示与其他设备的通信 CPU与主存储器组成了一个计算机的核心 在这一节中,我们将称这个核心为计算机 在本节中,我们将研究“计算机”如何与外部设备通信的 例如:磁盘、打印机、键盘、鼠标、监视器等与其他设备的通信1. 控制器的作用 一台“计算机”(核心)与其他设备之间的通信通常是由我们称为控制器的中间设备处理的。 对于个人计算机来说,控制器就是一块电路板,它是插在计算机的主板上的。 每个控制器本身通常就是一个小的计算机,它有自己的存储电路和CPU。与其他设备的通信与其他设备的通信与其他设备

20、的通信 控制器把信息和数据在两种形式之间转换: 一是与计算机内部特征相适应的形式 二是与所连接的外部设备相适应的形式 每个控制器都是为特定类型的设备设计的,彼此不能通用。 甚至是同一类型的两个外部设备,它们彼此的控制器也不相同。例如:老式磁盘系统的控制器对新式硬盘就不适用。与其他设备的通信 CPU与控制器的种通信方式:(1)端口 在某些计算机中,机器语言提供了额外的运算码用于控制器的LOAD和STORE-这些运算码我们称之为I/O指令。 I/O指令通过编址系统来标识各种各样的控制器。赋给每个控制器一个唯一的地址,我们称为I/O地址,也叫做端口与其他设备的通信 (2) 存储器映射输入/输出在这种

21、方式中,CPU使用与存储器通信相同的运算码来和各种控制器通信 CPU如何区分当前通信的对象是某个控制器还是主存储器呢? 每个控制器被设计成响应唯一的一组主存储器的地址,而主存储器被设计成忽略对这些地址的引用(即:主存储器不能使用这些地址)。与其他设备的通信 存储器映射输入/输出与其他设备的通信2.直接内存存取-DMA 控制器直接存取主存储器的能力称为-DMA 如图2.13中所示,控制器是连接在总线上的,当CPU不使用总线时,控制器可以利用总线与主存储器通信。 DMA的好处在于,它大大提高了计算机的性能与其他设备的通信冯诺依曼瓶颈 位模式必须在CPU与主存储器、CPU与控制器、各个控制器与主存储

22、器之间进行传送。 协调总线上的数据传输就是一个重要的研究课题。 即使是杰出的设计,中央总线也可能成为CPU与控制器竞争总线存取的障碍 这种障碍称为 冯诺依曼瓶颈 DMA的使用对于增加计算机总线所处理的通信量有决定性的影响。与其他设备的通信3.握手 在计算机两个部件之间的数据传输很少是单向的。 例如: 打印机 握手:计算机与外部设备之间交换设备状态的信息,协调它们之间的活动的过程。 握手通常涉及一个状态字 状态字是一个位模式,由外部设备生成并发送给控制器。它的各个二进制为反映了该设备的各种状态。与其他设备的通信 4.流行的通信媒介 计算机设备间的通信的两种方式:串行、并行 并行通信:若干信号同时

23、传输,每个信号都在各自的“线路”上。即:数据在多个信道上同时传输。数据线数目与传输数据相同。速度快,但是链路复杂。如:计算机的内部总线。 串行通信:指在一条信号线上一个信号节一个信号地传输。即:数据在一个信道上一位一位依次传输。数据线数目与与传输数据无关。优点是只需要一条相对简单的数据路径,可以在短距离内提供相对高速的数据传输。与其他设备的通信串行通信并行通信与其他设备的通信流行的通信媒介 MODEM(调制解调器) DSL(数字用户电路) OPTICAL FIBRE (光纤) CATV(有线电视) WIRELESS COMMUNICATION (无线通信)与其他设备的通信 5. 数据通信速率 传输数据位的速率是以每秒比特数(bits per second,bps)度量的。常用的单位有: kbps(千bps,等于103bps) Mbps(兆bps,等于106bps) Gbps(吉bp

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论