好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

第2章数据操控.ppt

38页
  • 卖家[上传人]:pu****.1
  • 文档编号:590171731
  • 上传时间:2024-09-13
  • 文档格式:PPT
  • 文档大小:319.50KB
  • / 38 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 计算机科学概论计算机科学概论第第2 2章章 数据操控数据操控授课人 陈思亮教授1 第2章 数据操控¨ 初步了解计算机的体系结构;¨ 了解机器语言、指令、程序及程序的执行2010-9-182计算机科学概论 第2章 目录 2.1 计算机体系结构 2.2 机器语言 2.3 程序执行 2.4 算术/逻辑指令 本章作业 2010-9-183计算机科学概论 第2章 2.1 计算机体系结构一、中央处理器一、中央处理器(central processing unit,,缩写为缩写为 CPU ) 是计算机控制数据操纵的电路是计算机控制数据操纵的电路 现在的现在的CPU体积很小,其引脚插在计算体积很小,其引脚插在计算机主电路板机主电路板(主板主板 motherboard)上2010-9-184计算机科学概论 第2章 2.1 计算机体系结构¨CPU由两部分组成:由两部分组成:¨算术算术/逻辑单元逻辑单元和和控制单元控制单元1、算术、算术/逻辑单元逻辑单元(arithmetic/logic unit) 包含执行数据操作包含执行数据操作(如加法和减法运算如加法和减法运算)2、控制单元、控制单元(control unit) 包括协调计算机活动的电路。

      包括协调计算机活动的电路2010-9-185计算机科学概论 第2章 2.1 计算机体系结构¨CPU还包含类似于主存储器单元的单元,称还包含类似于主存储器单元的单元,称为寄存器为寄存器(register),,分为:分为:¨通用寄存器通用寄存器(general-purpose register)和和¨专用寄存器专用寄存器(special-purpose register)两类¨通用寄存器用于存储由通用寄存器用于存储由CPU正在操纵的数据正在操纵的数据它们存储算术它们存储算术/逻辑单元电路的输入值以及该逻辑单元电路的输入值以及该部件所产生的结果具体操作在控制单元控部件所产生的结果具体操作在控制单元控制下进行制下进行¨专用寄存器将在专用寄存器将在2.3节讨论2010-9-186计算机科学概论 第2章 2.1 计算机体系结构二、二、总线总线(bus) 是计算机中各部件之间传递信息的基本是计算机中各部件之间传递信息的基本通道例如通道例如CPU和主存储器就是通过总线连和主存储器就是通过总线连接的 主存储器算术/逻辑单元控制单元寄存器 总线CPU2010-9-187计算机科学概论 第2章 2.1 计算机体系结构¨主存储器中的值相加的过程如下:主存储器中的值相加的过程如下: 步骤步骤1:从存储器取出一个要加的值放入一个寄存:从存储器取出一个要加的值放入一个寄存器中。

      器中 步骤步骤2:从存储器中取出另一个要加的值放入另:从存储器中取出另一个要加的值放入另一个寄存器中一个寄存器中 步骤步骤3:激活加法电路,以步骤:激活加法电路,以步骤1和步骤和步骤2所用的所用的寄存器作为输入,用另一个寄存器存放相加的结果寄存器作为输入,用另一个寄存器存放相加的结果 步骤步骤4:将结果存入存储器将结果存入存储器 步骤步骤5:停止2010-9-188计算机科学概论 第2章 2.1 计算机体系结构三、三、高速缓冲存储器高速缓冲存储器(Cache memory)¨三种存储设备功能的比较:三种存储设备功能的比较:§寄存器寄存器 存储可立即进行运算的数据存储可立即进行运算的数据§主存储器主存储器 存储即将使用的数据存储即将使用的数据§海量存储器海量存储器 存储最近也许不会使用的数据存储最近也许不会使用的数据¨增加一个附加的存储器增加一个附加的存储器——高速缓冲存储器高速缓冲存储器,,位于位于 CPU 内部的高速存储器的一部分,保存主存储器中内部的高速存储器的一部分,保存主存储器中当前最重要的那部分内容的一个副本,使之不会被当前最重要的那部分内容的一个副本,使之不会被与主存储器的通信所延迟,使与主存储器的通信所延迟,使 CPU可较快地执行其可较快地执行其机器周期。

      机器周期2010-9-189计算机科学概论 第2章 2.1 计算机体系结构四、存储程序的概念四、存储程序的概念(stored-program concept)¨将计算机程序存储在主存储器中的思想称为存储程将计算机程序存储在主存储器中的思想称为存储程序概念¨这已经成为今天所使用的标准方法这样程序可以这已经成为今天所使用的标准方法这样程序可以自己修改自己,即只需要改变计算机存储器中的内自己修改自己,即只需要改变计算机存储器中的内容,而不必对控制单元进行重新布线容,而不必对控制单元进行重新布线2010-9-1810计算机科学概论 第2章 2.2 机器语言¨为应用存储程序概念,为应用存储程序概念,CPU设计成可以识别二进设计成可以识别二进制模式和指令这组指令以及编码系统称为机器制模式和指令这组指令以及编码系统称为机器语言语言(machine language)¨用语言表达的指令称为机器级指令或机器指令用语言表达的指令称为机器级指令或机器指令(machine instruction)2010-9-1811计算机科学概论 第2章 2.2.1 指令系统¨两种两种CPU体系结构:体系结构:§精简指令集计算机精简指令集计算机(reduced instruction computer,,RISC) 优点:计算机效率高且速度快优点:计算机效率高且速度快 如:英特尔公司的奔腾系列如:英特尔公司的奔腾系列§复杂指令集计算机复杂指令集计算机(complex instruction computer,,CISC) 优点:容易编程优点:容易编程 如:苹果公司、如:苹果公司、IBM和摩托罗拉公司联合开发的和摩托罗拉公司联合开发的 Power PC系列系列2010-9-1812计算机科学概论 第2章 2.2.1 指令系统¨指令的分类指令的分类§数据传输类数据传输类o关于传输关于传输(trnsfer)、、移动移动(move)、、复制复制(copy)或克隆或克隆(clone)的说明的说明oCPU和主存储器之间的数据传输有专门的术语,和主存储器之间的数据传输有专门的术语,LOAD(由存储单元填充通用寄存器的请求由存储单元填充通用寄存器的请求) STORE(寄存器内容传输给存储单元的请求寄存器内容传输给存储单元的请求)oCPU-主存储器环境主存储器环境 之外的设备通信的指令,之外的设备通信的指令,称为称为I/O指令。

      指令 2010-9-1813计算机科学概论 第2章 2.2.1 指令系统¨指令的分类指令的分类§算术算术/逻辑类逻辑类o算术运算算术运算o逻辑运算逻辑运算o移位(移位(SHIFT)运算或)运算或 循环移位(循环移位(ROTATE))运算运算§控制类控制类oJUMP(转移转移)、、BRANCH(分支分支)o无条件转移无条件转移(unconditional jump)、、条件转移条件转移(condional jump)2010-9-1814计算机科学概论 第2章 2.2.2 一种演示用的机器语言CPU算术/逻辑单元指令寄存器总线程序计数器寄存器 012F主存储器地址 单元00010203FF演示用计算机的体系结构演示用计算机的体系结构2010-9-1815计算机科学概论 第2章 ¨机器指令编码形式:机器指令编码形式:§包括两部分包括两部分o操作码操作码(operation code, op-code) 指明该指令要求的什么基本运算,如指明该指令要求的什么基本运算,如存放存放STORE、、位移位移SHIFT、、异或异或XOR和和转移转移JUMPo操作数操作数(operand) 提供关于操作码指定的运算的更详细的提供关于操作码指定的运算的更详细的 信息。

      信息§定长指令定长指令(2字节字节),,每执行一条指令,程序计数器每执行一条指令,程序计数器累加累加2§变长指令变长指令CISC机器的指令长度可变机器的指令长度可变2010-9-1816计算机科学概论 第2章 操作码操作码操作数操作数 说说 明明1RXY LOAD: (XY)R2RXY LOAD: XYR3RXY STORE: (R)XY4ORS MOVE: (R)S5RST ADD: (S)+(T)R (用二进制补码表示用二进制补码表示 相相加加)6RST ADD: (S)+(T)R (浮点值相加浮点值相加)7RST (S) OR (T) R8RST (S) AND (T) R9RST(S) XOR (T) RAROX将寄存器将寄存器R的位模式右移的位模式右移(RTATE)X位位BRXY若若(R)= (0),,则则JUMP到地址到地址XY的存储单元中的指令,的存储单元中的指令,否则,不做任何事,程序将照常继续否则,不做任何事,程序将照常继续。

      C000停止停止(HALT)执行2010-9-1817计算机科学概论 第2章 符号说明:符号说明:¨R、、S、、T 为十六进制数字,表示寄存器号为十六进制数字,表示寄存器号¨(R)、、(S)、、(T)分别表示寄存器分别表示寄存器R、、S、、T的位模式的位模式¨X、、Y为十六进制数字,为十六进制数字,XY表示地址表示地址¨(XY)表示地址表示地址XY的位模式的位模式2010-9-1818计算机科学概论 第2章 2010-9-1819计算机科学概论 第2章 ¨假定相加的数值以二进制补码记数法形式存储在地假定相加的数值以二进制补码记数法形式存储在地址址6C和和6D中,其相加的结果存放在地址中,其相加的结果存放在地址6E的存储的存储单元里地址地址 指令编码指令编码 翻翻 译译A0 156C 把地址把地址6C的存储单元里的位模式载入寄存器的存储单元里的位模式载入寄存器5A2 166D 把地址把地址6D的存储单元里的位模式载入寄存器的存储单元里的位模式载入寄存器6A4 5056 把寄存器把寄存器5和和6的内容按二进制补码表示相加,的内容按二进制补码表示相加, 结果存入积存器结果存入积存器0A6 306E 把积存器把积存器0的内容存放到地址为的内容存放到地址为6E的存储单元中的存储单元中A8 C000 停止停止2010-9-1820计算机科学概论 第2章 2.3 程序执行¨控制单元控制单元§指令寄存器指令寄存器(instruction register)o用于存储正在执行的指令用于存储正在执行的指令§程序计数器程序计数器(program counter)o记录下一条个待执行指令的地址记录下一条个待执行指令的地址(跟踪程跟踪程序执行到什么地方序执行到什么地方)2010-9-1821计算机科学概论 第2章 2.3 程序执行¨机器周期机器周期(machine cycle)§计算机完成执行一条指令的时间。

      计算机完成执行一条指令的时间§机器周期分三个阶段:机器周期分三个阶段:取指:取指:根据程序计数器规定的地址从存储器根据程序计数器规定的地址从存储器中取下一条指令,然后增加程序计数器的值中取下一条指令,然后增加程序计数器的值译码译码:对指令寄存器中的位模式进行译码对指令寄存器中的位模式进行译码执行执行:实现指令寄存器里指令所规定的动作实现指令寄存器里指令所规定的动作§注意注意转移转移JUMP指令的特殊性指令的特殊性2010-9-1822计算机科学概论 第2章 2.3 程序执行2010-9-1823计算机科学概论 第2章 2.3.1 程序执行的例子2010-9-1824计算机科学概论 第2章 机器周期取指阶段的操作,分两步第一步:机器周期取指阶段的操作,分两步第一步:2010-9-1825计算机科学概论 第2章 第二步:2010-9-1826计算机科学概论 第2章 地址 内容 A01A A1A2 A22B A3A2 A49C A5AB A63C A700 A8C0 A900程序运行举例程序运行举例1:启动时程序计数器:启动时程序计数器:A0问题:问题:1. 当机器停止时,地址为当机器停止时,地址为A0的存储单元有什么?的存储单元有什么?2. 当机器停止时,程序计数器当机器停止时,程序计数器中会是什么位模式?中会是什么位模式?2010-9-1827计算机科学概论 第2章 1AA2 2B A2A2A02BA2A49CABA6893CA0A8C0001A89停机!停机!2B = 00101011A2 = 10100010 XOR 10001001 8 9 AA2010-9-1828计算机科学概论 第2章 地址内容 2012 2120 2232 2330 24B0 2521 2620 27C0 2800程序运行举例程序运行举例2:启动时程序计数器:启动时程序计数器:20问题:问题:1.当机器停止时,寄存器当机器停止时,寄存器0、、1和和2中是什么位模式?中是什么位模式?2.当机器停止时,地址为当机器停止时,地址为30的存储单元中是什么位模的存储单元中是什么位模式?式?3.当机器停止时,地址为当机器停止时,地址为B0的存储单元中是什么位模的存储单元中是什么位模式?式?2010-9-1829计算机科学概论 第2章 地址地址 内容内容 20 12 2120 2232 2330 24B0 2521 2620 27C0 2800地址地址 指令指令 功能功能20 1220 将地址将地址20的内容的内容12存入寄存器存入寄存器2,, 即即(20) = 12222 3230 将寄存器将寄存器2的内容存入地址的内容存入地址30,, 即即(2) = 12 30 24 B021 因为因为(R)= (0),,故故JUMP到地址到地址21的存储单的存储单元中的指令元中的指令21 2032 将数将数32存入寄存器存入寄存器0,即,即32  023 30B0 将寄存器将寄存器0的内容存入的内容存入B0,即,即(0) = 32  B025 2120 将数将数20 的内容存入寄存器的内容存入寄存器1,即,即 20  127 C000 停机停机30 12B0 32当机器停止时当机器停止时:寄存器寄存器0、、1、、2中的位模式是中的位模式是 32,,20,,12地址为地址为30的存储单元中位模式是的存储单元中位模式是 12地址为地址为B0的存储单元中位模式是的存储单元中位模式是 32 寄存器寄存器0 32寄存器寄存器1 20寄存器寄存器2 122010-9-1830计算机科学概论 第2章 ¨时钟时钟(clock),,生成用于协调计算机活动的脉生成用于协调计算机活动的脉冲单位为赫兹冲单位为赫兹(缩写为缩写为Hz)。

      ¨不同的不同的CPU设计在一个时钟周期里完成的工设计在一个时钟周期里完成的工作量是不同的因此单单用时钟速度比较不作量是不同的因此单单用时钟速度比较不同同CPU的计算机的速度没有太大的意义的计算机的速度没有太大的意义¨基准测试基准测试(benchmark),,指比较不同计算机时,指比较不同计算机时,让他们执行同样的程序让他们执行同样的程序(称为基准称为基准),,然后比较然后比较他们的性能通过选择代表不同类型应用的他们的性能通过选择代表不同类型应用的基准,得到对各类市场有意义的结果基准,得到对各类市场有意义的结果2010-9-1831计算机科学概论 第2章 2.3.2 程序与数据 程序和数据在计算机的主存储器中都是以程序和数据在计算机的主存储器中都是以0和和1编编码的,即在计算机的主存储器中数据和程序是不区分码的,即在计算机的主存储器中数据和程序是不区分的¨问题:问题: 展现了计算机的学习能力展现了计算机的学习能力(进行自我修正进行自我修正) 可编写和执行其他程序,解决自身所遇到的问题可编写和执行其他程序,解决自身所遇到的问题2010-9-1832计算机科学概论 第2章 2.4 算术/逻辑指令2.4.1 逻辑运算逻辑运算¨AND运算运算(指令操作码指令操作码8)§对操作数进行按位与运算对操作数进行按位与运算 P63§屏蔽屏蔽(masking)与掩码与掩码(mask),,掩码操作数决定另掩码操作数决定另一个操作数的哪个部分影响结果。

      如对一个操作数的哪个部分影响结果如对IP地址用地址用掩码取出其相应的部分掩码取出其相应的部分§可用于复制一个串的一部分可用于复制一个串的一部分§OR运算运算(指令操作码指令操作码7) 与与AND运算类似运算类似只是按位或运算)(只是按位或运算)§XOR运算运算(指令操作码指令操作码9)用于形成一组位串的反码用于形成一组位串的反码只是按位异或运算)(只是按位异或运算)2010-9-1833计算机科学概论 第2章 2.4 算术/逻辑指令2.4.2 循环移位及移位运算循环移位及移位运算§循环移位循环移位(circular shift或或rotation),,在右移时,将在右移时,将右侧移出的位放置在左端的空位上右侧移出的位放置在左端的空位上§逻辑移位逻辑移位(logical shift),,丢弃移出边界的位,并用丢弃移出边界的位,并用0填充空位填充空位§算术位移算术位移((arithmetic shift))保留符号位不变的位移保留符号位不变的位移§向左移位可以用向左移位可以用2乘以二进制补码表示乘以二进制补码表示除除2运算可运算可以通过二进制右移来完成以通过二进制右移来完成要注意一定要小心保留。

      要注意一定要小心保留符号位,右移时留出的空位符号位,右移时留出的空位(符号位的位置符号位的位置)总是用总是用它原来的值填充保留符号位不边的移位称为算术它原来的值填充保留符号位不边的移位称为算术移位移位(arithmetic shift)2010-9-1834计算机科学概论 第2章 2.4 算术/逻辑指令循环右移循环右移1位位2010-9-1835计算机科学概论 第2章 2.4 算术/逻辑指令2.4.3 算术运算算术运算§算术运算包括加、减、乘、除,但减法可以通算术运算包括加、减、乘、除,但减法可以通过加法和取负来模拟乘法可以用反复进行加过加法和取负来模拟乘法可以用反复进行加法运算实现,而除法可以反复进行减法运算来法运算实现,而除法可以反复进行减法运算来实现§练习:练习:P652010-9-1836计算机科学概论 第2章 2010-9-1837计算机科学概论 第2章 本章练习¨见文件“练习三.doc” 2010-9-1838计算机科学概论 第2章 。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.