第一章计算机系统结构基础及并行性的开发.docx
- 文档编号:11042589
- 上传时间:2023-02-24
- 格式:DOCX
- 页数:17
- 大小:25.07KB
第一章计算机系统结构基础及并行性的开发.docx
《第一章计算机系统结构基础及并行性的开发.docx》由会员分享,可在线阅读,更多相关《第一章计算机系统结构基础及并行性的开发.docx(17页珍藏版)》请在冰豆网上搜索。
第一章计算机系统结构基础及并行性的开发
第一章计算机系统结构基础及并行性的开发
一、透明性
客观存在的事物或属性从某个角度看不到,简称对它是透明的。
不同机器级程序员所看到的计算技术性是不同的,它就是计算机系统不同层次的界面。
系统结构就是要研究对于某级,哪些属性应透明,哪些属性不应透明。
对计算机系统结构透明的有:
存储器的模m交叉存取、数据总线宽度、阵列运算部件,通道是采用结合型还是独立型,PDP-11系列的单总线结构,串行、重叠还是流水控制方式,Cache存储器。
对计算机系统结构不透明的有:
浮点数据表示,I/O系统是采用通道方式还是外围处理及方式,字符行运算指令,访问方式保护,程序性中断,堆栈指令,存储器最小编址单位。
从机器语言程序远看,实际上也就是从计算机系统结构看的内容。
那么,透明的有:
指令缓冲器、时标发生器、乘法器、主存地址寄存器、先行进位链、移位器,其余的均是不透明的。
因为指令缓冲器、主存地址寄存器属于计算机组成中的缓冲器技术,时标发生器、乘法器、先行进位链、移位器属于计算机组成中的专用部件设置,均与软件编程无关。
而指令地址寄存器就是程序计数器,其位数多少会影响到可执行程序的空间大小。
通用寄存器、中断字寄存器、磁盘外存、条件码寄存器均是汇编语言程序中要用到的,因此它们对汇编语言编程都是不透明的。
系列机各档不同的数据通路宽度、Cache存储器、指令缓冲寄存器属计算机组成,对系统程序员和应用程序员都是透明的。
虚拟存储器、程序状态字、启动I/O指令,对系统程序员是不透明的,而对应用程序员却是透明的。
“执行”指令则对系统程序员和应用程序员都是不透明的。
1.系统程序员不透明的应当是( B )(08.4选择)
A.Cache存储器B.虚拟存储器
C.指令缓冲寄存器D.系列机各档不同的数据通路宽度
2.对机器语言程序员透明的是(D)(08.7选择)
A.条件码寄存器B.中断字寄存器
C.通用寄存器D.主存地址寄存器
3.“中间”指的是层次结构中的软硬交界面,目前多数是在___传统机器级______与____操作系统机器级_______之间。
(08.7填空)
4.下列对系统程序员不透明的是(D)(09.4选择)
A.乘法器B.先行进位链C.指令缓冲器D.条件码寄存器
5.机器语言程序员看到的机器属性是(C)(09.7选择)
A.计算机软件所要完成的功能B.计算机硬件的全部组成
C.编程要用到的硬件组织D.计算机各部件的硬件实现
6.对系统程序员不透明的是(C)(10.7填空)
A.系列机各档不同的数据通路宽度B.Cache存储器
C.程序状态字D.指令缓冲寄存器
7.对机器语言程序员透明的是(D)(11.4选择)
A.中断字寄存器B.条件码寄存器C.通用寄存器D.乘法器
8.对计算机系统结构透明的是( A )(12.4选择)
A.机器级内部的数据流和控制流的组成B.内存的最小编址单位
C.中断的分类与分级D.信息保护方式和保护机构
二、计算机系统结构、计算机组成和计算机实现
计算机系统结构也称计算机系统的体系结构,它只是系统结构中的一部分,指的是传统机器级的系统结构。
其界面之上包括操作系统级、汇编语言级、高级语言级和应用语言级中所有软件的功能,其界面之下包括所有硬件和固件的功能。
因此,它是软件和硬件/固件的交界面,是机器语言、汇编语言程序设计者,或编译程序设计者看到的机器物理系统的抽象。
计算机组成指的是计算机系统结构的逻辑实现,包括机器级内部的数据流和控制流的组成以及逻辑设计等。
计算机实现指的是计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,器件、模块、插件、底板的划分与连接,专用器件的设计,微组装技术,信号传输,电源,冷却装置及整机装配技术等。
1.简述在设计主存系统时,计算机系统结构、计算机组成、计算机实现各需要考虑的问题。
(08.7简答)
答:
系统结构设计考虑是否要设计乘法指令。
计算机组成考虑是否要配置高速的乘法器。
计算机实现考虑的是组成高速乘法器或加法-移位器的器件集成度、类型数量以及微组装技术。
2.设计指令系统时,以乘法运算为例,简述系统结构设计、计算机组成设计、计算机实现各应考虑的问题。
(09.4简答)
答:
系统结构设计考虑是否要设计乘法指令。
计算机组成考虑是否要配置高速的乘法器。
计算机事先考虑的是组成高速乘法器或加法-移位器的器件集成度、类型数量以及微组装技术。
3.指令系统的确定属于(A)(10.7选择)
A.计算机系统结构B.计算机组成C.计算机实现D.计算机应用
4.下列属于计算机系统结构研究范畴的是(A)(11.4选择)
A.指令系统的确定B.可靠性技术
C.数据通路宽度D.乘法器的物理实现
三、器件的发展
非用户片也称通用片,其功能是由器件厂家生产时固定的,器件的用户(即机器设计者)只能使用,不能改变期间内部功能。
1.器件的发展是系统结构和组成技术发展的关键因素。
同一型号机器一般是先用__通用片_____或现场片实现,等机器成熟取得用户信任后,再改用_____用户片_________实现。
(09.4填空)
四、软、硬件的取舍
一般来说,提高硬件功能的比例可提高解题速度,减少程序所需存储空间,但会增加硬件成本,降低硬件利用率和计算机系统的灵活性及适应性,而提高软件功能的比例可降低硬件成本,提高系统的灵活性、适应性,但解题速度下降,软件设计费用和所需存储器用量要增加。
取舍原则:
(1)应考虑在现有硬件、器件(主要是逻辑器件和存储器件)条件下,系统要有高的性能价格比,主要从实现费用、速度和其他性能要求来综合考虑。
(2)要考虑准备采用和可能采用的组成技术,使之尽可能不要过多或不合理地限制各种组成、实现技术的采用。
(3)不能仅从“硬”的角度考虑如何便于应用组成技术的成果和便于发挥器件技术的进展,还应从“软”的角度把如何为编译和操作系统的实现以及如何为高级语言程序的设计提供更多、更好的硬件支持放在首位。
1.在计算机系统结构设计中,提高软件功能实现的比例可(C)(10.4选择)
A.提高解题速度B.减少需要的存储器容量
C.提高系统的灵活性D.提高系统的性能价格比
2.在计算机系统结构设计中,提高硬件功能实现的比例可(B)(11.7选择)
A.提高硬件利用率B.提高系统的运行速度
C.减少需要的存储器容量D.提高系统的性能价格比
五、计算机系统的设计方法
从多级层次结构出发,计算机系统的设计按多级层次结构的上、下、中开始设计,分别可以有“由上往下”、“由下往上”“由中间开始”3种不同的设计方法。
“由上往下”的方法先考虑如何满足应用要求,定好面向应用的那个虚拟机机器的特性和工作环境,如要用到的基本命令、指令、语句结构、数据类型、数据格式等,再逐级向下设计,每设计下一级都考虑对上一级是优化的。
这是一种环境要求比较稳定的专用机的设计方法,无法用于通用机的设计。
“由下往上”是先不管应用要求,只根据目前能用的器件,参照吸收已有的各种机器特点,将微程序机器级和传统机器级研制出来,然后,再加配适用于不同应用领域的多种操作系统和编译系统软件。
缺点是软、硬件脱节。
“从中间开始”是通用机一般采用的方法,它选择从层次结构主要软、硬界面,即在传统机器级与操作系统机器级之间进行合理的软、硬件功能分配。
它可以克服前两种设计方法中,软、硬件设计分离和脱节的致命缺点。
1.“从中间开始”设计的“中间”目前多数在( A )(08.4选择)
A.传统机器语言机器级与操作系统机器级之间
B.传统机器语言机器级与微程序机器级之间
C.微程序机器级与汇编语言机器级之间
D.操作系统机器级与汇编语言机器级之间
2.“从中间开始”设计的“中间”目前多数是在(D)(09.4选择)
A.微程序机器级与汇编语言机器级之间
B.操作系统机器级与汇编语言机器级之间
C.传统机器语言机器级与微程序机器级之间
D.传统机器语言机器级与操作系统机器级之间
3.计算机系统的设计思路中,较好的是( C )(12.4填空)
A.由上往下B.由下往上C.由中间开始D.由两边向中间
六、软件移植
实现软件移植的技术主要有:
统一高级语言、采用系列机、模拟和仿真。
用机器语言程序解释实现软件移植的方法称为模拟,用微程序直接解释另一种机器指令系统的方法叫做仿真,两者的主要区别在于皆适用的语言。
仿真使用微程序解释,其解释程序存在于控制存储器中,而模拟使用机器语言程序解释,其解释程序存在于主存中。
1.实现软件移植的途径有哪些?
各受什么限制?
(08.4简答)
答:
途径:
统一高级语言,系列机,模拟与仿真。
统一高级语言只能实现高级语言软件的移植,目前语言种类繁多,无法完全统一成一种,只能相对统一少数几种。
系列机,系列机内各档机器的结构变化不能太大到一定程度会阻碍系列机发展,只能实现结构相同或相近的机器间的汇编语言应用软件的移植。
模拟与仿真,模拟是用宿主机的机器指令解释,机器语言差别大时,速度慢;仿真用宿主机的微程序解释,当机器差异大时,仿真困难,仿真的效率和灵活性差。
2.不同系列的机器之间,实现软件移植的途径不包括(C)(08.7选择)
A.模拟B.仿真C.用统一汇编语言D.用统一高级语言
3.仿真和模拟的主要区别在于采用不同的语言进行解释。
仿真采用____微程序_______解释,其解释程序在控制存储器中,而模拟采用机器语言程序解释,其解释程序在____主存______中。
(08.7填空)
4.实现程序移植的主要途径有统一高级语言、系列机、_____模拟_____和_____仿真______。
(09.7填空)
5.简述实现软件移植的统一高级语言途径存在的问题。
(10.4简答)
答:
问题是至今虽然有上百种高级语言,但没有一种是对各种应用通用的。
第一,不同的用途要求语言的语法、语义结构不同
第二,人们对语言的基本结构看法不一
第三,即使同一高级语言在不同厂家的机器上也不能完全通用
第四,人们不愿抛弃惯用的语言,不愿抛弃长期积累的、用原有语言编写且已被实践证明是正确的软件。
6.用机器语言程序解释实现软件移植的方法称为____模拟_____;用微程序直接解释另一种机器指令系统实现软件移植的方法称为______仿真_______。
(10.7填空)
7.用______机器语言程序______解释实现软件移植的方法称为模拟;用_______微程序________直接解释另一种机器指令系统的方法称为仿真。
(11.4填空)
8.简述模拟和仿真的定义,并说明两者的主要区别。
(11.7简答)
9.实现软件移植的基本技术有___统一高级语言__、采用系列机、__模拟和仿真____。
(12.4填空)
七、并行性开发的途径
开发并行性的途径有时间重叠、资源重复和资源共享等。
时间重叠是指在并行性概念中引入时间因素,让多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,加快硬件周转来赢得速度。
资源重复是指在并行概念中引入空间因素,通过重复设置硬件资源来提高可靠性或性能。
资源共享是指软件方法让多个用户按一定时间顺序轮流使用同一套资源来提高资源的利用率,相应地也就提高了系统的性能。
1.开发计算机系统结构并行性的主要技术途径有时间重叠、____资源重复_______和____资源共享_______。
(08.4填空)
2.提高计算机系统并行性的主要技术途径有时间重叠、__资源重复___和__资源共享___。
(09.4填空)
3.开发并行性的途径有______时间重叠______、____资源重复________和资源共享等。
(11.4填空)
4.提高计算机系统并行性的主要技术途径有___时间重叠___、__资源重复____和资源共享。
(11.7填空)
5.简述开发并行性的三种途径。
(12.4简答)
答:
如前所述。
八、多机系统的耦合度
一般用耦合度反映多机系统中各机器之间物理连接的紧密度和交叉作用能力的强弱。
它可有最低耦合、松散耦合、紧密耦合之分。
1.多机系统的耦合度可以分为最低耦合、__松散__耦合和_____紧密______耦合。
(08.4填空)
九、计算机的分类
1.简述计算机系统Flynn分类法的分类角度及类别,并说明各类别的特征。
(09.7简答)
答:
单指令流单数据流:
单处理器计算机
单指令流多数据流:
阵列处理机相连处理机
多指令流单数据流:
处理机间的鸿流水和脉动阵列流水机
多指令流多数据流:
作业、任务、指令、数组全面并行的多机系统。
2.按弗林(Flynn)提出的计算机系统分类方法,多处理机属于(D)(10.7选择)
A.SISDB.SIMDC.MISDD.MIMD
3.按弗林(Flynn)提出的计算机系统分类方法,阵列处理机属于(B)(11.4选择)
A.SISDB.SIMDC.MISDD.MIMD
补充:
层次结构
计算机系统的定量设计原理(Amdahl定律)
第二章数据表示、寻址方式与指令系统
1、数据表示
数据表示指的是能有机器硬件识别和引用的数据类型,表现在它有对这种类型的数据进行操作的指令和运算部件。
高级数据表示有自定义数据表示、向量数组数据表示、堆栈数据表示。
自定义数据表示包括标识符数据表示和数据描述符两类。
为向量数组数据结构的实现和快速运算提供良好的硬件支持的方法是增设向量、数组数据表示,组成向量机。
有响亮数据表示的处理机就是向量处理机,如向量流水记、阵列机、相连处理机等。
堆栈数据结构在变异和子程序调用中很有用,为了高效实现,不少机器都设有堆栈数据表示。
有堆栈数据表示的机器称为堆栈机器。
引入数据表示的原则:
(1)看系统效率是否显著提高,包括实现时间和存储空间是否有显著减少。
(2)看引入这种数据表示后,其通用性和利用率是否提高。
1.自定义数据表示包括_____标志符______数据表示和____数据描述符_______两类。
(08.4填空)
2.系统效率是否提高是引入数据表示的一条重要原则,它表现在是否减少了实现的____实现时间_______和所需的____存储空间_______。
(08.4填空)
3.自定义数据表示又分为带____标志符数据___表示和____数据描述符___两类。
(09.4填空)
4.数据表示的含义是(D)(09.7选择)
A.数据所采用的数制和码制B.数据类型
C.浮点数的表示方式D.硬件能直接识别的数据类型
5.引入数据表示的原则,一是看系统实现软件移植的效率是否提高,即是否减少了___实现时间____和存储空间,其次是看其通用性和______利用率______是否高。
(10.7填空)
6.引入数据表示的原则,一看系统的效率是否提高,即是否减少了实现时间和___存储空间____,其次看其____通用性_____和利用率是否高。
(11.4填空)
7.自定义数据表示包括___标识符数据表示___和___数据描述符___两类。
(12.4填空)
8.简述堆栈机器(堆栈数据表示)的特点。
(10.7简答)
答:
(1)有高速寄存器组成的硬件堆栈,并附加控制电路,使它与主存中的堆栈区在逻辑上构成整体,使堆栈的访问速度是寄存器的,容量是主存的。
(2)有丰富的堆栈操作指令且功能很强,可直接对堆栈中的数据进行各种运算和处理。
(3)有力地支持了高级语言程序的编译。
(4)有力的支持了子程序的嵌套和递归调用。
9.堆栈机器(堆栈数据表示)的特点不包括( D )(12.4选择)
A.有力地支持子程序的嵌套和递归调用
B.有丰富的堆栈操作指令且功能强大
C.有力地支持高级语言程序的编译
D.访问堆栈的速度低
2、浮点数的计算
浮点数尾数的下溢处理方法:
截断法、舍入法、恒置“1”法、查表舍入法。
截断法试讲尾数超出机器字长的部分截去,实现方法简单,不增加硬件,不需要处理时间,但是误差较大,平均误差大且无法调节。
舍入法实在机器运算的规定字长之外增设一位附加位,存放溢出部分的最高位,每当进行尾数下溢处理时,将附加位加1,这种方法实现简单,增加的硬件很少,最大误差小,平均误差接近于零。
恒置“1”法是将机器运算的规定字长之最低位恒置为“1”,这种方法实现最简单,不需要增加硬件和处理时间,平均误差趋于0.主要缺点是最大误差最大,比截断法的还要大。
查表舍入法是用ROM或PLA存放下溢处理表。
ROM法速度较快,平均误差可调节到0,是最好的方法,缺点是硬件量大。
1.浮点数表示,阶基rp=2,除阶符之外的阶码位数P=2,尾数基值rm=2,除尾符外的尾数二进位位数m=4,计算非负阶、规格化、正尾数时,(08.7简单应用)
(1)可表示数的最小值和最大值;
(2)可表示数的总个数。
2.浮点数表示,阶码用二进制表示,除阶符之外的阶码位数p=3,尾数基值用十进制表示,除尾符外的尾数二进制位数m=8,计算非负阶、规格化、正尾数时,(09.4简单应用)
(1)可表示的最小尾数值;
(2)可表示的最大值;
(3)可表示的尾数个数。
3.浮点数表示的尾数的基rm=16,尾数长度p=8,可表示的规格化最大正尾数的值是(D)(2010.4选择)
A.1/256B.1/2C.15/16D.255/256
4.在可表示浮点数的负数区间,规格化浮点数的最大负数值由尾数的_____最大负数值_____与阶码的_____最小负数值_____组合而成。
(2010.4填空)
5.在多数机器中,浮点数的阶码采用的进制是(A)(10.7选择)
A.二进制B.八进制C.十进制D.十六进制
6.浮点数系统使用的阶基rp=2,阶值位数p=3,尾数基值rm=8,以rm为基的尾数位数m′=2,计算在非负阶、正尾数、规格化情况下的最小尾数值、最大尾数值、最大阶值、可表示数的最小值和最大值及可表示的数的个数。
(10.7简单应用)
7.下列四种浮点数尾数下溢处理方法中,平均误差可以调节的是(D)(11.4选择)
A.截断法B.舍入法C.恒置“1”法D.查表舍入法
8.当浮点数尾数的基rm=8,尾数长度m=6时,可表示的规格化最小正尾数的值是(B)(11.7选择)
A.1/64B.0.125C.0.25D.0.5
9.在可表示浮点数的正数区间,规格化浮点数的最小正数值由尾数的______规格化最小正数(基值倒数)________与阶码的________最小负值_______组合而成。
(11.7填空)
10.四种浮点数尾数下溢处理方法中,实现最简单的方法是( A )(12.4选择)
A.截断法B.舍入法C.恒置“1”法D.查表舍入法
11.在可表示浮点数的正数区间,规格化浮点数的最大正数值由_____阶码______的最大正数值与_____尾数______的最大正数值组合而成。
(09.7填空)
2、寻址方式
寻址方式是指指令按什么方式寻找到所需的操作数或信息。
多数计算机都将主存、寄存器、堆栈分类编址,分别有面向主存、面向寄存器和面向堆栈的寻址方式。
面向寄存器的寻址操作数主要访问寄存器,少量访问主存和堆栈。
面向堆栈的寻址主要访问堆栈,少量访问主存或寄存器。
面向主存的寻址主要访问主存,少量访问寄存器。
寻址方式在指令中一般有两种不同的知名方式,一种是占用操作码中的某些位来指明,另一种是不占用操作码,而是在地址码部分专门设置寻址方式位字段指明。
变址寻址是对诸如向量、数组等数据块运算的支持,以便于实现程序的循环。
基址寻址是对逻辑地址空间到物理地址空间变换的支持,以便于实现程序的动态再定位。
所以,基址寻址和变址寻址都会同时用到。
基址寻址将装入程序形成物理地址改成由地址加法器硬件形成,加快了地址变换的速度。
1.变址寻址的主要作用是(C)(08.7选择)
A.支持程序的动态再定位B.支持访存地址的越界检查
C.支持向量、数组的运算寻址D.支持操作系统中的进程调度
2.寻址方式在指令中的两种指明方式是用____占用操作码_______中的某些位指明和_____地址码______的部分专门设置寻址方式位字段指明。
(08.7填空)
3.下列数据存储空间为隐含寻址方式的是(D)(10.4选择)
A.CPU中的通用寄存器B.主存储器
C.I/O接口中的寄存器D.堆栈
4.简述寻址方式在指令中的两种指明方式,并说明它们的优缺点。
(11.4简答)
答:
第一种是采用占用操作码中的某些为来指明寻址方式,第二种方式是不占用操作码,而是在地址码部分专门设置寻址方式位字段来指明寻址方式。
第一种方式的优点是操作码和寻址方式位的总位数较短,但是不灵活,第二种方式寻址灵活,但是操作码和寻址方式位的总位数长。
5.寻址方式的三种面向分别是面向寄存器寻址、面向___主存__寻址和面向__堆栈_寻址。
(11.7填空)
6.寻址方式指的是指令按什么方式寻找(或访问)到所需的操作数或信息的,具有分别面向____主存__、___寄存器___和堆栈的寻址方式。
(12.4填空)
三、RISC
1.简述设计RISC结构使用的基本技术。
(08.7简答)
2.简述设计RISC的一般原则。
(09.4简答)
答:
确定指令系统时,只选择使用频度很高的那些指令,再增加少量能有效支持操作系统、高级语言实现及其他功能的指令,大大减少指令条数,使之一般不超过100条。
减少指令系统所用寻址方式种类,一般不超过两条。
让所有指令都在一个机器周期内完成。
扩大通用寄存器数,一般不少于32个,尽量减少访存。
为提高指令执行速度,大多数指令都用硬联控制实现,少数指令采用微程序实现。
通过精简指令和优化设计编译程序,简单有效地支持高级语言的实现。
3.简述设计RISC结构采用的基本技术。
(10.4简答)
答:
按RISC一般原则设计。
逻辑实现用硬联和微程序结合。
用重叠寄存器窗口。
指令用流水和延迟结合。
优化设计编译系统。
4.简述RISC的优缺点。
(11.4简答)
答:
优点:
简化指令系统,适合VLSI实现
提高机器的执行速度和效率
降低成本,提高可靠性
简化了编译程序的设计
缺点:
加重了汇编语言程序设计的负担,占用存储空间大
对浮点运算执行和虚拟存储器的支持不足
编译程序比CISC的难写。
5.RISC采用重叠寄存器窗口技术,可以减少(C)(11.7选择)
A.绝大多数指令的执行时间B.目标程序的指令条数
C.程序调用引起的访存次数D.CPU访存的访问周期
6.简述RISC的优缺点。
(11.7简答)
7.简述设计RISC结构可采用的基本技术。
(12.4简答)
8.RISC执行程序的速度优于CISC的原因是(B)(09.7选择)
A.RISC的指令系统的指令数较少
B.程序在RISC上编译的目标程序较短
C.RISC的指令平均周期数较少
D.RISC只允许Load指令和Store指令访存
四、程序在主存中的定位技术
1.程序员编程用的地址是_____逻辑地址_____,主存物理地址是程序在主存中的____实际地址______。
(10.4填空)
2.逻辑地址是程序员编程用的地址,主存_____物理地址_____是程序在主存中的实际地址。
(10.7填空)
3.主存物
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第一章 计算机系统结构基础及并行性的开发 计算机系统 结构 基础 并行 开发