文档详情

第2章--数据操控汇总课件

枫**
实名认证
店铺
PPT
1.65MB
约62页
文档ID:587671887
第2章--数据操控汇总课件_第1页
1/62

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

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

步骤3:激活加法电路,以步骤1、2所用的寄存器为输入,用另一个寄存器存放相加结果步骤4:将该结果存入主存储器步骤5:停止RAM 计算机体系结构存储程序的概念存储程序的概念l把计算机程序存放到主存储器里的思想把计算机程序存放到主存储器里的思想--------存储程序概念存储程序概念l早期的计算机早期的计算机举例:类似举例:类似“音乐盒音乐盒”那时,要改变计算机执行的程序,等于重新制造一台计算机那时,要改变计算机执行的程序,等于重新制造一台计算机l后来,人们认识到程序可以像数据一样进行编码,并存放到存储器中后来,人们认识到程序可以像数据一样进行编码,并存放到存储器中这样同一台计算机,可以执行很多种程序,而不需要改动计算机的硬件这样同一台计算机,可以执行很多种程序,而不需要改动计算机的硬件 计算机体系结构 l中央处理器(中央处理器(Central Processing UnitCentral Processing Unit,,CPUCPU))¡算术算术/ /逻辑部件(逻辑部件(arithmetic/logic unitarithmetic/logic unit))¡控制部件(控制部件(control unitcontrol unit))¡寄存器(寄存器(registerregister))l通用寄存器(通用寄存器(general-purpose registergeneral-purpose register))l专用寄存器(专用寄存器(special-purpose registerspecial-purpose register))l主板(主板(motherboardmotherboard))l总线(总线(busbus))l高速缓冲存储器(高速缓冲存储器(cache memorycache memory))本节涉及到的概念本节涉及到的概念 计算机体系结构P P5454 问题与练习问题与练习 机器语言l机器语言(机器语言(machine languagemachine language))¡CPUCPU能辨认的能辨认的二进制模式二进制模式编码的指令和编码系统统称为机器语言编码的指令和编码系统统称为机器语言l机器指令(机器指令(machine instructionmachine instruction))¡用机器语言表达的指令称为用机器语言表达的指令称为机器指令机器指令 ? ?问题:现在常用的一些程序设计语言,例如问题:现在常用的一些程序设计语言,例如C C、、JavaJava、、C++C++等和机器语言有什么关系?等和机器语言有什么关系?--------------------编译编译 1. 1. 指令系统指令系统l问题:计算机的指令是不是越多越好?一台计算机的问题:计算机的指令是不是越多越好?一台计算机的CPUCPU究竟应该包究竟应该包含多少条指令才比较合适?含多少条指令才比较合适?l一旦一台计算机能够实现几个经过精心挑选的任务,那么添加更多的一旦一台计算机能够实现几个经过精心挑选的任务,那么添加更多的特性是不会增加该计算机的理论能力的。

特性是不会增加该计算机的理论能力的 l换句话说,超越某一点后,附加的特性只能增加便利性,不会增加该换句话说,超越某一点后,附加的特性只能增加便利性,不会增加该计算机的基本能力计算机的基本能力机器语言 例:计算机例:计算机A::+、、-、、*、、/ 计算机计算机B::+、、-、、*、、/、平方、开方、立方等、平方、开方、立方等 1. 1. 指令系统指令系统 l利用以上原则的不同程度,导致出现了两种利用以上原则的不同程度,导致出现了两种CPUCPU的体系结构(两种指的体系结构(两种指令系统):令系统):¡精简指令集计算机(精简指令集计算机(RISCRISC):): CPU CPU只需要执行最小的机器指令集只需要执行最小的机器指令集¡复杂指令集计算机(复杂指令集计算机(CISCCISC):): CPU CPU能够执行大量复杂的指令能够执行大量复杂的指令 Intel Intel公司生产的公司生产的CPUCPU是是CISCCISC结构的,而结构的,而IBM PowerPCIBM PowerPC是是RISCRISC结结构的机器语言 机器语言1. 1. 指令系统指令系统指令分成指令分成3 3大类:大类:l数据传输类数据传输类l算术算术/ /逻辑运算类逻辑运算类l控制类控制类寄存器寄存器中央处理器中央处理器主存储器主存储器算术算术/逻逻辑部件辑部件控制部件控制部件总线总线CPU和主存储器通过总线连接和主存储器通过总线连接 机器语言步骤1:从主存储器中取出一个要加的数放入一个寄存器中。

