第1章 计算机系统结构的基本概念
1.1 解释下列术语
层次结构:按照计算机语⾔从低级到⾼级的次序,把计算机系统按功能划分成多级层次结构,每⼀层以⼀种不同的语⾔为特征。这些层次依次为:微程序机器级,传统机器语⾔机器级,汇编语⾔机器级,⾼级语⾔机器级,应⽤语⾔机器级等。
虚拟机:⽤软件实现的机器。
狂拽炫酷叼炸天翻译:先⽤转换程序把⾼⼀级机器上的程序转换为低⼀级机器上等效的程序,然后再在这低⼀级机器上运⾏,实现程序的功能。
解释:对于⾼⼀级机器上的程序中的每⼀条语句或指令,都是转去执⾏低⼀级机器上的⼀段等效程序。执⾏完后,再去⾼⼀级机器取下⼀条语句或指令,再进⾏解释执⾏,如此反复,直到解释执⾏完整个程序。
计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。
在计算机技术中,把这种本来存在的事物或属性,但从某种⾓度看⼜好像不存在的概念称为透明性。
计算机组成:计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。
计算机实现:计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。
系统加速⽐:对系统中某部分进⾏改进时,改进后系统性能提⾼的倍数。
Amdahl定律:当对⼀个系统中的某个部件进⾏改进后,所能获得的整个系统性能的提⾼,受限于该部件的执⾏时间占总执⾏时间的百分⽐。
程序的局部性原理:程序执⾏时所访问的存储器地址不是随机分布的,⽽是相对地簇聚。包括时间局部性和空间局部性。
CPI:每条指令执⾏的平均时钟周期数。
测试程序套件:由各种不同的真实应⽤程序构成的⼀组测试程序,⽤来测试计算机在各个⽅⾯的处理性能。
存储程序计算机:冯·诺依曼结构计算机。其基本点是指令驱动。程序预先存放在计算机存储器中,机器⼀旦启动,就能按照程序指定的逻辑顺序执⾏这些程序,⾃动完成由程序所描述的处理⼯作。
系列机:由同⼀⼚家⽣产的具有相同系统结构、但具有不同组成和实现的⼀系列不同型号的计算机。
软件兼容:⼀个软件可以不经修改或者只需少量修改就可以由⼀台计算机移植到另⼀台计算机上运⾏。差别只是执⾏时间的不同。
向上(下)兼容:按某档计算机编制的程序,不加修改就能运⾏于⽐它⾼(低)档的计算机。
向后(前)兼容:按某个时期投⼊市场的某种型号计算机编制的程序,不加修改地就能运⾏于在它之后(前)投⼊市场的计算机。
阚清子纪凌尘的故事兼容机:由不同公司⼚家⽣产的具有相同系统结构的计算机。
模拟:⽤软件的⽅法在⼀台现有的计算机(称为宿主机)上实现另⼀台计算机(称为虚拟机)的指令系统。
仿真:⽤⼀台现有计算机(称为宿主机)上的微程序去解释实现另⼀台计算机(称为⽬标机)的指令系统。
并⾏性:计算机系统在同⼀时刻或者同⼀时间间隔内进⾏多种运算或操作。只要在时间上相互重叠,就存在并⾏性。它包括同时性与并发性两种含义。
时间重叠:在并⾏性概念中引⼊时间因素,让多个处理过程在时间上相互错开,轮流重叠地使⽤同⼀套硬件设备的各个部分,以加快硬件周转⽽赢得速度。
资源重复:在并⾏性概念中引⼊空间因素,以数量取胜。通过重复设置硬件资源,⼤幅度地提⾼计算机系统的性能。
资源共享:这是⼀种软件⽅法,它使多个任务按⼀定时间顺序轮流使⽤同⼀套硬件设备。
耦合度:反映多机系统中各计算机之间物理连接的紧密程度和交互作⽤能⼒的强弱。
紧密耦合系统:⼜称直接耦合系统。在这种系统中,计算机之间的物理连接的频带较⾼,⼀般是通过总线或⾼速开关互连,可以共享主存。
松散耦合系统:⼜称间接耦合系统,⼀般是通过通道或通信线路实现计算机之间的互连,可以共享外存设备(磁盘、磁带等)。计算机之间的相互作⽤是在⽂件或数据集⼀级上进⾏。
异构型多处理机系统:由多个不同类型、⾄少担负不同功能的处理机组成,它们按照作业要求的顺序,利⽤时间重叠原理,依次对它们的多个任务进⾏加⼯,各⾃完成规定的功能动作。
同构型多处理机系统:由多个同类型或⾄少担负同等功能的处理机组成,它们同时处理同⼀作业中能并⾏执⾏的多个任务。
1.3 计算机系统结构的Flynn分类法是按什么来分类的?共分为哪⼏类?
答:Flynn分类法是按照指令流和数据流的多倍性进⾏分类。把计算机系统的结构分为:
1. 单指令流单数据流SISD
2. 单指令流多数据流SIMD
3. 多指令流单数据流MISD
4. 多指令流多数据流MIMD
1.4 计算机系统设计中经常使⽤的4个定量原理是什么?并说出它们的含义。
答:(1)以经常性事件为重点。在计算机系统的设计中,对经常发⽣的情况,赋予它优先的处理权和资源使⽤权,以得到更多的总体上的改进。(2)Amdahl定律。加快某部件执⾏速度所获得的系统性能加速⽐,受限于该部件在系统中所占的重要性。(3)CPU性能公式。执⾏⼀个程序所需的CPU时
间 = IC×CPI×时钟周期时间。(4)程序的局部性原理。程序在执⾏时所访问地址的分布不是随机的,⽽是相对地簇聚。
1.7 将计算机系统中某⼀功能的处理速度加快10倍,但该功能的处理时间仅为整个系统运⾏时间的40%,则采⽤此增强功能⽅法后,能使整个系统的性能提⾼多少?
解 由题可知: 可改进⽐例 = 40% = 0.4 部件加速⽐ = 10
根据Amdahl定律可知:
采⽤此增强功能⽅法后,能使整个系统的性能提⾼到原来的1.5625倍。
第2章 指令集结构的分类
1.
1. 解释下列术语
堆栈型机器:CPU 中存储操作数的单元是堆栈的机器。
累加器型机器:CPU 中存储操作数的单元是累加器的机器。
通⽤寄存器型机器:CPU 中存储操作数的单元是通⽤寄存器的机器。
CISC:复杂指令集计算机
RISC:精简指令集计算机
寻址⽅式:指令系统中如何形成所要访问的数据的地址。⼀般来说,寻址⽅式可以指明指令中的操作数是⼀个常数、⼀个寄存器操作数或者是⼀个存储器操作数。
余文乐调侃彭于晏数据表⽰:硬件结构能够识别、指令系统可以直接调⽤的那些数据结构。
1.
1. 区别不同指令集结构的主要因素是什么?根据这个主要因素可将指令集结构分为哪3类?
答:区别不同指令集结构的主要因素是CPU中⽤来存储操作数的存储单元。据此可将指令系统结构分为堆栈结构、累加器结构和通⽤寄存器结构。
1.
1. 常见的3种通⽤寄存器型指令集结构的优缺点有哪些?
答:
指令系统结构
类型
优 点缺 点
寄存器-寄存器型
(0,3)指令字长固定,指
令结构简洁,是⼀计算机硬件系统的组成
种简单的代码⽣成
模型,各种指令的
执⾏时钟周期数相
近。
与指令中含存储器操作数的指令
系统结构相⽐,指令条数多,⽬
标代码不够紧凑,因⽽程序占⽤
的空间⽐较⼤。
寄存器-存储器型
(1,2)可以在ALU指令中
直接对存储器操作许晴谈华晨宇绯闻
数进⾏引⽤,⽽不
必先⽤load指令进
⾏加载。容易对指
令进⾏编码,⽬标
代码⽐较紧凑。
由于有⼀个操作数的内容将被破
坏,所以指令中的两个操作数不
对称。在⼀条指令中同时对寄存
器操作数和存储器操作数进⾏编
码,有可能限制指令所能够表⽰
的寄存器个数。指令的执⾏时钟
周期数因操作数的来源(寄存器
或存储器)不同⽽差别⽐较⼤。
存储器-存储器型
(2,2)或(3,3)⽬标代码最紧凑,
不需要设置寄存器
来保存变量。
指令字长变化很⼤,特别是3操作
数指令。⽽且每条指令完成的⼯
作也差别很⼤。对存储器的频繁
访问会使存储器成为瓶颈。这种
类型的指令系统现在已不⽤了。
1.
1. 指令集应满⾜哪⼏个基本要求?
答:对指令集的基本要求是:完整性、规整性、⾼效率和兼容性。
完整性是指在⼀个有限可⽤的存储空间内,对于任何可解的问题,编制计算程序时,指令集所提供的指令⾜够使⽤。
规整性主要包括对称性和均匀性。对称性是指所有与指令集有关的存储单元的使⽤、操作码的设置等都是对称的。均匀性是指对于各种不同的操作数类型、字长、操作种类和数据存储单元,指令的设置都要同等对待。
⾼效率是指指令的执⾏速度快、使⽤频度⾼。
1.
1. 指令集结构设计所涉及的内容有哪些?
答: (1) 指令集功能设计:主要有RISC和CISC两种技术发展⽅向; (2) 寻址⽅式的设计:设置寻址⽅式可以通过对基准程序进⾏测试统计,察看各种寻址⽅式的使⽤频率,根据适⽤频率设置必要的寻址⽅式。 (3) 操作数表⽰和操作数类型:主要的操作数类型和操作数表⽰的选择有:浮点数据类型、整型数据类型、字符型、⼗进制数据类型等等。 (4) 寻址⽅式的表⽰:可以将寻址⽅式编码于操作码中,也可以将寻址⽅式作为⼀个单独的域来表⽰。 (5) 指令集格式的设计:有变长编码格式、固定长度编码格式和混合型编码格式3种。
1.
1. 简述CISC指令集结构功能设计的主要⽬标。从当前的计算机技术观点来看,CISC指令集结构的计
算机有什么缺点?
答:主要⽬标是增强指令功能,把越来越多的功能交由硬件来实现,并且指令的数量也是越来越多。
缺点: (1) CISC结构的指令集中,各种指令的使⽤频率相差悬殊。(2)CISC结构指令的复杂性带来了计算机体系结构的复杂性,这不仅增加了研制时间和成本,⽽且还容易造成设计错误。(3)CISC结构指令集的复杂性给VLSI设计增加了很⼤负担,不利于单⽚集成。(4)CISC结构的指令集中,许多复杂指令需要很复杂的操作,因⽽运⾏速度慢。 (5) 在CISC结构的指令集中,由于各条指令的功能不均衡性,不利于采⽤先进的计算机体系结构技术(如流⽔技术)来提⾼系统的性能。
1.
1. 简述RISC指令集结构的设计原则。
答(1) 选取使⽤频率最⾼的指令,并补充⼀些最有⽤的指令;(2)每条指令的功能应尽可能简单,并在⼀个机器周期内完成;(3)所有指令长度均相同;(4)只有Load和Store操作指令才访问存储器,其它指令操作均在寄存器之间进⾏; (5) 以简单有效的⽅式⽀持⾼级语⾔。
1.
1. 指令中表⽰操作数类型的⽅法有哪⼏种?
答:操作数类型有两种表⽰⽅法:(1)操作数的类型由操作码的编码指定,这是最常见的⼀种⽅法;(2)数据可以附上由硬件解释的标记,由这些标记指定操作数的类型,从⽽选择适当的运算。
东方神起成员1.
1. 表⽰寻址⽅式的主要⽅法有哪些?简述这些⽅法的优缺点。
答:表⽰寻址⽅式有两种常⽤的⽅法:(1)将寻址⽅式编于操作码中,由操作码在描述指令的同时也描述了相应的寻址⽅式。这种⽅式译码快,但操作码和寻址⽅式的结合不仅增加了指令的条数,导致了指令的多样性,⽽且增加了CPU对指令译码的难度。(2)为每个操作数设置⼀个地址描述符,由该地址描述符表⽰相应操作数的寻址⽅式。这种⽅式译码较慢,但操作码和寻址独⽴,易于指令扩展。
1.
1. 通常有哪⼏种指令格式,请简述其适⽤范围。
发布评论