【精品】asp基于bs网上计算机组成原理教学管理系统(开题报告+源代码+论文)
收藏
资源目录
压缩包内文档预览:
编号:1638014
类型:共享资源
大小:7.37MB
格式:RAR
上传时间:2017-08-30
上传人:机****料
认证信息
个人认证
高**(实名认证)
河南
IP属地:河南
50
积分
- 关 键 词:
-
精品
asp
基于
bs
网上
计算机
组成
原理
教学管理
系统
开题
报告
讲演
呈文
源代码
论文
- 资源描述:
-
【精品】asp基于bs网上计算机组成原理教学管理系统(开题报告+源代码+论文),精品,asp,基于,bs,网上,计算机,组成,原理,教学管理,系统,开题,报告,讲演,呈文,源代码,论文
- 内容简介:
-
计算机组成与 系统结构 (第 3版 ) 王爱英 主编 侯雪亚 算机系统概论 计算机组织和结构 汇编语言 计算机系统的层次结构 2 织和结构 计算机结构( : 对程序员可见的系统属性。 属性:指令集、表示各种数据类型的比特数、I/存访问技术等 对系统程序员所能见到的计算机硬件特性 计算机组织( 实现结构规范的操作单元和它们之间的连接。 属性:控制信号、接口、使用的存储技术等。 计算机硬件的具体实现 3 织和结构 区分: 指令系统中的指令有无是结构问题,如何实现则是组织问题。 例 :有 /无乘法指令是结构问题 ,确定需要乘法指令后 ,用何种方法进行乘法是组成问题 联系: 技术的更新不仅影响了组织,还导致了更丰富和更强大的结构。 4 人类相互交流信息所用的语言称为 自然语言 和自然语言接近,并能为计算机接受的语言,称为计算机的 高级语言 。 通用计算机不会直接执行用高级语言编写的程序,而是先将其翻译成机器能执行的语言,称为 机器语言 (由二进制代码表示的指令组成 ),再在机器上运行。 用二进制码表示的机器语言编写程序,工作量大,容易出错。出现了符号式程序设计语言,称为 汇编语言 。用汇编语言编写程序后,依靠计算机将它翻译成机器语言 (二进制代码 ),然后再在计算机上运行。这个翻译过程是由 汇编程序 实现的。 5 解题的过程可归结为: (1) 程序员用高级语言编写程序; (2) 将程序与数据输入计算机,并由计算机将程序翻译成机器语言程序,保存在计算机的存储器中; (3) 运行程序,输出结果。 数据或指令以二进制代码形式存放在存储器中。存储器分成一个个单元,每个单元有自己的编号,称为该单元的 地址 。 6 程序是由指令组成的,计算机执行程序的过程,就是按照给定次序执行一组指令的过程。一条指令通常分成两部分: (1) 操作码 规定该指令执行什么样的运算 (或操作 ) 。 (2) 地址码 规定对哪些数据进行运算,通常表示的是数据地址。 7 中央处理器 成运算器和控制器两部分。 输入设备 用来输入原始数据和处理这些数据的程序。 输出设备 用来输出计算机的处理结果。 存储器 用来存放程序和数据,是计算机各种信息的存储和交流中心。 各部件间来往的信号可分成三种类型,即地址、数据和控制信号。通常这些信号是通过 总线 传送的。 8 图 总线连接的计算机框图 9 控制总线送到存储器和输入输出设备,控制这些部件完成指定的操作。 与此同时, 其他设备 )经地址总线向存储器或输入输出设备发送地址,使得计算机各个部件中的数据能根据需要互相传送。 输入输出设备和存储器有时也向 现代计算机还允许输入输出设备直接向存储器提出读写要求,控制数据传送。 10 算机系统的层次结构 层次结构划分的目的 “机器”只对一定的观察者而存在。它的功能体现在广义语言上,能对该语言提供解释手段,如同一个解释器,然后作用在信息处理和控制对象上。 在某一层次的观察者看来,他只是通过该层次的语言来了解和使用计算机,不必关心在内层的那些机器是如何工作和如何实现各自功能的。 11 算机系统的层次结构 层次划分方法 第 6 级:应用程序 用户第 5 级:高级语言计算机 高级语言程序员第 4 级:汇编语言计算机 汇编语言程序员第 3 级:操作系统 操作员第 2 级:机器语言计算机 机器语言程序员第 1 级:微程序控制 逻辑设计员第 0 级:硬联逻辑 硬件维护员设计员12 算机系统的层次结构 计算机系统的多级层次结构 高级语言机器 汇编语言或 中间语言机器 操作系统 语言机器 机器语言机器 本级语言程序经编译程序 翻译 成机器语言程序或操作系统语言 虚拟机器 般用机器语言解释操作 系统语言 由硬件或微程序直接执行 机器语言 高级语言程序经编译程序 翻译 成汇编语言或中间语言程序 虚拟机器 拟机器 际机器 译程序:全部翻译,执行 解释程序:一句句地翻译执行 13 算机的发展简史 1943年启动该项目 ,1946年建成 ; 是一台十进制而非二进制的机器 ; 运算速度 :5000次加法 /秒 存储容量太小,只能存 20个字长为 10位的十进制数 手动编程 通过设置开关和插拔电缆实现 最初建造的原目的是计算导弹的射程 ,但第一项任务是用于氢弹的计算 表明了其通用性的特点 . 14 算机的发展简史 945年提出了“程序存储概念” ,并于 1946年提出一种新的程序存储计算机 虽然到 1952年仍未完成 ,但却是以后的通用计算机的原型 . 计算机由运算器 ,控制器 ,存储器 ,输入设备和输出设备组成 采用存储程序的方式 ,程序和数据放在同一个存储器中 ,指令和数据一样可以送到运算器运算 ,即由指令组成的程序是可以修改的 . 能够操纵二进制数的算术逻辑运算单元( 指令由操作码和地址码组成 . 指令在存储器中按执行顺序存放 ,一般顺序执行但也可按运算结果或外界条件而改变 . 机器以运算器为中心 (现在以存储器为中心 ). 15 算机的发展简史 主存储器、运算器、控制器、输入 /输出设备 行算术运算和逻辑运算。 存储器用来存放程序和数据,是计算机各种信息的存储和交流中心。 控制器主要用来实现程序的自动执行。 输入设备用来输入原始数据。 输出设备用来输出计算机的处理结果。 16 算机的发展简史 加器; 商寄存器 储器缓冲寄存器; 令缓冲寄存器; 序计数器; 令寄存器; 址寄存器; 17 算机的发展简史 18 算机的发展简史 21条指令 数据传输( 7条) 无条件转移( 2条) 条件转移( 2条) 算术运算( 8条) 地址修改( 2条) 19 算机的发展简史 晶体管时代 1947年 据设备公司), 1957年成立,生产的第一台计算机 0 算机的发展简史 094计算机结构 : 采用了数据通道和多路器 21 算机的发展简史 集成电路时代 1958年发明了现了微电子学。 摩尔定律: 70年代以来,芯片上的晶体管数每 18个月翻一番 22 算机的发展简史 60: 1964年,发布 60 与 000系列不兼容。 60系列的关键特征 0/40/50/65/77 相同或相似的指令集 相似或相同的 系列成员指令执行的速度从低到高 更多的 I/ 更大的内存容量 成本增加 23 算机的发展简史 与 60同一年发布,但前者的价格为几十万美圆,后者仅为 控制台控制器 存 I/. I/24 算机的发展简史 展 8080:第 1个通用微处理机 ,8位。 8086:比 8080强大的 16位机 ,支持指令高速缓冲或队列 . 80286:8086的扩展 ,寻址达 16不是 1 80386:32位微处理机 ,其复杂性和功能可与以前的大型机和小型机相比 . 80486:采用了复杂切功能强大的高速缓冲技术 ,以及复杂的指令流水线技术 . 用了超标量技术 ,允许多条指令并行执行 . 续发展 采用了寄存器重命名、转移预测、数据流分析和推测执行等技术 . :用于有效处理视频、音频和图形数据的 :新的浮点指令 ,以支持三维图形软件 :使用 64位组织结构 25 算机的发展简史 1975年 ,0年推出了 801克利同时业推出了 ). 1986年 ,在工业界成功 . 1990年 ,000类 1993年 ,601(32位 ):为了尽快推向市场 . 1994年 ,603:面向低端台式机和便携机 . 1994年 ,604:面向台式机和低端服务器 ,使用了超标量技术 ,620(64位 ):面向高端服务器 . 1997年 ,740/750主芯片内两级高速缓存 1999年 ,26 算机的类型 大型机 巨型机 小型机 微型机 工程工作站 联机系统和计算机网络 27 算机的应用 科学计算 数据处理 计算机控制 计算机辅助设计 /计算机辅助制造( 人工智能 28 作业: 1.8 计算机科学与工程学院 指令系统 指令格式 指令操作码的扩展 2 指令系统的发展 指令:指示计算机完成特定功能的命令 指令系统:一台计算机的指令格式及其所有指令的集合 分立元件的计算机指令系统较简单,指令少,寻址方式简单 集成电路的计算机指令多达一 ,二百条 ,寻址方式也趋于多样化 为了减少软件的开发费用 ,希望软件兼容 ,出现了系列机 ,例如 60系列 ,现在的微机也是如此 ,8086,286,386,486,一个系列有多种型号 ,各型号的组织和性能可以有很大差异 ,系列机解决软件兼容问题的必要条件是该系列机有共同的指令集 ,而且新机种的指令系统一定包含旧机种的所有指令 3 指令系统的发展 指令系统的改进是围绕着缩小指令与高级语言的语义差异以及有利于操作系统的优化而进行的 科学计算中需要浮点运算指令 ,高级语言中的 为了便于程序嵌套 ,需要 操作系统需要控制系统状态的特权指令和多道程序 ,多处理机系统的专用指令 指令系统太复杂也会带来一些不利的因素 ,如设计周期长 ,正确性难以保证 ,不易维护 ;此外 ,实验证明 ,在复杂指令系统中 ,算术 数据传送 ,转移和子程序调用等基本指令是经常使用的 ,其他的复杂指令的利用率很低 ,于是 ,提出了精简指令系统计算机 ( 4 指令格式 一条指令必须包含下列信息 : 操作码 :操作的性质和功能 操作数的地址 操作结果的地址 下一条指令的地址 总之 ,指令中包含操作码和地址码 5 指令格式 地址码的设计 四地址格式: (实际不用 ) 操作码 第 1操作数地址 第二操作数地址 结果操作数地址 下一条指令地址 ( =下一条指令地址 三地址格式: (P(1 二地址格式: (P(1 单地址格式: 1)(1 零地址格式: 指令格式 零地址指令 只有操作码 ,可能无需任何操作数 ,或所需的操作数是默认的 一地址指令 指令中只给出一个地址 , 既是操作数地址 ,又是操作结果的地址 加 1,减 1指令 ,移位指令 . 一个操作数在地址中 ,另一个操作数(操作结果 )将在默认的累加器中 . 二地址指令 (微机中最常用 ) 一个操作数的地址 二个操作数和操作结果的地址 三地址指令 一个操作数的地址 二个操作数的地址 作结果的地址 7 指令格式 完成 Y=(A B) (C D E) 指令 注释 , A, B Y A B , D, E T D E , T, C T T C , Y, T Y Y T (a)三地址指令 指令 注释 , A Y A , B Y Y B , D T D , E T T E , C T T C , T Y Y T (b)二地址指令 指令 注释 D E C Y A B Y Y c)单地址指令 8 指令格式 多地址指令 用于字符串处理指令 ,向量 ,矩阵运算指令 一般小型 ,微型计算机采用零地址 ,一地址 ,二地址指令 ;大型 ,中型计算机采用二地址 ,三地址 ,多地址指令 虽然 ,指令和数据都以二进制形式存储 ,但指令的地址由程序计数器 (定的 ,而数据的地址由指令规定的 ,在 为了程序能重复执行 ,一般要避免对指令的修改 则按出错处理 9 指令操作码的扩展 等长编码 简化硬件设计,减少指令译码时间 70 =8 256条指令 不等长编码 对于一部分不需要某个地址码的指令 ,把它们的操作码扩充到该地址字段 ,这样既能充分利用指令的各个字段 ,又能在不增加指令长度的情况下扩展操作码的长度 ,使它能表示更多的指令 . 15/15/15扩展法 8/64/512扩展法 码法 10 15/15/15扩展法 机器字长位 16位,设计一个具有 15条三地址指令、15条双地址指令、 15条单地址指令和 16条零地址指令的指令系统。 (保留一个码点 ) 0000 110 111 0000 111 1110 111 1111 0000 111 1111 1110 111 1111 1111 0000 1111 1111 1111 1111 5条三地址指令 15条二地址指令 15条单地址指令 16条零地址指令 11 8/64/512扩展法 机器字长位 16位,设计一个具有 8条三地址指令、64条双地址指令、 512条单地址指令和 8192条零地址指令的指令系统。 (保留一位标志位 ) 0000 111 000 0000 011 1111 100 0000 0000 101 1111 1111 110 0000 0000 0000 1111 1111 1111 1111 条三地址指令 64条二地址指令 512条单地址指令 8192条零地址指令 12 码法 基本思想 指令使用频度的不一致性; 信息量的概念 定义:信息量 = 比特 ), 指令 ( n* 该程序中的全部信息量为: ( n*, i=1m 系统平均信息量(熵) H=全部信息量 /n= ( , (比特 ) 13 码实现 对出现频度高的信息单元,用较短的位数表示,从而达到构成的指令系统的平均码长最短。即: L= (Pi*其中, 实现: 按概率分布情况,构成一棵 后从树根沿着树枝到达信息单元(指令出现的概率点),在每个分枝上、下(或左、右)写上 0和 1,直到全部编码完毕; 指令编码为:从树根开始,沿着树枝写出各个信息单元的全部代码。 14 指令操作码的扩展举例 某机器共有 7条指令,其使用统计频度如下,求出该系统的平均信息量(最短平均码长),若采用定长编码,则系统的信息冗余量为多少? 指令 使用频度 2 3 4 5 6 7 : H=( (比特 ) = ( 2* 平均码长 L= (Pi*=2*(4*(余量 =(00%=6 4 3 2 1 1 1 1 1 1 0 0 0 0 0 0 *6*令 H 码 操作码 定长码 00 0000 0 1 00110 10 010110 1100 0111110 1101 10011110 1110 10111111 1111 1% 11% 34%编码16 指令操作码的扩展举例 某机器共有 6条指令,其使用统计频度如下,求出该系统的平均信息量(最短平均码长),若采用定长编码,则系统的信息冗余量为多少? 指令 使用频度 2 3 4 5 6 : H=( i )=用定长编码,则需要 3位码长 故,信息冗余 =(3*100% =17 指令操作码的扩展举例 5 4 3 2 1 0 0 0 1 1 1 1 1 0 编码: 指令 操作码 码长 01 2 11 2 10 2 001 3 0001 4 0000 4 平均码长 L= (Pi*=余量 =(00%=2% (3*100%=18 指令长度与字长的关系 字长是指计算机能直接处理的二进制数据的位数 字长决定了计算机的运算精度 地址码长度决定了指令直接寻址能力 扩大寻址能力的方法 : 通过增加字长来增加地址码的长度 0386,从 16位扩展到 32位 . 采用地址扩展技术 ,用基地址加位移量来增加地址码的长度 086使用了段寄存器 ,寻址范围从 64M 为了便于处理字符数据和尽可能地充分利用存储空间一般机器的字长是字节长度的 1,2,4,或 8倍 指令的长度主要取决于操作码的长度 ,操作数地址的长度和操作数地址的个数 操作数地址的长度及指令格式不同 ,各指令的长度不是固定的 . 指令的长度与机器的字长没有固定的关系 ,指令长度可以小于或等于字长 ,也可以大于字长 . 19 指令系统中的操作数类型 数值:计算机中的数值是受限的 ,程序员必须理解舍入 ,上溢与下溢的意义 整数或定点数、浮点数、十进制数 字符 文本或字符串, 地址:地址也是数据的一种形式 ,多数情况下 ,必须完成某些计算机后 ,才能确定主存或虚存地址 ,地址被看成无符号数 ,在相对转移指令中 ,地址 (偏移量 )看成带符号数 逻辑数据 将一个 位项组成,每项有值 0或 1,数据以这种方式看待时就称为逻辑数据。 20 存储器中数据的存放 目前计算机所用的数据字长一般为 32位 为便于硬件实现 ,一般要求多字节数据对准边界 ,如下图 则填充一个至多个空白字节 . 半字地址的最低位恒为 0,字地址的最低两位恒为 00,双字地址的最低三位恒为 000. 字 (地址 0) 字 (地址 4) 半字 (地址 10) 半字 (地址 8) 字节 (地址 15) 字节 (地址 14) 字节 (地址 13) 字节 (地址 12) 字节 (地址 19) 字节 (地址 18) 字节 (地址 17) 字节 (地址 16) 半字 (地址 22) 字节 (地址 21) 字节 (地址 20) 地址 0 4 8 12 16 20 21 存储器中数据的存放 有的计算机不要求对准边界 ,但可能增加访问存储器次数例 ,访问指令所要求存取的数据 (一个字 ),可能在两个存储单元中 ,因此需要两次访问存储器 ,而且还要对高低字节的位置进行调整 . 字 (地址 2) 半字 (地址 0) 字节 (地址 7) 字节 (地址 6) 字 (地址 4) 半字 (地址 10) 半字 (地址 8) 地址 0 4 8 22 两种字节次序 按字节编址的双字数据的两种字节次序 : (1)低字节为低地址 ,“小端”排序 ( (2)高字节为低地址 ,“大端”排序 (地址 字节次序 0 3 2 1 0 4 7 6 5 4 字地址 字节次序 0 0 1 2 3 4 4 5 6 7 23 两种字节次序举例 a; /0 字 / b; /0字 c; /0字 d7; /A,B,C,D,E,F,G 字节阵列 e; /0 半字 f; /0字 s; 24 23 22 21 08 04 14 13 12 11 00 D C B A 14 34 33 32 31 10 28 27 26 25 0C 64 63 62 61 20 52 51 1C G F E 18 大端次序的存储器中位序 25 26 27 28 08 04 11 12 13 14 00 小端次序的存储器中位序 20 1C 18 61 62 63 64 51 52 G F E D C B A 14 31 32 33 34 10 21 22 23 24 0C 25 两种字节次序的同异点 相同点 每个数据项有同样地址 ,例如十六进制值 2122232425262728的双字的地址是 08 在任何一个给定的多字节标量值中 ,小端结构的字节排序是大端结构的反序 ,反之亦然 . 端序不影响结构中的数据项次序 相异点 字符串分类 :比较整数排列的字符串时 ,大端机器更容易些 十进制 /大端容易 一致的次序 :大端机器以同样的次序存储它的整数和字符串 整数地址转换 :大端机器转换 32位整数地址到 16位整数地址时 ,它必须完成加法 ,以便使用最低有效字节 算术 :采用小端风格完成高精度算术更容易些 ,不必找到最低有效字节和反向移动 总之,大端机器处理字符串比较方便,小端机器处理数值比较方便 26 寻址方式 常用的寻址技术 方式 算法 优点 缺点 直接 简单 地址范围有限 寄存器 无存储器访问 地址范围有限 间接 A) 大的地址范围 多重存储器访问 寄存器间接 R) 大的地址范围 额外地址访问 立即 操作数 =A 无存储器访问 操作数大小受限 堆栈 顶 无存储器访问 应用有限 偏移 +(R) 灵活 复杂 偏移是指基址寻址 ,变址寻址 ,相对寻址 A=指令中地址字段内容; 效地址 27 寻址方式图示 指令 A 存储器 操作数 直接寻址 指令 R 操作数 寄存器组 寄存器寻址 指令 R 寄存器组 存储器 寄存器间接 指令 A 存储器 操作数 间接寻址 指令 操作数 立即寻址 指令 隐 含 堆栈 堆栈寻址 栈顶 28 偏移寻址 基址寄存器寻址 ( 址寄存器值 +偏移量 变址 ( R)+偏移量 R (R)1 (自动增量或自动减量 ) 相对寻址( C+偏移量 (用于转移指令 ,可实现浮动程序 ,位移量可正可负 ,通常用补码表示 .) A 指令 寄存器组 存储器 29 方式 算法 立即寻址 操作数 =A 寄存器寻址 偏移量寻址 A 基址寻址 (B) 基址带偏移量寻址 (B)+A 比例变址带偏移量寻址 (I) S+A 基址带变址和偏移量寻址 (B)+(I)+A 基址带比例变址和偏移量寻址 (I) S+(B)+A 相对寻址 A 注: 性地址 (X)= 寄存器 序计数器 A=指令地址字段的内容 R=寄存器 B=基址寄存器 I=变址寄存 S=比例因子 30 指令类型 指令系统的设计是计算机系统设计中的一个核心问题 而且直接影响的编写操作系统和编写编译程序的难易程度 ,换一种说法 ,指令集定义了 对 时,指令集也是程序员控制 此设计指令集时应考虑程序员的要求。 最基础的设计内容: 操作清单:提供多少和什么样的操作; 数据类型:对几种数据类型完成操作; 指令格式:指令的位数、地址的数目等等; 寄存器:能被指令访问的 一台计算机最基本的 ,必不可少的指令是不多的 ,有相当一部分指令是为了提高程序的执行速度或便于程序员编写程序而设置的 . 指令系统的有效性还表现在用它所编制的程序占用的存储器空间小 . 31 指令系统设计原则 指令系统设计原则 完整性:作为通用计算机所应该具备的基本指令种类 . 有效性:指令的执行速度要快 ,使用的频度要高。对某些复杂 ,低速的指令设置要反复比较用硬件还是用软件(子程序 )来实现 ,还是硬件提供必要的支持。 规整性: 对称性:可能的话,对操作和寄存器做同等的规定。例,反减指令,反除指令。 均齐性:指令与数据格式都是字节的整数倍。对操作和数据类型 做同等的规定。 正交性:指令中各个不同含义字段之间,在编码时应互相独立,互不相关。例,地址的计算与操作码无关。 兼容性:以前的指令集只能是当前指令集的子集 总之,要从硬件 (机器制造者 ),软件 (系统程序员 )和用户三方面综合考虑 ,兼顾速度 ,价格和灵活性 32 指令的分类及功能 算术逻辑运算指令 进行定点数加减乘除运算 ,与或反逻辑运算 ,位测试 ,位清除等 有 Z(结果为 0),N(结果为负 ),V(结果溢出 ),C(有进位或借位 )等标志位 . 移位操作指令 算术移位 ,逻辑移位 ,循环移位等 浮点运算指令 能进行单精度或双精度运算 十进制运算指令 数据处理中有十进制运算指令能避免频繁的二 十 ,十 二的数据转换 字符串处理指令 字符串处理指令是非数值处理指令 ,包括字符串传送 ,比较 ,查询 ,转换等指令 33 指令的分类及功能 数据传送指令 寄存器之间 ,寄存器与存储器之间 ,存储器之间的数据传送 数据传送指令一次可以传送一个数据 ,也可以传送一批数据 . 有些计算机还有数据交换指令 ,完成源操作数和目的操作数的互换 ,实现双向数据传送 34 指令的分类及功能 转移指令 无条件转移 :不受任何条件约束 ,直接把程序转移到指令所规定的目的地 ,在那里继续执行程序 条件转移 :先测试条件码 ,然后根据条件是否满足来决定是否转移 8086的 16种条件转移:有符号数用 无符号数用 转移指令的转移地址一般采用相对寻址或直接寻址 ;相对寻址方式时称为相对转移 ,移量 ;直接寻址方式时称为绝对转移 ,目标地址 35 指令的分类及功能 调用指令与返回指令 经常使用的能够独立完成某一特点功能的程序段 ,称为子程序或过程 . 过程要通过调用指令实现从一个程序转移到另一个程序的操作 返回地址一般保留于堆栈中 ,再通过子程序中的返回指令来返回原调用程序 . 36 指令的分类及功能 陷阱与陷阱指令 陷阱实际上是一种意外事故中断 ,通知 一般计算机中 ,陷阱指令作为隐含指令 ,不给用户使用 ;有些计算机中用户可使用陷阱指令或“访管”指令 ,利用它来实现系统调用和程序请求 . 37 指令的分类及功能 堆栈及堆栈操作指令 堆栈是一组连续的存储单元组成的先进后出的存储区 ,栈底是固定的 ,栈顶随着数据的入栈和出栈在不断变化 有一个寄存器或存储单元来指出栈顶的地址 ,它叫堆栈指针 ,任何堆栈操作只能在栈顶执行 堆栈结构计算机中 ,堆栈用来提供操作数和保存结果的主要存储区 ;一般的计算机中堆栈主要用来暂存中断和子程序调用时的现场数据和返回地址 堆栈只有压入 (弹出 (令 , 作数地址 其操作是: (2 操作数 ( 作数地址 其操作是: ( 操作数地址; (2 堆栈用于子程序调用时参数的传递 ,特别是在不同语言程序之间相互调用过程中 ,使用堆栈来传递参数更加普遍 . 38 指令的分类及功能 堆栈的实现 栈限: 栈指针: 栈底: 栈空闲区 栈使用区 39 指令的分类及功能 输入输出 (I/O)指令 有些计算机有独立的 I/ 格式如下 其中 有些计算机采用外部设备和存储器统一编址的方法 ,外设寄存器看成是存储器的某些单元 ,任何访问存储器的指令均可访问外设 ,因此不再专设 I/ 特权指令 只能用于操作系统或其他系统软件 ,而不提供用户使用 ,多任务 ,多用户的计算机系统中 ,特权指令是必不可少的 . 有些多用户计算机系统中 ,I/ 40 指令的分类及功能 其他指令 向量指令 多处理机指令 为了管理共享的公共资源和相互通信 ,一般设置“测试与设定”或“数据交换”指令 ,这些指令的最主要特点是在执行过程中不允许打断 当访问者没有将锁打开时 ,其他处理机不得访问被锁的数据区 控制指令 等待指令 ,停机指令 ,空操作指令 ,开中断 ,关中断 ,置条件码指令 41 指令系统的兼容性 1964年 60系列机以后 ,各个计算机公司生产的同一系列的计算机尽管其硬件实现方法可以不同 ,但指令系统 ,数据格式 ,I/因而软件完全兼容 (在此基础上 ,产生了兼容机 ) 当研制该系列计算机的新型号或高档产品时 ,尽管指令系统可以有较大的扩充 ,但仍保留原来的全部指令 ,保持软件向上兼容的特点 例 086微处理器系列是完全向上兼容的 8086是 16位的微处理器 ,指令由 16字节组成 ,访存空间为 1 80286增加了存储管理和保护机构 ,访存空间为 16 80386是 32位的微处理器 ,指令由 110字节组成 ,访存空间为 4 从 80286开始 ,实模式和保护模式 微处理器自动选择实模式 ,其操作犹似一台快速的 8086,只能访问 1没发挥微处理器的全部功能 42 复杂指令系统计算机 ( 硬件成本不断下降 ,软件成本不断提高 ,在指令系统中增加更多的指令和更复杂的指令 ,来提高操作系统的效率 ,缩小指令系统和高级语言的语义差别便于高级语言的编译 ,兼容性使指令系统的指令只能扩充不能减去任意一条 ,这些计算机称为复杂指令系统计算机 ( 对 种指令的使用频率相差悬殊 ,最常用的是一些比较简单的指令 ,仅占指令总数的 20%,但在程序中出现的频率却占 80%,而较少使用的占指令总数 20%的复杂指令 ,为了实现其功能而设计的微程序代码却占总代码的 80%. 复杂的指令系统增加硬件实现的复杂性 ,增加研制时间和成本 ,很难实现流水线操作 ,降低了速度 ,指令系统复杂 ,使芯片变大印刷板变大 ,都使速度变慢 . 43 8086指令使用频度 2 4 6 操作 应用程序平均值8086指令分为 6类: 数据传送 ,算术运算 ,转移指令这三类占 90%, 其余三类占不到 10% 44 设计错误 布线错误 控制部分的芯片面积 研制周期 性能 12 12 6% 10个月 34 0 70 50% 1 0 100 53% 1 45 1983年以后 ,一些中小型公司开始推出 由于高的性能价格比 ,市场占有率不断提高 从技术发展的角度讲 , 从而提高运算速度 . 计算机执行程序所需要的时间 P=I;其中 比 0%40%,类 型 I 215 335016 优先选取使用频率最高的简单指令 ,以及很有用但不复杂的指令 指令长度固定 ,指令格式种类少 ,寻址种类少 只有取数 /存数指令访问存储器 ,其余指令的操作都在寄存器之间进行 通用寄存器数量相当多 ,算术逻辑指令操作数都在寄存器中 大部分指令在一个或小于一个机器周期内完成 以硬布线控制逻辑为主 ,不用或少用微程序控制逻辑 一般用高级语言编程 ,特别重视编译优化工作 61 实验的指令系统 数据格式:定点补码表示数据,且字长为 8位 指令格式: ( 1)算术逻辑指令: 寄存器; 的寄存器 7 6 5 4 3 2 1 0 符号 尾数 7 6 5 4 3 2 1 0 操作码 rs rd 定的寄存器 00 1 0 2 实验的指令系统 ( 2) 访存指令及转移指令 访存指令两条,存数 (取数 (转移指令两条,无条件转移 (结果为零或有进位转移 ( 目的寄存器地址 (, 可正可负 ), 7 6 5 4 3 2 1 0 00 M OP 寻址模式 M 有效地址 E 说 明 00 E=D 直接寻址 01 E=(D) 间接寻址 10 E=(D 11 E=(D 相对寻址 63 实验的指令系统 ( 3) I/入 (输出 ( 1时 ,开关组作为输入设备 0时 ,数码块作为输出设备 ( 4)停机指令 7 6 5 4 3 2 1 0 操作码 6 5 4 3 2 1 0 操作码 00 00 64 实验的指令系统 ,D,0 M 00 E ,D,0 M 01 E ,D 00 M 10 E ,D 00 M 11 或 Z=1时, E N 1 00 01 rd UT 1 01 10 rd 1 10 00 00 停机 1 11 00 OV rs,0 00 rs rd DC rs,0 01 rs rd rs+rd+BC rs,0 10 rs rd NC 0 11 rs rd ND rs,1 00 rs rd OM 1 01 rs rd RC rs,1 10 rs rd LC rs,1 11 rs rd 5 机器语言 ,汇编语言和高级语言 计算机能直接识别并执行的语言是机器语言 都必须转换成机器语言后才能执行 . 机器语言存在着可读性差 ,不易编程和不易维护等许多缺陷 ,用助记符来表示二进制码指令序列的语言 ,称为汇编语言 ,它基本上是与机器语言一一对应的 ;但汇编语言编写的程序 ,计算机不能直接识别 ,必须将它翻译成机器语言后才能执行 用汇编语言编写程序 ,同计算机的硬件结构 ,指令系统的设置关系非常密切 汇编语言的基本操作简单 ,描述问题的能力差 ,用它编写程序工作量大 ,源程序较长 编写的程序与问题的描述相差甚远 ,可读性仍然不好 依赖于计算机的硬件结构和指令系统 ,可移植性差 66 机器语言 ,汇编语言和高级语言 高级语言与计算机的营建结构及指令系统无关 ,表达方式比较接近于自然语言 ,描述问题的能力强 ,通用性 ,可读性和可维护性都很好 高级语言编写的程序经编译后比有经验的程序员用汇编语言所写的程序多占内存 2/3,速度损失一半 高级语言不能编写系统软件和设备控制软件 高级语言提供与汇编语言之间的调用接口 ,汇编语言子程序作为高级语言的一个外部过程或函数 ,利用堆栈传递参数 . 计算机科学与工程学院 央处理部件 (控制器的功能和主要组成部件 一条指令的执行过程 2 计算机信息处理过程 计算机信息处理的过程: 将数据和程序输入计算存储器中 从“程序入口”开始执行该程序 ,得到所需的结果后 ,结束运行 控制器的作用是协调并控制计算机的各个部件执行程序的指令序列 . 当机器刚加电时 , 产生一个 并从 先对各部件进行测试 ,然后自举操作系统 ,等候操作员的命令。 计算机执行指令序列 ,是不断地取指令 ,分析指令和执行指令的过程。当前正在执行的指令地址放在程序计数器 (。 计算机的工作过程描述为 : 加电 产生 执行程序 停机 停电 取指令 分析指令 执行指令 转向下一条指令 3 微机系统框图 4 控制器的功能 1. 取指令 :发出指令地址和访存控制信号 2. 分析指令 :或叫解释指令 ,指令译码 ,指出要作什么操作 ,并产生相应的操作控制命令 ;如数据在存储器中 ,需形成操作数地址 . 3. 执行指令 :根据“操作命令”和“操作数地址”形成操作控制信号序列 ,通过 ,还包括对运算结果的处理和下条指令地址的形成 . 4. 控制程序和数据的输入和输出 5. 对异常情况和某些请求进行处理 :即异常和中断的处理 . 6. 总线控制逻辑 7 控制器的基本组成 1. 程序计数器 称为指令地址寄存器。存放将要执行的下一条指令地址或通过 形成下一条指令地址 ,或转移类指令形成转移地址送往 . 指令寄存器 放当前正在执行的指令 3. 指令译码器 /操作码译码器 :对操作码进行译码 ,产生相应的控制信号 4. 脉冲源及启停线路 :产生时钟脉冲 ,是机器周期和工作脉冲的基准信号 ,启停线路保证可靠地送出或封锁时钟脉冲; . 时序控制信号形成部件 :产生相应的时序控制信号 ,并根据反馈信号调整时序控制信号 8 控制器的组成框图 9 控制器的基本概念 1. 工作脉冲:计算机的工作脉博,可通过振荡电路或门电路组成 2. 节拍:计算机每一个微操作所需的时间 3. 机器周期:也称为 指对存储器完成一个指令字的读 /写操作所需的最短时间。 4. 指令周期:指令周期是指取出一条指令并执行完所需的时间 5. 常见指令周期: 非访内存: 取指周期、执行周期 直访内存: 取指周期、寻址周期、执行周期 间访内存: 取指周期、间址周期、寻址周期、执行周期 注:一个机器周期由一个或多个节拍组成;一个节拍由一个或多个工作脉冲组成。 10 指令周期状态图 这是一条指令的执行过程:取指令,取源操作数 (可能是间接访问 ,也可能不止一个源操作数 ),操作数运算,存结果操作数 (可能是间接访问 ,也可能不止一个结果操作数 ),查询有无中断请求,中断处理 /不处理,如果不是字符串指令或向量指令则取下一条指令。 11 运算器框图 12 指令执行过程 例:有一运算器,内部结构及控制操作信号如图所示。有 8个通用寄存器 有 4个记忆运算结果的状态标志触发器 N(负)、 Z(零)、 V(溢出)、 C(进位),指令格式如下: rs,rd, 立即数或偏移量。 rd 13 加法: ( 功能:将 (的一个数与存储器中地址为 (果放在 从 分析指令。程序计数器加 1。 W/R#=0, M/1,( ; 计算操作数地址,将得到的有效地址 ( ”+”; 到存储器取操作数。 W/R#=0, M/1, ( 做加法运算。 R “+”; N,Z,V,C. 运算送结果 取数 计算地址 取指令 0 t4 计算机科学与工程学院 程序控制技术 微程序控制基本概念 微程序控制器工作原理 微程序设计 2 一 . 微程序控制的基本概念 微指令:由同时发出的控制信号所执行的一组微操作。例如: 加法指令的执行可分为:取指、计算地址、取操作数和加法运算四步,每一步都由一组微操作实现。这一组能同时执行的微操作就构成一条微指令。 微程序:微指令序列的集合。这样: 程序由指令序列组成; 指令由一个微程序实现 微程序由微指令序列实现 微指令由一组微操作实现 3 一 . 微程序控制的基本概念 控制存储器( 简称控存,用于存放微程序的存储器。 主要存放控制命令 (信号 )与下一条执行的微指令的地址 (简称为下址 ) 一般计算机的指令系统是固定的,所以实现指令系统的微程序也是固定的。于是控制存储器可以用只读存储器实现。 由于机器内控制信号数量比较多,再加上决定下址的地址码的宽度,所以控存的字长比机器字长要长得多。 4 一 . 微程序控制的基本概念 控制存储器与主存储器的关系 控制存储器与主存储器都是存储器,但由于其所处的位置和存放的内容不一致,故用不同的名称表示。 控制存储器存放微程序,存放的是微机指令集中每一条指令所对应的微程序的集合。使用只读存储器。字长不一定是字节的整数倍,字长比机器字长长。 主存存放系统程序和用户程序。存放的是机器指令和数据。可以使用 长是字节的整数倍。 5 二 . 实现微程序控制的基本原理 1. 控制信号 序号 控制信号 功能 序号 控制信号 功能1 指令地址送地址总线 13 行加法运算2 移地址送 4 行减法运算3 程序计数器加 1 15 行逻辑乘运算4 即数或位移量送 6 B 指令到指令寄存器 17 算结果送通用寄存器6 8 算结果送数据寄存器7 9 算得的有效地址送地址寄存器8 存器地址送通用寄存器 20 址寄存器内容送地址总线9 rs, 存器地址送通用寄存器 21 址总线上地址有效10 ( 存器内容送 2 M/问存储器或 I/ 存器内容送3 W/R 写或读12 据寄存器内容送 . 实现微程序控制的基本原理 7 二 . 实现微程序控制的基本原理 实现加法指令的微指令 ( 取指微指令 ( ); 1), M/1(22), W/R#=0(23); ); (1 ) 计算地址 微指令 ), ( 0), ); ”+”(13); 9) 取操作数 微指令 0); 1), M/1(22), W/R#=0(23); ) 加法运算和送结果微指令 ), ( 1), 2); “+”(13), 7) 8 二 . 实现微程序控制的基本原理 微指令编码格式:微指令最简单的组成形式是将每个控制信号用一个控制位来表示 ,当需要这个信号时 ,该位为 1,不需要时 ,该位为 0。称为 直接编码 。 图 3个控制信号 ,因此需 23个控制位 假设控存容量为 4K,则需 12位来表示下一个微指令地址 . 控制存储器的容量由微程序的长度决定。 1 2 23 24 35 下址字段 控制字段 9 二 . 实现微程序控制的基本原理 加法指令的微指令编码 当前正在执行的微指令从控制存储器取出后方在 微指令寄存器 (。微指令寄存器的各个控制位的输出直接连到各个控制门。 10 二 . 实现微程序控制的基本原理 微程序也可以用流程图表示 11 二 . 实现微程序控制的基本原理 2. 微程序控制器基本工作原理 : 指令取入 根据操作码进行译码 ,得到相应指令的第一条微指令的地址 指令译码部件可由 操作码作为 该单元的内容即为相应微指令在控制存储器中的地址 根据这个地址从控制存储器取出微指令,存放到微指令寄存器中。 下址 控制字段 控制存储器 指令译码 (地址码 操作码 指令寄存器 指令寄存器 形成本条指令的微程序入口地址 12 补充: 微程序设计思想,951年提出。核心部分是连接有二极管的一个阵列。 址译码 节拍 控制存储器 下址字段 控制字段 微指令地址 形成部件 状态、条件 微命令信号 3 二 . 实现微程序控制的基本原理 3. 时序信号及工作脉冲的形成 计算机中所有寄存器和触发器接受信息都要有打入脉冲,不同的需求要用不同的脉冲。 常用脉冲: 作脉冲); 作脉冲); 加信号)。 14 二 . 实现微程序控制的基本原理 微程序控制计算机的工作过程简单总结 机器加电后 ,同时在微指令寄存器内置入一条“取指”微指令 ,并将其他一些有关的状态位或寄存器置成初始状态 . 当电压达到稳定值后 ,自动启动机器工作 ,产生节拍电位和时钟脉冲 开机后的第一个机器周期信号必须完整 ,该周期的末尾 ,产生第一个工作脉冲 不断的取出指令 ,分析指令 ,执行指令 . 实现各条指令的微程序是存放在微程序控制器中 ,当前的微指令从微程序控制器中取出后放在微指令寄存器中 ,由微指令的控制字段中的各位直接控制信息和数据的传送 ,并进行相应的处理 当遇到停机指令或外来停机命令时 ,应该待当前这条指令执行完 ,至少在本机器周期结束时再停机 15 三 . 微程序设计技术 微指令编码 直接控制法 、 字段直接编译法 、 字段间接编译法 微程序流的控制 概念 产生后继微指令地址的几种方法 以增量方法产生后继微地址 非顺序执行 微指令格式 水平型微指令、垂直型微指令 微程序控制存储器和动态微程序设计 16 直接控制法 微指令的控制字段中,每一位代表一个微指令。 在设计微指令时,是否发出某个微命令,只要将控制字段中相应位置成“ 1”或“ 0”,就可以打开或关闭某个控制门。 缺点: 微命令很多,使微指令字长达到难以接受的地步。 要求机器有大容量控制存储器。 17 字段直接编译法 一条微指令所需的执行时间称为 微周期 。 如果若干个威名另在每次选择使用它们的微周期内,只有一个微命令起作用,这些微命令是 互斥 的。 把互斥的微命令编成一组,用二进制编码表示,成为微指令字的一个 字段 。 在微指令寄存器的输出端,为该字段加一个译码器。 优点 :缩短了微指令长度。 字段 1 字段 2 字段 3 字
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。