步骤2:从主存储器中取出另一个要加的数放入另一个寄存器中步骤3:激活加法电路,以步骤1、2所用的寄存器为输入,用另一个寄存器存放相加结果步骤4:将该结果存入主存储器步骤5:停止1. 1. 指令系统指令系统数据传输数据传输指令:指令:l请求在各个位置之间传输数据的指令请求在各个位置之间传输数据的指令l右图中步骤右图中步骤1 1、、2 2、、4 4属于传输指令属于传输指令注意:注意:l这里的这里的“传输传输”实际上指的是实际上指的是“复制复制”,通常不用,通常不用“movemove”或或“transfertransfer”l术语术语“LOADLOAD”、、“STORESTORE”通常用来指通常用来指在在CPUCPU和主存储器之间和主存储器之间传输数据传输数据lI/OI/O指令指令是一类特殊的数据传输指令,单独列为一类指是一类特殊的数据传输指令,单独列为一类指在在CPUCPU和其它设备和其它设备间传输数据间传输数据 机器语言1. 1. 指令系统指令系统算术算术/ /逻辑运算指令:逻辑运算指令:l负责数据的运算负责数据的运算,即告诉控制部件请求在,即告诉控制部件请求在算术算术/ /逻辑部件内实现一个活动逻辑部件内实现一个活动l右图中步骤右图中步骤3 3属于算术属于算术/ /逻辑运算指令逻辑运算指令注意:注意:l逻辑运算逻辑运算ANDAND、、OROR、、NOTNOT、、XORXOR通常是基于通常是基于位位的运算。

的运算¡因此逻辑运算指令可以完成对某一个寄存器中特定的若干位操作,而对其他位因此逻辑运算指令可以完成对某一个寄存器中特定的若干位操作,而对其他位没有影响没有影响--------掩码掩码l除逻辑运算,还有一类对寄存器内容左右移动的运算除逻辑运算,还有一类对寄存器内容左右移动的运算: :移位运算移位运算(SHIFT)(SHIFT)、、循环移位运算(循环移位运算(ROTATEROTATE))步骤1:从存储器中取出一个要加的数放入一个寄存器中步骤2:从存储器中取出另一个要加的数放入另一个寄存器中步骤3:激活加法电路,以步骤1、2所用的寄存器为输入,用另一个寄存器存放相加结果步骤4:将该结果存存储器步骤5:停止 机器语言1. 1. 指令系统指令系统控制指令:控制指令:l指导程序执行的指令,而不作数据操作指导程序执行的指令,而不作数据操作l右图中步骤右图中步骤5 5属于控制指令属于控制指令注意:注意:l常见的控制指令:转移(常见的控制指令:转移(JUMPJUMP)、分支()、分支(BRANCHBRANCH))l转移有两种形式:转移有两种形式:¡无条件转移无条件转移¡有条件转移有条件转移,例如:,例如:P56P56,图,图2.32.3的步骤的步骤3 3步骤1:从存储器中取出一个要加的数放入一个寄存器中。

