汇编语言与计算机系统结构
- 格式:ppt
- 大小:1.92 MB
- 文档页数:22
计算机组成与系统结构1.冯·诺依曼计算机设计思想:依据存储程序,执行程序并实现控制。
2.早期计算机由运算器、控制器、存储器、输入设备和输出设备五大部分组成。
3.软件系统爆过两大部分:系统软件和应用软件。
4.计算机的层次结构分为:微程序或逻辑硬件、机器语言、操作系统、汇编语言、高级语言、应用语言。
5.计算机系统结构、组成与实现之间的区别与联系:①计算机结构:也称为计算机体系结构,是一个系统在其所处环境中最高层次的概念;是对计算机系统中各机器级之间界面的划分和定义,以及对各级界面上、下的功能进行分配。
②计算机组成:也常译为计算机组织或成为计算机原理、计算机组成原理。
在计算机系统结构确定了分配给硬件子系统的功能及其概念之后,计算机组成的任务是研究硬件子系统各部分的内部结构和相互联系,以实现机器指令级的各级功能和特性。
③计算机实现:指的是计算机组成的物理实现,主要研究个部件的物理结构,机器的制造技术和工艺等,包括处理机、主存等部件的物理结构,器件的集成度、速度和信号。
器件、模块、插件、底板的划分与连接,专用器件的设计,电源、冷却、装配等技术。
6.Flynn分类法:按照计算机在执行程序时信息流的特征分为单指令单数据流计算机(SISD)、单指令多数据流计算机(SIMD)、多指令单数据流计算机(MISD)、多指令多数据流计算机(MIMD).7.加速比Sp=1/{(1-Fe)+Fe/Re},Fe为可改进比例,Re为部件加速比。
8.在计算机中有两种信息在流动,一种是控制流,即控制命令,由控制器产生并流向各个部件;另一种是数据流,它在计算机中被加工处理。
9.摩尔定律得以延续的理由:集成电路芯片的集成度每18个月翻一番。
10.冯·诺依曼计算机的执行过程:将要处理的问题用指令编程成程序,并将程序存放在存储器中,在控制器的控制下,从存储器中逐条取出指令并执行,通过执行程序最终解决计算机所要处理的问题。
第1章汇编语言基础知识汇编语言是直接在硬件之上工作的编程语言,首先要了解硬件系统的结构,才能有效地应用汇编语言对其编程,因此,本章对硬件系统结构的问题进行部分探讨,首先介绍了计算机的基本结构、Intel公司微处理器的发展、计算机的语言以及汇编语言的特点,在此基础上重点介绍寄存器、内存组织等汇编语言所涉及到的基本知识。
1.1微型计算机概述微型计算机由中央处理器(Central Processing Unit,CPU)、存储器、输入输出接口电路和总线构成。
CPU如同微型计算机的心脏,它的性能决定了整个微型计算机的各项关键指标。
存储器包括随机存储器(Random Access Memory,RAM)和只读存储器(Read Only Memory,ROM)。
输入输出接口电路用来连接外部设备和微型计算机。
总线为CPU和其他部件之间提供数据、地址和控制信息的传输通道。
如图1.1所示为微型计算机的基本结构。
图1.1微型计算机基本结构特别要提到的是微型计算机的总线结构,它使系统中各功能部件之间的相互关系变为各个部件面向总线的单一关系。
一个部件只要符合总线结构标准,就可以连接到采用这种总线结构的系统中,使系统功能得到扩展。
数据总线用来在CPU与内存或其他部件之间进行数据传送。
它是双向的,数据总线的位宽决定了CPU和外界的数据传送速度,8位数据总线一次可传送一个8位二进制数据(即一个字节),16位数据总线一次可传送两个字节。
在微型计算机中,数据的含义是广义的,数据总线上传送的不一定是真正的数据,而可能是指令代码、状态量或控制量。
汇编语言程序设计2地址总线专门用来传送地址信息,它是单向的,地址总线的位数决定了CPU可以直接寻址的内存范围。
如CPU的地址总线的宽度为N,则CPU最多可以寻找2N个内存单元。
控制总线用来传输控制信号,其中包括CPU送往存储器和输入输出接口电路的控制信号,如读信号、写信号和中断响应信号等;也包括其他部件送到CPU的信号,如时钟信号、中断请求信号和准备就绪信号等。
第1章计算机系统结构的基本概念1.1 解释下列术语层次机构: 按照计算机语言从低级到高级的次序, 把计算机系统按功能划分成多级层次结构, 每一层以一种不同的语言为特征。
这些层次依次为: 微程序机器级, 传统机器语言机器级, 汇编语言机器级, 高级语言机器级, 应用语言机器级等。
虚拟机: 用软件实现的机器。
翻译: 先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序, 然后再在这低一级机器上运行, 实现程序的功能。
解释: 对于高一级机器上的程序中的每一条语句或指令, 都是转去执行低一级机器上的一段等效程序。
执行完后, 再去高一级机器取下一条语句或指令, 再进行解释执行, 如此反复, 直到解释执行完整个程序。
计算机系统结构: 传统机器程序员所看到的计算机属性, 即概念性结构与功能特性。
在计算机技术中, 把这种本来存在的事物或属性, 但从某种角度看又好像不存在的概念称为透明性。
计算机组成: 计算机系统结构的逻辑实现, 包含物理机器级中的数据流和控制流的组成以及逻辑设计等。
计算机实现: 计算机组成的物理实现, 包括处理机、主存等部件的物理结构, 器件的集成度和速度, 模块、插件、底板的划分与连接, 信号传输, 电源、冷却及整机装配技术等。
系统加速比: 对系统中某部分进行改进时, 改进后系统性能提高的倍数。
Amdahl定律: 当对一个系统中的某个部件进行改进后, 所能获得的整个系统性能的提高, 受限于该部件的执行时间占总执行时间的百分比。
程序的局部性原理: 程序执行时所访问的存储器地址不是随机分布的, 而是相对地簇聚。
包括时间局部性和空间局部性。
CPI: 每条指令执行的平均时钟周期数。
测试程序套件: 由各种不同的真实应用程序构成的一组测试程序, 用来测试计算机在各个方面的处理性能。
存储程序计算机: 冯·诺依曼结构计算机。
其基本点是指令驱动。
程序预先存放在计算机存储器中, 机器一旦启动, 就能按照程序指定的逻辑顺序执行这些程序, 自动完成由程序所描述的处理工作。
第一章计算机系统结构基本概念1、从(使用语言的)角度可以将系统看成是按(功能)划分的多个机器级组成的层次结构。
2、计算机系统结构的层次结构由高到低分别为(应用语言机器级,高级语言机器级,汇编语言机器级,操作系统机器级,传统机器语言机器级,微程序机器级)。
3、应用程序语言经(应用程序包)的(翻译)成高级语言程序.4、高级语言程序经(编译程序)的(翻译)成汇编语言程序。
5、汇编语言程序经(汇编程序)的(翻译)成机器语言程序。
6、在操作系统机器级,一般用机器语言程序(解释)作业控制语句。
7、传统机器语言机器级,是用(微指令程序)来(解释)机器指令。
8、微指令由(硬件)直接执行。
9、在计算机系统结构的层次结构中,机器被定义为(能存储和执行相应语言程序的算法和数据结构)的集合体。
10、目前M0由(硬件)实现,M1用(微程序(固件))实现,M2到M5大多用(软件)实现。
以(软件)为主实现的机器成为虚拟机.(虚拟机)不一定全用软件实现,有些操作也可用(固件或硬件)实现。
11、透明指的是(客观存在的事物或属性从某个角度看不到),它带来的好处是(简化某级的设计),带来的不利是(无法控制)。
12、计算机系统结构也称(计算机体系结构),指的是(传统机器级的系统结构)。
它是(软件和硬件/固件)的交界面,是机器语言汇编语言程序设计者或编译程序设计者看到的(机器物理系统)的抽象。
13、计算机组成指的是(计算机系统结构的逻辑实现),包括(机器级内的数据流和控制流)的组成及逻辑设计等。
计算机实现指的是(计算机组成的物理实现),它着眼于(器件)技术和(微组装)技术.14、确定指令系统中是否要设乘法指令属于(计算机系统结构),乘法指令是用专门的高速乘法器实现还是用加法器实现属于(计算机组成),乘法器和加法-移位器的物理实现属于(计算机实现)。
15、主存容量与编址方式的确定属于(计算机系统结构),主存是否采用多体交叉属于(计算机组成),主存器件的选定属于(计算机实现).16、设计何种系列机属于(计算机系统结构),系列机内不同型号计算机的组织属于(计算机组成).17、是否采用通道方式输入输出的确定属于(计算机系统结构),通道采用结合型还是独立型属于(计算机组成).18、对PDP—11或V AX—11来说,单总线结构属于(计算机系统结构),其机器级的I/O连接和使用方式属于(计算机组成)。
第一章计算机系统结构的基本概念1. 从使用语言的角度可以将系统看成是按功能划分的多个机器级组成的层次结构;由高到低分别为:1应用语言机器级 2高级语言机器级 3汇编语言机器级 4操作系统机器级 5传统机器语言机器级 6微程序机器级;2. 应用程序语言经应用程序包的翻译成高级语言程序;3. 高级语言程序经编译程序的翻译成汇编语言程序;4.汇编语言程序经汇编程序的翻译成机器语言程序;5.在操作系统机器级,一般用机器语言程序解释作业控制语句;6.传统机器语言机器级,是用微指令程序来解释机器指令;7.微指令由硬件直接执行;8. 在计算机系统结构的层次结构中,机器被定义为能存储和执行相应语言程序的算法和数据结构的集合体;9.透明指的是客观存在的事物或属性从某个角度看不到,它带来的好处是简化某级的设计,带来的不利是无法控制10.翻译:先用转换程序将高一级机器级上的程序整个地变换成底一级机器级上行将的程序,然后在低一级机器级上实现的技术11.解释:在低级机器级上用它的一串语句或指令来仿真高级机器级上的一条语句或指令的功能,通过高级机器语言程序中的每条语句或指令逐条解释来实现的技术;12硬件取舍原则:1应考虑在现有硬器件主要是逻辑器件和存储器件条件下,系统要有高的性能价格比;2要考虑到准备采用和可能采用的组成技术,使它尽可能不要过多或不合理地限制各种组成、实现技术的采用;3不能仅从“硬”的角度考虑如何便于应用组成技术的成果和便于发挥器件技术的进展,还应从“软”的角度把如何为编译和操作系统的实现以及为高级语言程序的设计提供更多更好的硬件支持放在首位;13. 计算机系统的设计思路:1由上往下2由下往上3由中间开始14. 软件的可移植性:指的是软件不修改或只经少量修改就可由一台机器搬到另一台机器上运行,同一软件可应用于不同的环境;15. 实现欠件移植的几个基本技术:1统一高级语言 2采用系列机 3模拟与仿真16. 为什么没有对各种应用真正通用的语言1不同的用途要求语言的语法、语义结构不同;2人们对语言的基本结构看法不一;3即使同一种高级语言在不同厂家的机器上也不能完全通用;4受习惯势力阻挠,人们不愿意抛弃惯用的语言;17 模拟:用机器语言程序解释实现软件移植的方法称为模拟;需经二重解释,速度低,实时性差模拟灵活,可实现不同系统间的软件移植,系统差异太大时效率速度急剧下降18 仿真:用微程序直接解释另一种机器指令系统的方法称为仿真;速度上损失小,但不灵活,只在差别不大的机器上使用,两种机器差别太大时,就很难仿真19 模拟与仿真的区别:仿真是用微程序解释,其解释程序存入在控制存储器中;而模拟是用机器语言程序来解释,其解释程序存放在主存中;20 并行性:把解题中具有可以同时进行运算或操作的特性;并行性包括1同时性和2并发性同时性:指两个或多个事件在同一时刻发生并发性:指两个或多个事件在同一时间间隔内发生21开发并行性途径:1时间重叠 2资源重复 3资源共享时间重叠:让多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,加快硬件周围来赢得速度;资源重复:通过得利设置硬件资源来提高可靠性或性能;资源共享:用软件方法让多个用户按一定时间顺序轮流使用同一套资源来提高其利用率,相应也就提高了系统的性能;第二章数据表示与指令系统1.数据表示:指的是能由机器硬件直接识别昨引用的数据类型;2.数据结构反映了应用中要用的各种数据元素或信息单元之间的结构关系; 数据表示是数据结构的组成元素;3.数据结构和数据表示是软、硬件的交界面;数据表示的确定实质是软、硬件的取舍;4.高级数据表示:1自定义数据表示 2微量数组数据表示 3堆栈数据表示5.标志符数据表示:将数据类型和数据本身直接联系到一起;合存于同一存储单元中6.标志符数据表示的优点:1简化了指令系统和程序设计2简化了编译程序3便于实现一至性校验4能由硬件自动变换数据类型5支持了数据库系统的实现与数据类型无关的要求6为软件调试和应用软件开发提供了支持7.标志符数据表示可能带来的问题:1每个数据字因增设标志符,会增加程序所占的主存空间2采用标志符会降低指令的执行速度8.规模机器的特征:(1)有高速寄存器组成的硬件堆栈,并附加控制电路让它与主存中的堆栈区在逻辑上构成整体,使堆栈的访问速度是寄存器,容量是主存的(2)有丰富的堆栈操作指令且功能很强,直接可对堆栈中的数据进行各种去处和处理(3)有力地支持高级语言程序的编译(4)有力地支持子程序的嵌套和递归调用9.引入数据表示的原则:(1)看系统的效率有否提高,即是否减少了实现时间的存储空间(2)看引入这种数据表示后,其通用性和利用率是否高10.浮点数尾数的下溢处理方法:1截值法 2舍入法 3恒置1法 4查表舍入法11.寻址方式:指的是指令按什么方式寻长或访问到所需的操作数或信息;12.寻址方式在指令中的两种指明方式:1 占有操作码中的某些位 2在地址码部分专门设置寻址方式位字段指明13.逻辑地址是程序员编程用的地址;物理地址是程序在主存中的实际地址;14.静态再定位:在目的程序装入主存时,由装入程序用软件方法把目的程序的逻辑地址变换成物理地址15.动态再定位:在执行每条指令时才形成访存物理地址的方法16.指令由操作码和地址码两部分构成;操作码指明操作种类和所用操作数的数据类型;地址码包括操作数的地址、地址的附加信息、寻址方式等;17.指令格式的优化:指的是如何用最短的倍数来表示指令的操作信息和地址信息,使程序中指令的平均字长最短;18.操作码的优化表示,主要是为了缩短指令字长,减少程序总位数及增加指令字能表示的操作信息和地址信息;19.哈夫曼压缩概念的基本思想:当各种事件发生的概率不均等时,采用优化技术对发生概率最高的事件用最短的位数时间来表示处理,而对出现概率较低的,允许用较长的位数时间来表示处理,这样,就会导致表示处理的平均时间的缩短;20.操作码的表示方式通常有下列三种:1固定长度编码法 2哈夫曼编码法 3扩展操作码编码法21.指令系统的设计、发展和改进上的两种不同方向:1CISC 2RISC22.CISC:进一步增强原有指令的功能以及设置更为复杂的新指令取代原先由软子程序完成的功能,实现软件功能的硬化;23.CISC复杂指令系统计算机的优化实现:1 面各目标程序的优化2 面向高级语言的优化3 面向操作系统的优化24.面向目标程序的优化1 对存贮器语言程序及其执行情况进行统计各种指令和指令串的使用频度来加以分析和改进;静态使用频度:对程序中统计出的指令及指令串使用频度着眼于减少目标程序所占用的储存空间动态使用频度:在目标程序执行过程中对指令和指令串统计出的频度着眼于减少目标程序的执行时间2 增设强功能复合指令来取代原先是由常用宏指令或子程序实现的功能,用微程序解释实现;25.面向高级语言优化实现改进尽可能缩短高级语言和机器语言的语义差距,支持高级语言编译,缩短编译程序长度和编译时间1 通过对源程序中各种高级语言语句的使用频度进行统计来分析改进;2 如果面向编译,优化代码生成来改进;3 设法改进指令系统,使它与各种语言间的语义差距都有同等的缩小;4 让机器具有分别面向各种高级语言的多种指令系统、各种系统结构;5 发展高级语言计算机或称高级语言机器26.面向操作系统的优化1 对常用指令和指令串的使用频度进行统计分析来改进;改进指令系统2 考虑如何增设专用于操作系统的新指令;改进指令系统3 把操作系统中频繁使用的对速度影响大的某些软件子程序硬化或固化,改为直接用硬件或微程序解释实现;4 发展让操作系统由专门的处理机来执行的功能分布处理系统结构;27.CISC存在的问题:1 指令系统庞大,一般在200条指令以上;许多指令功能异常复杂;2 由于许多指令的繁杂,执行速度很低;3 指令系统庞大,故高级语言编译程序选择目标指令的范围大太,难以优化生成高效机器语言程序,编译程序也太长太复杂;4 由于指令系统庞大,各种指令的使用频度都不会太高,具差别很大,其中相当一部分指令的利用率很低;28.设计RISC的原则:1 只选择那些使用频度很高的指令,再增加少量其他功能的指令,使之一般不超过100条2 减少指令系统寻址方式各类,一般不超过两种,并让全部指令都是相同的长度;3 让所有指令都在一个机器周期内完成4 扩大通用寄存器数,尽量减少访存;仅存store、取load指令访存,其他指使一律对寄存器操作;5 大多数年指令都用硬联控制实现,少数指令用微程序实现;6 精简指令和优化设计编译程序,简单有效地支持高级语言的实现;29.设计RISC结构用的基本技术:1 按RISC一般原则设计2 逻辑实现用硬联和微程序结合3 用重叠寄存器窗口4 指令用流水和延迟转移5 优化设计编译系统30.采用RISC技术带来的好处:1 简化指令系统设计,适合VLSI实现2 提高机器的执行速度和效率3 设计成本,提高了系统的可靠性4 可直接支持高级语言的实现31.RISC的不足:1 由于指令少,一条CISC指令能完成的某些功能需要多条RISC指令才能完成,加重了汇编各方程序设计的负担,增加了机器语言程序的长度,占用在座空间多,加大了指令的信息流量;2 对浮点去处执行的虚拟存储器的支持虽有很大加强,但仍显不足;3 RISC机器的编译程序比CISC的难写;第三章总线、中断与输入输出系统1.输入输出系统包括输入输出设备、设备控制器及与输入输出操作有关的软硬件2.I/O系统设计主要考虑解决好CPU、主存和I/O设备在速度上的巨大差距;3.输入输出系统发展经历了三个阶段:1程序控制I/O 2直接存储器访问 3I/O处理机方式a.通道 b.外围处理机方式4.总线类型:按信息传送方向分:1单向传输 2双向传输按用法分:1专用 2非专用相关介绍及优缺点见P635.非专用总线总线控制方式:集中式控制:总线控制机构基本上集中在一起; 分布式控制:总线控制逻辑分散在各个部件中 P646.集中式总线控制:1串行链接控制 2定时查询方式 3独立查询方式P647.集中式串行链接式的总线分配过程:1.部件发总线请求;2.总线不忙时,总线控制器返回总线响应总线可用信号;3.没发总线请求信号的部件传送总线响应信号,发的部件截留响应信号;4.截留后,发总线忙状态,撤销请求,开始占用总线;5.传送结束撤销总线忙;6.总线不忙后,撤销总线响应;8.优点: 1.选择算法简单,控制线线数少; 2.部件增加容易,可扩充性好; 3.容易通过重复设置提高可靠性;9.缺点: 1.对“总线可用”线及其有关电路的失效敏感; 2.优先级是线连固定,不灵活; 3.限制了总线的分配速度;10.集中定时查询方式的总线分配过程:1.部件发总线请求;2.总线不忙时,总线控制器的查询计数器开始计数;3.定时查询各部件;4.部件接收计数值,并判断,若与部件号一致,则发总线忙,撤销请求,并占用总线;5.总线控制器收到总线忙,停止计数,停止查询;6.传送结束撤销总线忙;11.优点: 1.优先次序可用程序控制,灵活性强; 2.可靠性高;12.缺点: 1.总线线数较多; 2.部件数受限于定时查询线线数; 3.控制较为复杂; 4.总线分配的速度不能提高;13.集中式独立请求方式的总线分配过程:1.部件发总线请求;2.总线不忙时,按某种算法,发一个总线响应;3.被响应部件发总线忙状态,撤销请求,开始占用总线;4.传送结束,撤销总线忙;5.总线不忙后,撤销总线响应;14.优点:1.总线分配速度快; 2.可用选定的方式确定响应的部件; 3.能方便的隔离失效部件的请求;15.缺点:1.控制线数量过大; 2.总线控制器要复杂的多;16.总线的传送方式分为:1同步通信 2异步通信17.同步通信:两个部件之间的信息传送是通过定宽定距的系统时标进行同步的受同步时钟的控制18.同步通信的优点:信息传送速率高,受总线的长度影响小;19.同步通信的缺点:但会因时钟在总线上的时滞而造成同步误差, 且时钟线上的干扰信号易引起误同步;20.异步通信:用于I/O总线,连接不同速度的I/O设备;又可分为a.单向控制和b.双向请求/回答控制两种1单向控制:指的是通信过程只由目的或源部件中的一个单一控制;单向控制又有源控制和目的控制两种;优点:简单,高速;缺点:未能保证下一数据传送之前让所有数据线和控制线的电平信号恢复成初始状态,从而可能造成错误;2请求/回答双向控制:由源和目共同控制;特点:增加了信号总线来回传送的次数,使控制硬件变得复杂,但它能适应各种不同速度的I/O设备,保证数据传送的正确性,有较高的数据传送率;21.数据宽度:是I/O设备取得I/O总线使用权后在一次I/O总线分配期间内,所传送数据的总量;22.数据通路宽度:数据总线的位数,是数据传送的物理宽度;即一个时钟周期所传送的信息量,它直接取决于数据总线的线数;23.总线的线数越多,成本越高、干扰越大、可靠性越低、占用的空间也越大,当然传送速度和流量也越高;为此,越是长的总线,其线数就应尽可能减少;24.减少线数的方法:1同一根线多个功能复用; 2并/串—串/并转换 3编码25.中断源:引起中断的各种事件; 中断请求:中断源向中断系统发出请求中断的申请; 中断响应:允许中断请求中断CPU现行程序的运行,转去对该请求进行预处理,包括保存好断点现场,调出有关处理该中断的中断处理程序,准备运行;26.中断分类的目的:中断源数量很多,若形成单独入口,硬件复杂,代价大,故进行分类,把性质相近的中断源归为一类;同一类中断共用一个中断入口地址,再由软件形成实际入口地址;27.中断的分类:1机器校验中断第一级:设备故障,电源故障,主存出错;2管理程序调用访管中断第二级:访管指令;3程序性中断第二级:溢出,除数为零,数据格式错;4外部中断第三级:定时器,外部信号;5输入/输出中断第四级:I/O请求;6重新启动中断第五级:启动另一个程序;28.中断分级的目的:解决多个中断请求同时发生时的响应次序问题;29.分级原则: 1同一类的优先次序由软件管理一般情况下,同类同级,不同类不同级2不同类的中断根据中断的轻重缓急分成不同的级别;30.中断嵌套原则: 1禁止同级或低级中断; 2允许高级中断;31.中断响应次序和处理次序中断响应次序用排队器硬件实现,次序是由高到低定死的,但可以根据需要用软件改变实际的中断处理完次序简称中断处理次序;中断级屏蔽位的作用:决定某级中断请求能否进入排队器只要能进入,还是按上面讲的优先级次序由高到底响应中断中断响应次序由硬件定死;而处理次序由中断屏蔽位决定;32.中断系统的功能包括:中断请求的保存与清除,确定优先级,保护断点,保护现场,中断源分析,中断处理,中断返回等;33.中断系统的软、硬件功能分配实质是中断处理程序软件和中断响应硬件的功能分配;34.中断系统的软件与硬件的功能分配主要考虑如下两个因素:1中断响应时间 2灵活性;35.通道的功能:1接受CPU的输入输出操作指令,按指令要求控制外设接受指令2从主存读取通道程序,并执行即向设备控制器发送各种指令执行程序3组织和控制数据在内存与外设之间的传送操作传送数据4读取外设的状态信息,形成整个通道的状态信息,提供给CPU或保存在主存中通道状态5向CPU发出输入输出操作中断请求中断请求36.通道的工作过程:1用户在目态中安排广义I/O指令;包括访管指令和参数2当目态程序执行到访管指令后,产生访管中断;3CPU响应中断,第一次访管态,运行管态程序;4管理程序编制通道程序;根据参数:设备号、主存地址、信息长度等通道程序放在主存中,由通道执行5执行“启动I/O”指令:选择通道,校验第一条通道指令格式,选择设备并启动通道及设备;6通道启动后,<1>CPU退出管态,运行目态程序;<2>通道与设备开始传送数据;7通道传送结束后,向CPU发I/O中断;8CPU 响应中断,第二次转管态,对刚才的通道作“善后”处理;9返回目态,运行目态程序;37. 通道的种类:(1) 字节多路通道:适用于大量的像光电机等字符类低速设备;数据宽度:单字节多设备交叉(2) 数组多路通道:适合于连接多台像磁盘等调整设备;数据宽度:定长块多设备交叉(3) 选择通道:适合于优先级高的磁盘等调整设备,让它独占通道,只执行一台通道程序;数据宽度:可变长块独占38. 通道流量:通道在数据传送期内,单位时间内传送的字节数字节传输速率;它能达到的最大流量称通道极限流量;重要参数: TS : 选择一次设备的时间; TD :传送一个字节的时间; K :定长块的字节长度; N :传送的全部字节个数;39. 通道极限流量:字节多路通道:f max ·byte = 1/TS+TD 每选择一台设备,只传送一字节 数组多路通道:f max ·block = K/TS+K ·TD= 1/TS/K+TD 每选择一台设备,传送定长K 字节 选择通道: f max ·select = N/TS+N ·TD= 1/TS/N+TD显然,若通道的TS 、TD 一定, 且N>K 时,字节多路方式工作时所能达到的极限流量最小,数组多路方式工作的居中, 选择方式工作的最大;40. 如果通道上所挂p 设备都被启动,则设备对通道要求的的实际最大流量分别为:字节多路通道应为该通道所接各设备的字节传送速率之和, 即而对于其他两种类型的通道应为所接各设备的字节传送速率中之最大的那个, 即41. 保证第j 号通道上所挂的设备在满负荷的最坏情况下都不丢失信息的条件: 设备最大流量 <= 极限流量 ∑=⋅⋅=j p i j i j byte f f 1。
第一章计算机系统结构定义计算机=软件+硬件(+网络)两种定义:定义1:Amdahl于1964年在推出IBM360系列计算机时提出:程序员所看到的计算机系统的属性,即概念性结构和功能特性定义2:计算机系统结构主要研究软硬件功能分配和对软硬件界面的确定计算机系统的多级层次模型第6级专用应用语言机器特定应用用户(使用特定应用语言)(经应用程序翻译成高级语言)第5级通用高级语言机器高级语言程序员(使用通用高级语言)(经编译程序翻译成汇编语言)第4级汇编语言机器汇编语言程序员(使用汇编语言)(经汇编程序翻译成机器语言、操作系统原语)第3级操作系统语言机器操作系统用户(使用操作系统原语)(经原语解释子程序翻译成机器语言)第2级传统机器语言机器传统机器程序员(使用二进制机器语言)(由微程序解释成微指令序列)第1级微指令语言机器微指令程序员(使用微指令语言)(由硬件译码器解释成控制信号序列)第0级硬联逻辑硬件设计员第0级由硬件实现,第1级由微程序实现,第2级至第6级由软件实现,由软件实现的机器称为:虚拟机从学科领域来划分:第0和第1级属于计算机组织与结构,第3至第5级是系统软件,第6级是应用软件。
它们之间仍有交叉。
第0级要求一定的数字逻辑基础;第2级涉及汇编语言程序设计的内容;第3级与计算机系统结构密切相关。
在特殊的计算机系统中,有些级别可能不存在。
计算机组成:是计算机系统结构的逻辑实现确定数据通路的宽度•确定各种操作对功能部件的共享程度•确定专用的功能部件•确定功能部件的并行度•设计缓冲和排队策略•设计控制机构•确定采用何种可靠性技术计算机实现:是指计算机组成的物理实现处理机、主存储器等部件的物理结构•器件的集成度和速度•专用器件的设计•器件、模块、插件、底版的划分与连接•信号传输技术•电源、冷却及装配技术,相关制造工艺及技术等计算机系统结构、计算机组成和计算机实现是三个不同的概念。
系统结构是计算机系统的软硬件的界面;计算机组成是计算机系统结构的逻辑实现;计算机实现是计算机组成的物理实现。
汇编语言程序设计教程(第3版卜艳萍)参考答案汇编语言程序设计教程(第3版)习题参考答案第1章汇编语言基础知识思考与练习1. 计算机系统分哪几个层次?简述计算机系统的硬件结构。
1)数字逻辑层 2) 微体系结构层 3) 指令系统层 4) 操作系统层 5) 汇编语言层 6) 高级语言层 7) 应用层硬件系统是指构成计算机系统的物理实体或物理装置。
它由控制器、运算器、存储器、输入设备和输出设备等部件构成。
2. 简述用汇编语言进行程序设计的必要性。
1) 程序要具有较快的执行时间,或者只能占用较小的存储容量。
例如,操作系统的核心程序段,实时控制系统的软件,智能仪器仪表的控制程序等。
2) 程序与计算机硬件密切相关,程序要直接、有效地控制硬件。
例如,I/O接口电路的初始化程序段,外部设备的低层驱动程序等。
3) 大型软件需要提高性能、优化处理的部分。
例如计算机系统频繁调用的子程序、动态连接库等。
4) 没有合适的高级语言或只能采用汇编语言的时候。
例如,开发最新的处理器程序时,暂时没有支持新指令的编译程序。
5) 汇编语言还有许多实际应用,例如分析具体系统尤其是该系统的低层软件、加密解密软件、分析和防治计算机病毒等。
3. 汉字编码主要分哪几类?每类的功能如何?汉字编码主要分为四类:汉字输入码、汉字交换码、汉字机内码和汉字字形码。
1) 为了能直接使用西文标准键盘进行输入,就必须为汉字设计相应的编码方法,即用西文标准键盘上的字母数字串表示汉字的编码。
目前,汉字输入编码方法主要有三种:数字编码、拼音编码和字形编码。
2) 汉字交换码:在不同汉字信息处理系统间进行汉字交换时所使用的编码,就是国标码。
无论采用哪种方法输入汉字,一旦输入到计算机中,必须采用统一的国标码标识每个汉字。
3) 汉字机内码是汉字在设备或信息处理系统内部最基本的表达形式,是在设备和信息处理系统内部存储、处理、传输汉字用的编码。
4) 字形编码也称为字模码,是用点阵表示的汉字字形代码,它是汉字的输出形式。
微架构、指令集架构与汇编语⾔的关系最近⽼是碰到x86 IA32 MIPS什么的对应的汇编⼜是有好⼏种,感觉很迷。
遂查资料理清这些个概念如下(⼤部分内容来⾃维基百科,如有错误谢指正!)微架构、指令集架构和汇编语⾔这三者的关系⼤概是这样的,我们分别来介绍下指令集指令就是要计算机执⾏某种操作的命令。
从计算机组成的层次结构来说指令分为微指令(微程序级的指令,属硬件)、宏指令(若⼲机器指令组成的属软件)和机器指令(⼆者之间简称指令)。
我们这⾥只讨论机器指令,每⼀条机器指令指令可以完成⼀个独⽴的算术运算或逻辑运算操作(如加减移位等)。
⼀台计算机中所有机器指令的集合指令集。
它存在于CPU内部,对CPU运算进⾏指导和优化。
从指令集来说,计算机分为我们熟悉的CISC(复杂指令集计算机)和RISC(精简指令集计算机)。
这两种的设计理念和优缺点各不相同,这⾥不再展开。
微架构将⼀种给定的指令集架构在处理器中执⾏的⽅法(指令集的实现)。
微架构,是处理器核⼼的实现⽅式,是将⼀种给定的指令集架构在处理器中执⾏的⽅法通常认为只有具备独⽴的微架构研发能⼒的企业才算具备了CPU研发能⼒。
指令集架构(处理器架构)是计算机体系结构中与程序设计有关的部分,包含了基本数据类型,指令集,寄存器,寻址模式,存储体系,中断,异常处理以及外部I/O。
指令集架构为汇编语⾔的设计师和编译器所见。
⼏种常见的架构(详细内容和异同⽹上的介绍很多)x86 的32位 -> IA32 CISC英特尔32位架构(英语:Intel Architecture, 32-bit,缩写为IA-32),常被称为i386、或x86。
由英特尔公司于1985年推出的指令集架构。
它是8086架构的延伸版本,可⽀持32位运算,⾸次应⽤在Intel 80386芯⽚中。
对许多编程语⾔来说,IA-32与i386是同义词。
x86 的64位 -> x86-64/x64/amd64 CISCIA64 是Intel与hp共同开发的此架构与x86及x86-64并不相容,操作系统与软件需使⽤IA-64专⽤版本。
计算机系统构造复习1、从使用语言角度,可将系统按功能划分为多层次机器级构造,层次构造分别是:应用语言机器级、高级语言机器级、汇编语言机器级、操作系统机器级、传统机器语言机器级和微程序序机器级。
2、各机器级的实现主要靠翻译和解释或两者结合进展。
翻译是先用转换程序将高一级机器级上的程序整个地变换成低一级机器级上等效的程序,然后再在低一级机器级上实现的技术。
解释则是在低级机器上用它的一串语句或指令来仿真高级机器上的一条语句或指令的功能,是通过对高级的机器级语言程序中的每条语句或指令逐条解释来实现的技术。
3、计算机系统构造在计算机系统机器级层次中指传统机器级的系统构造。
4、计算机系统构造研究的是软、硬件之间的功能分配以及对传统机器级界面确实定,提供机器语言、汇编语言程序设计或编译程序生成系统为使其设计或生成的程序能在机器上正确运行应看到的遵循的计算机属性。
5、计算机系统构造的属性包括:数据表示、寻址方式、存放器组织、指令系统、存储系统组织、中断机构、系统机器级的管态和用户态的定义和切换、机器级的I/O构造、系统各局部的信息保护方式和保护机构等属性。
6、机器透明性:指相对于每一机器级设计人员,都客观存在的功能或属性看不到的现象,称相对于此级设计人员来说,这此功能或属性是具有透明性,即透明的。
7、计算机组成指的是计算机系统构造的逻辑实现,包括机器级部的数据流和控制流的组成以及逻辑设计等。
它着眼于机器级部各事件的排序方式与控制机构、各部件的功能及各部件间的联系。
8、计算机组成设计要解决的问题是在所希望到达的性能和价格下,怎样更好、更合理地把各种设备各部件组织成计算机,来实现所确定的系统构造。
9、当前,计算机组成设计主要是围绕提高速度,着重从提高操作的并行度、重叠度,以及功能的分散和设置专用功能部件来进展的。
10、计算机组成设计要确定的方面一般应包括:数据通路宽路、专用部件的设置、各种操作对部件的共享程度、功能部件的并行度、控制机构的组成方式、缓冲和排队技术、预估预判技术、可靠性技术等。
第一章1、计算机系统多级层次结构从高到低:(6级)应用程序计算机、高级语言、汇编语言、操作系统、机器语言、微机程序控制、(0级)硬联逻辑计算机。
第0级由硬件实现,第1级由微程序(固件)实现,2—6级机器由软件实现。
2、透明性现象:一种本来存在的有差异的事物或属性,从某种角度来看似乎不再存在。
3、计算机组成是计算机系统的逻辑实现;计算机实现是计算机组成的物理实现。
4、计算机系统结构是计算机系统的软、硬件的界面;系统结构、组成和实现所包含的具体内容第随不同机器而变化的,且三者之间的界限越来越模糊。
5、系统结构分类①按“流”分:SISD单指令流单数据流,SIMD单指令流多数据流,MISD多指令流单数据流,MIMD多指令流多数据流。
Flynn分类法:按指令流(机器执行的指令序列)和数据流(指令流调用的数据序列,include输入数据和中间结果)的多倍性(指在系统最受限制的原件上同时处于同一执行阶段的指令或数据的最大可能个数)概念进行分类。
缺点:对于标量及向量流水计算机应属于哪一类系统,不是很明确。
②按“并行级”和“流水线”分类:程序控制部件PCU的个数是K,算术逻辑部件ALU/处理部件PE的个数是d,每个ALU包含基本逻辑线路ELC 的套数是w。
T系统型号=(k,d,w)。
③按“并行度”分类:WSBS字串位串,WPBS字并位串,WSBP字串位并,WPBP字并位并。
6、*Amdahl定律:系统中某一部件由于采用某种更快的执行方式后整个系统性能的提高取决于这种执行方式的使用频率或占总执行时间的比例。
实际上定义了加快某部分功能处理后,整个系统所获得的性能改进或执行时间的加速比的大小。
加速比与两个因素有关:一是计算机执行某个人物的总时间中可被改进部分的时间所占的百分比,Fe=可改进部分占用的时间/改进前整个任务的执行时间,它总小于1;二是改进部分采用改进措施后比没有采用改进措施前性能提高倍数,Se=改进前改进部分的执行时间/改进后改进部分的执行时间,它总大于1。
第 1 章计算机系统结构的基本概念1. 什么是计算机系统的多级层次结构?第 6 级L6:应用语言虚拟机第 5 级L5:高级语言虚拟机第 4 级L4:汇编语言虚拟机第 3 级L3:操作系统虚拟机第 2 级L2:机器语言(传统机器级)第 1 级L1:微程序机器级从计算机语言的角度,把计算机系统按功能划分成以下多级层次结构:2. 硬件和软件在什么意义上是等效的?在什么意义上是不等效的?硬件和软件在功能实现上是等效的,即一种功能可以由软件实现,也可以由硬件实现。
在实现性能上是不等效的。
软件实现的优点是设计容易、改进简单;硬件实现的优点是速度快。
3. 经典计算机系统结构的实质是什么?计算机系统中软、硬件界面的确定,其界面之上的是软件的功能,界面之下的是硬件和固件的功能。
4. 语言实现的两种基本技术是什么?翻译和解释是语言实现的两种基本技术。
它们都是以执行一串N级指令来实现N+1 级指令,但二者存在着差别:翻译技术是先把N+1 级程序全部变换成N级程序后,再去执行新产生的N级程序,在执行过程中N+1 级程序不再被访问。
而解释技术是每当一条N+1 级指令被译码后,就直接去执行一串等效的N 级指令,然后再去取下一条 N+1级的指令,依此重复进行。
在这个过程中不产生翻译出来的程序,因此解释过程是边变换边执行的过程。
5. 对于通用寄存器型机器来说,机器语言程序设计者所看到的计算机的属性主要有哪些?(1)数据表示(2)寻址规则(3)寄存器定义(4)指令集(5)中断系统(6)机器工作状态的定义和切换(7)存储系统(8)信息保护(9)I/O 结构6. 什么是软件兼容?软件兼容有几种?其中哪一种是软件兼容的根本特征?同一个软件可以不加修改地运行于系统结构相同的各档机器上,而且它们所获得的结果一样,差别只在于运行时间的不同。
软件兼容分为向上兼容、向下兼容、向前兼容和向后兼容。
其中向后兼容是软件兼容的根本特征。
7. 什么是系列机?它的出现较好地解决了什么矛盾?系列机是指在一个厂家生产的具有相同的系统结构,但具有不同组成和实现的一系列不同型号的机器。
计算机系统结构__《张晨曦、王志英》课后习题参考答案第1章计算机系统结构的基本概念1.1 解释下列术语层次机构:按照计算机语言从低级到高级的次序,把计算机系统按功能划分成多级层次结构,每一层以一种不同的语言为特征。
这些层次依次为:微程序机器级,传统机器语言机器级,汇编语言机器级,高级语言机器级,应用语言机器级等。
虚拟机:用软件实现的机器。
翻译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序,然后再在这低一级机器上运行,实现程序的功能。
解释:对于高一级机器上的程序中的每一条语句或指令,都是转去执行低一级机器上的一段等效程序。
执行完后,再去高一级机器取下一条语句或指令,再进行解释执行,如此反复,直到解释执行完整个程序。
计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。
在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。
计算机组成:计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。
计算机实现:计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。
系统加速比:对系统中某部分进行改进时,改进后系统性能提高的倍数。
Amdahl定律:当对一个系统中的某个部件进行改进后,所能获得的整个系统性能的提高,受限于该部件的执行时间占总执行时间的百分比。
程序的局部性原理:程序执行时所访问的存储器地址不是随机分布的,而是相对地簇聚。
包括时间局部性和空间局部性。
CPI:每条指令执行的平均时钟周期数。
测试程序套件:由各种不同的真实应用程序构成的一组测试程序,用来测试计算机在各个方面的处理性能。
存储程序计算机:冯·诺依曼结构计算机。
其基本点是指令驱动。
程序预先存放在计算机存储器中,机器一旦启动,就能按照程序指定的逻辑顺序执行这些程序,自动完成由程序所描述的处理工作。