步骤2:从存储器中取出令一个要加的数放入另一个寄存器中步骤3:激活加法电路,以步骤1、2所用的寄存器为输入,用另一个寄存器存放相加结果步骤4:将该结果存存储器步骤5:停止 一个演示用的机器语言1.1.机器的体系结构机器的体系结构 机器有机器有1616个通用寄存器个通用寄存器每个寄存器的长度为一字节(每个寄存器的长度为一字节(8 8位)为了在指为了在指令中标识寄存器,每个寄存器各赋予一个惟一的四位模式表示其寄存器号令中标识寄存器,每个寄存器各赋予一个惟一的四位模式表示其寄存器号所以寄存器所以寄存器0 0由由00000000(十六进制(十六进制0 0)标识,寄存器)标识,寄存器4 4由由01000100(十六进制(十六进制4 4)标识 机器主存有机器主存有256256个单元个单元每个单元赋予一个范围在每个单元赋予一个范围在0 0到到255255之间的整数地址之间的整数地址所以一个地址能够用所以一个地址能够用0000000000000000到到1111111111111111范围内(或范围内(或0000到到FFFF范围的十六进制范围的十六进制值)的一个八位模式来表示。

值)的一个八位模式来表示 一个演示用的机器语言2. 2. 示例性的机器语言示例性的机器语言 附录C附录C算术算术/ /逻辑部件逻辑部件中央处理器中央处理器寄存器寄存器012F总线总线主存储器主存储器地址地址单元单元00000101020203030404FFFF控制部件控制部件程序计数器程序计数器指令寄存器指令寄存器((1)共有)共有16个通用寄存器,个通用寄存器,256个主存储单元个主存储单元2)分别用二进制编号,用十六进制表示分别用二进制编号,用十六进制表示 一个演示用的机器语言2. 2. 示例性的机器语言示例性的机器语言指令及其构成:指令及其构成:l该计算机的每一条指令都是一个二进制序列;该计算机的每一条指令都是一个二进制序列;l这个二进制序列可被分为两部分:这个二进制序列可被分为两部分:操作码、操作数操作码、操作数l操作码指名该指令将进行什么操作操作码指名该指令将进行什么操作,例如:,例如:STORESTORE、、ADDADD、、XORXOR等等l操作数给出了参与本次运算的更详细的信息操作数给出了参与本次运算的更详细的信息操作码操作码操作数操作数←一条指令的组成一条指令的组成 一个演示用的机器语言2. 2. 示例性的机器语言示例性的机器语言l? ?问题:在实际的计算机指令集中,操作码占几位取决于什么?问题:在实际的计算机指令集中,操作码占几位取决于什么?l对应着每一种操作码的位模式,操作数都有不同的解释。

对应着每一种操作码的位模式,操作数都有不同的解释操作码操作码操作数操作数实际的位模式(实际的位模式(16位)位)十六进制形式(十六进制形式(4个数字)个数字)↑一条指令的组成一条指令的组成 一个演示用的机器语言2. 2. 示例性的机器语言示例性的机器语言l在我们的在我们的示例计算机中,机器语言一共有示例计算机中,机器语言一共有1212条基本指令条基本指令;因此,操作;因此,操作码需占码需占4 4位l总的机器指令都是两字节长头总的机器指令都是两字节长头4 4位是操作码,后位是操作码,后1212位组成操作数字位组成操作数字段l1212位组成操作数位组成操作数由三个十六进制数表示,分别代表不同的含义由三个十六进制数表示,分别代表不同的含义l详见附录详见附录C C 一个简单的机器语言 说明:说明:l 字母字母R R、、S S及及T T在表示寄存器标识符的那些字段处用来替代十六进制数字,在表示寄存器标识符的那些字段处用来替代十六进制数字,¡ R R、、S S、、T T代表的是寄存器的地址代表的是寄存器的地址¡ 它们因指令的具体应用而异它们因指令的具体应用而异l 字母字母X X及及Y Y用来在变量字段替代十六进制数字,而用来在变量字段替代十六进制数字,而不代表寄存器不代表寄存器。

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

例:例:634E使寄存器使寄存器4与寄存器与寄存器E的浮点的浮点值值相加,相加,结结果放入寄存器果放入寄存器3 一个简单的机器语言操作码操作码操作数操作数说明说明7RST寄存器寄存器S与寄存器与寄存器T的位模式做或(的位模式做或(OR)操作,)操作,结结果放在寄果放在寄存器存器R例:例:7CB4使得寄存器使得寄存器B与寄存器与寄存器4的内容做或操作,的内容做或操作,结结果放入果放入寄存器寄存器C8RST寄存器寄存器S与寄存器与寄存器T的位模式做与(的位模式做与(AND)操作,)操作,结结果放在寄果放在寄存器存器R例:例:8045使得寄存器使得寄存器4与寄存器与寄存器5的内容做与操作,的内容做与操作,结结果放入果放入寄存器寄存器09RST寄存器寄存器S与寄存器与寄存器T的位模式做异或(的位模式做异或(EXCLUSIVE OR)操)操作,作,结结果放在寄存器果放在寄存器R例:例:95F3使得寄存器使得寄存器F与寄存器与寄存器3的内容做异或操作,的内容做异或操作,结结果放果放入寄存器入寄存器5 一个简单的机器语言操作码操作码操作数操作数说明说明AROX将寄存器将寄存器R的位模式循的位模式循环环((ROTATE)右移一位,做)右移一位,做X次。

每次每次把低端开始的那个位放入高端次把低端开始的那个位放入高端例:例:A403使得寄存器使得寄存器4的内容循的内容循环环右移右移3位BRXY若寄存器若寄存器R的位模式等于寄存器的位模式等于寄存器0的位模式,的位模式,则则跳跳转转((JUMP)到位于地址)到位于地址XY的存的存储单储单元中的指令否元中的指令否则继续则继续正正常常执执行行顺顺序跳转转是通是通过过在在执执行周期将行周期将XY复制复制进进程序程序计计数数器来器来实现实现例:例:B43C先比先比较较寄存器寄存器4及寄存器及寄存器0的内容如果两者相等,的内容如果两者相等,则则把模式把模式3C置入程序置入程序计计数器,所以下一条数器,所以下一条执执行的指令将是行的指令将是这这个存个存储储器地址中的那条否器地址中的那条否则则,不做任何,不做任何别别的事情,程序照的事情,程序照常常继续继续C000停止(停止(HALT))执执行例:例:C000使得程序使得程序执执行停止 机器语言运算对象的这运算对象的这部分标识接收部分标识接收数据的存储器数据的存储器单元的地址单元的地址运算对象的这部分标运算对象的这部分标识哪个寄存器的值需识哪个寄存器的值需要储存要储存运算码运算码3表示把表示把一个寄存器中的一个寄存器中的内容存储到一个内容存储到一个存储器单元中存储器单元中指令指令指令指令35A7的译码的译码 ↑2. 2. 示例性的机器语言示例性的机器语言机器指令的译码(解码):机器指令的译码(解码): 机器语言2. 2. 示例性的机器语言示例性的机器语言根据附录根据附录C C,解释下列指令序列的含义:,解释下列指令序列的含义:l156C156Cl166D166Dl50565056l306E306ElC000C000 机器语言P P5858 问题与练习问题与练习 程序执行 l程序:指令的有序集合程序:指令的有序集合 l计算机必须将程序复制到计算机必须将程序复制到CPUCPU中才能执行。

即在中才能执行即在CPUCPU中解码和执行中解码和执行l程序的执行顺序和他们在存储器中保存的顺序是一致的,除非程序中程序的执行顺序和他们在存储器中保存的顺序是一致的,除非程序中包含包含JUMPJUMP指令现实中:现实中:程序被存放在硬盘中,当执行时,先被加载到内存里,然后再一条条程序被存放在硬盘中,当执行时,先被加载到内存里,然后再一条条的复制到的复制到CPUCPU的控制器中执行的控制器中执行 程序执行控制部件中的两个控制部件中的两个专用寄存器专用寄存器::l程序计数器程序计数器程序计数器中包含了程序计数器中包含了下一条要执行的指令的地址要执行的指令的地址l指令寄存器指令寄存器指令寄存器用于保存指令寄存器用于保存当前正在执行的指令执行的指令 算术算术/ /逻辑部件逻辑部件中央处理器中央处理器寄存器寄存器012F总线总线主存储器主存储器地址地址单元单元00000101020203030404FFFF控制部件控制部件程序计数器程序计数器指令寄存器指令寄存器 程序执行l从整体上看,由控制部件负责协调一个程序的执行对于程序中的每从整体上看,由控制部件负责协调一个程序的执行对于程序中的每一条指令的执行,控制部件要完成的工作都可以被分为三个基本的步一条指令的执行,控制部件要完成的工作都可以被分为三个基本的步骤。

骤¡取指令取指令¡译码译码¡执行执行l控制部件是通过重复执行一个算法来实现它的工作的,该算法引导它控制部件是通过重复执行一个算法来实现它的工作的,该算法引导它完成一个称为完成一个称为机器周期机器周期的三步处理的三步处理l一条指令的执行时间一条指令的执行时间 --------- --------- 一个机器周期一个机器周期1个机器周期内的工作 程序执行机器周期内执行一条指令的算法机器周期内执行一条指令的算法1. 按按程程序序计计数数器器指指示示的的地地址址从从存存储储器器中中读读出出一一条条指指令令,,然然后后增增加加程程序序计数器的值计数器的值2. 对对指指令令寄寄存存器器中中的的位位模模式式进进行行译译码3. 实实现现指指令令寄寄存存器器里里指令所规定的动作指令所规定的动作读读取取执行执行译码译码在我们的示例计算机中,计数器的值应该加2 程序执行 运运算算对对象象的的这这部部分分是是要要放放在在程程序序计计数数器的值运运算算对对象象的的这这部部分分指指示示要要与与寄寄存存器器0比比较较的的寄存器运运算算码码B表表示示,,如如果果指指定定的的寄寄存存器器的的内内容容与与寄寄存存器器0的的内内容容相相同同,,那那么么改改变变程程序序计计数器的值。

数器的值指指令令转移指令的执行比较特殊,例如:指令转移指令的执行比较特殊,例如:指令B258B258的译码的译码 1、转移指令需用到指令规定的运算对象之外的寄存器、转移指令需用到指令规定的运算对象之外的寄存器2、转移指令是唯一能够改变程序计数器的值的指令、转移指令是唯一能够改变程序计数器的值的指令 程序执行 1. 1. 程序执行的一个例子程序执行的一个例子l156C156Cl166D166Dl50565056l306E306ElC000C000假定该程序存放在从假定该程序存放在从地址地址A0A0开始的连续的开始的连续的地址里地址里 程序执行1. 1. 程序执行的一个例子程序执行的一个例子 程序的执行1. 1. 程序执行的一个例子程序执行的一个例子 程序的执行1. 1. 程序执行的一个例子程序执行的一个例子l156C156Cl166D166Dl50565056l306E306ElC000C000? ?程序存放在程序存放在A0-A9A0-A9,,它所操作的数据它所操作的数据放在哪里?放在哪里? 程序的执行2 2. . 程序程序与数据与数据l 程序和数据都存放在主存储器中程序和数据都存放在主存储器中,机器本身不知道哪里是程序,,机器本身不知道哪里是程序,哪里是数据。

哪里是数据l 如果错误的把一段数据的起始地址填写到程序计数器中,控制如果错误的把一段数据的起始地址填写到程序计数器中,控制部件将会把这段数据当作程序去执行部件将会把这段数据当作程序去执行 程序和数据同时存放在存储器中的优点:程序和数据同时存放在存储器中的优点:l 一个程序可以操作自身,使之具有学习的能力一个程序可以操作自身,使之具有学习的能力l 一个程序也可以把其它的程序当作数据操作一个程序也可以把其它的程序当作数据操作 程序的执行P P6262 问题与练习问题与练习 算术/逻辑指令 循环移位和移位运算循环移位和移位运算l循环移位循环移位((circular shiftcircular shift或或rotationrotation))l逻辑移位逻辑移位((logical shiftlogical shift))l算术移位算术移位((arithmetic shiftarithmetic shift))位模式位模式A3循环右移循环右移1位位 由由A3((十十六六进进制制))表示的位模式表示的位模式各各位位向向右右移移1位位最最右右面面的的位位“移移出出”了了,,把把它它填填在在另另一一端的空位上端的空位上最最后后的的位位模模式式,,它它用用D1((十十六六进进制制))表示表示 与其他设备的通信l CPUCPU与主存储器组成了一个计算机的与主存储器组成了一个计算机的核心核心¡ 在这一节中,我们将称这个核心为计算机在这一节中,我们将称这个核心为计算机l 在本节中,我们将研究在本节中,我们将研究“计算机计算机”如何与外部设备通信的如何与外部设备通信的¡ 例如:磁盘、打印机、键盘、鼠标、监视器等例如:磁盘、打印机、键盘、鼠标、监视器等 与其他设备的通信1. 1. 控制器的作用控制器的作用 一台一台“计算机计算机”(核心)与其他设备之间的通信通常是由(核心)与其他设备之间的通信通常是由我们称为控制器的中间设备处理的。

我们称为控制器的中间设备处理的l 对于个人计算机来说,控制器就是一块电路板,它是插在计对于个人计算机来说,控制器就是一块电路板,它是插在计算机的主板上的算机的主板上的l 每个控制器本身通常就是一个小的计算机,它有自己的存储每个控制器本身通常就是一个小的计算机,它有自己的存储电路和电路和CPUCPU 与其他设备的通信 与其他设备的通信 与其他设备的通信l 控制器把信息和数据在两种形式之间转换控制器把信息和数据在两种形式之间转换::¡ 一是与计算机内部特征相适应的形式一是与计算机内部特征相适应的形式¡ 二是与所连接的外部设备相适应的形式二是与所连接的外部设备相适应的形式l 每个控制器都是为特定类型的设备设计的,彼此不能通用每个控制器都是为特定类型的设备设计的,彼此不能通用¡ 甚至是同一类型的两个外部设备,它们彼此的控制器也不相同甚至是同一类型的两个外部设备,它们彼此的控制器也不相同例如:老式磁盘系统的控制器对新式硬盘就不适用例如:老式磁盘系统的控制器对新式硬盘就不适用 与其他设备的通信 CPUCPU与控制器的2种通信方式:与控制器的2种通信方式: ( (1 1))端口端口¡ 在某些计算机中,机器语言提供了在某些计算机中,机器语言提供了额外的运算码额外的运算码用于控用于控制器的制器的LOADLOAD和和STORE----STORE----这些运算码我们称之为这些运算码我们称之为I/OI/O指令。

指令¡ I/OI/O指令通过编址系统来标识各种各样的控制器指令通过编址系统来标识各种各样的控制器赋给赋给每个控制器一个唯一的地址,我们称为每个控制器一个唯一的地址,我们称为I/OI/O地址,也叫做端地址,也叫做端口口 与其他设备的通信 ((2 2)) 存储器映射输入存储器映射输入/ /输出输出¡在这种方式中,在这种方式中,CPUCPU使用与存储器通信使用与存储器通信相同的运算码相同的运算码来来和各种控制器通信和各种控制器通信¡ CPUCPU如何区分当前通信的对象是某个控制器还是主存如何区分当前通信的对象是某个控制器还是主存储器呢?储器呢?¡ 每个控制器被设计成响应唯一的一组主存储器的地址,每个控制器被设计成响应唯一的一组主存储器的地址,而主存储器被设计成忽略对这些地址的引用(而主存储器被设计成忽略对这些地址的引用(即:主即:主存储器不能使用这些地址)存储器不能使用这些地址) 与其他设备的通信 存储器映射输入存储器映射输入/ /输出输出 与其他设备的通信2.2.直接内存存取直接内存存取-----DMA-----DMA ¡ 控制器直接存取主存储器的能力称为控制器直接存取主存储器的能力称为----DMA----DMA 如图如图2.132.13中所示,控制器是连接在总线上的,当中所示,控制器是连接在总线上的,当CPUCPU不使不使用总线时,控制器可以利用总线与主存储器通信。

用总线时,控制器可以利用总线与主存储器通信¡ DMA DMA的好处在于,它大大提高了计算机的性能的好处在于,它大大提高了计算机的性能 与其他设备的通信冯冯·诺依曼瓶颈诺依曼瓶颈¡ 位模式必须在位模式必须在CPUCPU与主存储器、与主存储器、CPUCPU与控制器、各个控制器与控制器、各个控制器与主存储器之间进行传送与主存储器之间进行传送¡ 协调总线上的数据传输就是一个重要的研究课题协调总线上的数据传输就是一个重要的研究课题¡ 即使是杰出的设计,即使是杰出的设计,中央总线也可能成为中央总线也可能成为CPUCPU与控制器竞争与控制器竞争总线存取的障碍总线存取的障碍¡ 这种障碍称为这种障碍称为 冯诺依曼瓶颈冯诺依曼瓶颈l DMA DMA的使用对于增加计算机总线所处理的通信量有决定性的影响的使用对于增加计算机总线所处理的通信量有决定性的影响 与其他设备的通信3.3.握手握手l 在计算机两个部件之间的数据传输很少是单向的在计算机两个部件之间的数据传输很少是单向的¡ 例如:例如: 打印机打印机l 握手:计算机与外部设备之间交换设备状态的信息,协调握手:计算机与外部设备之间交换设备状态的信息,协调它们之间的活动的过程。

它们之间的活动的过程l 握手通常涉及一个握手通常涉及一个状态字状态字¡ 状态字是一个位模式状态字是一个位模式,由外部设备生成并发送给控制器由外部设备生成并发送给控制器它的各个二进制为反映了该设备的各种状态它的各个二进制为反映了该设备的各种状态 与其他设备的通信l 4.4.流行的通信媒介流行的通信媒介 计算机设备间的通信的两种方式:串行、并行计算机设备间的通信的两种方式:串行、并行 并行通信并行通信:若干信号同时传输,每个信号都在各自的:若干信号同时传输,每个信号都在各自的“线路线路”上即:数据在多个信道上同时传输数据在多个信道上同时传输数据线数目与传输数据相同数据线数目与传输数据相同  速度快,但是链路复杂如:计算机的内部总线  速度快,但是链路复杂如:计算机的内部总线     串行通信串行通信:指在一条信号线上一个信号节一个信号地传输即::指在一条信号线上一个信号节一个信号地传输即:数据数据在一个信道上一位一位依次传输在一个信道上一位一位依次传输数据线数目与与传输数据无关数据线数目与与传输数据无关  优点是只需要一条相对简单的数据路径,可以  优点是只需要一条相对简单的数据路径,可以在短距离内提供相对高速在短距离内提供相对高速的的数据传输。

数据传输 与其他设备的通信串行通信并行通信 与其他设备的通信流行的通信媒介流行的通信媒介 MODEMMODEM(调制解调器)(调制解调器) DSL DSL(数字用户电路)(数字用户电路) OPTICAL FIBRE OPTICAL FIBRE (光纤)(光纤) CATV(CATV(有线电视有线电视) ) WIRELESS COMMUNICATION WIRELESS COMMUNICATION (无线通信)(无线通信) 与其他设备的通信 5. 5. 数据通信速率数据通信速率 传输数据位的速率是以每秒传输数据位的速率是以每秒比特比特数(数(bits per secondbits per second,,bpsbps)度量的常用的单位有:常用的单位有:l kbps kbps(千(千bpsbps,等于,等于10103 3bpsbps))l Mbps Mbps(兆(兆bpsbps,等于,等于10106 6bpsbps))l Gbps Gbps(吉(吉bpsbps,等于,等于10109 9bpsbps)) 与其他设备的通信55. . 数据通信速率数据通信速率 多路复用技术多路复用技术    一条高速的主干链路同时为多条低速的接入链路提供服务,也就是使得网络干线可以同时运载大量的语音和数据传输。

     常见的多路复用技术包括频分多路复用(FDM)、时分多路复用(TDM)、波分多路复用(WDM)和码分多路复用(CDMA)带宽带宽l 通常一条线路的带宽大致等于该线路的最大传输速度l 称某条通信线路有较高带宽,等于说它的传输速率较快 与其他设备的通信串行通信的例子:串行通信的例子: 现行的系统现行的系统 与其他设备的通信l 调制解调器(调制解调器(MODEMMODEM),把位模式和可听的声调相互转换),把位模式和可听的声调相互转换l 实际上,实际上,MODEMMODEM就是用不同频率的声调来表示位模式就是用不同频率的声调来表示位模式 与其他设备的通信调幅、调频、调相调幅、调频、调相 程序的执行P P7070 问题与练习问题与练习 其他体系结构 1. 1. 流水线流水线吞吐量(吞吐量(throughputthroughput))::机器在给定时间内完成的任务总量机器在给定时间内完成的任务总量流水线技术(流水线技术(pipeliningpipelining))::允许在一个机器周期内,取指、译允许在一个机器周期内,取指、译码、执行的步骤重叠执行码、执行的步骤重叠执行。

是增加计算机吞吐量的一种方法是增加计算机吞吐量的一种方法 其他体系结构 2. 2. 多处理器计算机多处理器计算机      流水线技术是迈向并行处理技术(流水线技术是迈向并行处理技术(parallel processingparallel processing)的第一步)的第一步真正的并行处理需要多个处理单元真正的并行处理需要多个处理单元1)将多个处理单元连接到同一个主存---(1)将多个处理单元连接到同一个主存---采用多核的CPU采用多核的CPU      单指令流单数据流(单指令流单数据流(SISDSISD))      多指令流多数据流多指令流多数据流((MIMDMIMD))::不同的指令在不同的数据集上操作不同的指令在不同的数据集上操作2)将许多小型机器聚集成大的计算机---(2)将许多小型机器聚集成大的计算机---采用集群的方式采用集群的方式      单指令流多数据流(单指令流多数据流(SIMDSIMD)) 实验报告1l实验名称:使用机器语言编程实验名称:使用机器语言编程l实验内容:实验内容: 对于主存中地址为对于主存中地址为F0、、F1、、F2中的中的3个数,使用书中的个数,使用书中的机器语言编写程序:判断是否存在某一个数是另外两个数的机器语言编写程序:判断是否存在某一个数是另外两个数的和。

如存在,将此数存入地址和如存在,将此数存入地址A0中,否则地址中,否则地址20中保存中保存00. 要求写出地址、指令、指令说明要求写出地址、指令、指令说明自由设定程序的起始地址) 注意:   1.请将作业写在实验报告纸上;   2.最晚时间为11月4日   3.雷同作业会按未交对待哟。

下载提示
相似文档
正为您匹配相似的精品文档
相关文档