目录
9. 软件可移植的途径、方法、适用场合、存在问题和对策(p17)
1. 计算机系统的层次结构(书p1)
要求:领会通用计算机系统的多级层次结构
计算机系统层次结构,指的是计算机系统由硬件和软件两大部分所构成,而如果按功能再细分,可分为7层。把计算机系统按功能分为多级层次结构,就是有利于正确理解计算机系统的工作过程,明确软件,硬件在计算机系统中的地位和作用。
M5: 应用语言机器 – 应用语言
M4: 高级语言机器 – 高级语言
M3: 操作系统机器 – 作业控制语言
M2: 汇编语言机器 – 汇编语言
M1: 传统机器 – 机器指令系统
M0: 微程序机器 – 微指令系统
现在来看,M0用硬件来实现、M1用微程序(固件)来实现,而M2-M5均采用软件来实现。
这里,“机器”被定义为能存储和执行相应语言程序和数据结构的集合体。实际上,只有二进制机器指令,即传统所讲的机器语言与硬件直接对应,方可直接被硬件识别和执行。
而各级机器均会有相应的翻译和解释技术。翻译就是把高级语言翻译成低级语言,解释就是把低级语言解释为高级语言(可以理解为:低级语言是汇编语言,又臭又长;C语言是高级语言,简洁明了,把c语言翻译为汇编语言,把汇编语言解释为c语言)。
2. 计算机系统结构、计算机组成和计算机实现
要求:1. 掌握计算机系统结构、计算机组成和计算机实现三者的定义
2. 掌握三者各自研究的方面和内容
2.1 计算机系统结构的定义
计算机系统结构也称计算机系统体系结构,是计算机的机器语言程序员或编译程序编写者所看到的外特性。所谓外特性,就是计算机的概念性结构和功能特性,主要研究计算机系统的基本工作原理,以及在硬件、软件界面划分的权衡策略,建立完整的、系统的计算机软硬件整体概念。
结论:计算机系统结构是软硬件之间的功能分配以及对传统机器级界面的确定,为机器语言、汇编语言程序设计者或编译程序生成系统提供使其设计或生成的程序能在机器上正确运行而应能看到和遵循的计算机属性。
计算机体系的八大属性
1、机内数据表示:硬件能直接辨识和操作的数据类型和格式
2、寻址方式:最小可寻址单位、寻址方式的种类、地址运算
3、寄存器组织:操作寄存器、变址寄存器、控制寄存器及专用寄存器的定义、数量和使用规则
4、指令系统:机器指令的操作类型、格式、指令间排序和控制机构
5、存储系统:最小编址单位、编址方式、主存容量、最大可编址空间
6、中断机构:中断类型、中断级别,以及中断响应方式等
7、输入输出结构:输入输出的连接方式、处理机/存储器与输入输出设备间的数据交换方式、数据交换过程的控制
8、信息保护:信息保护方式、硬件信息保护机制。
2.2 计算机组成的定义(p3)
从计算机系统机构的内涵可以看出,机器内部的数据流和控制流的组成、逻辑设计和器件设计都不属于计算机系统结构,就是说,对计算机系统结构的设计是透明的。他们属于计算机组成或者计算机实现的范畴。
计算机组成定义:计算机组成是指计算机系统结构的逻辑实现,包括机器级内部的数据流和控制流的组成以及逻辑设计。
计算机组成着眼于机器内部的各事件之间的排序方式于控制机构、各部件之间的功能以及各部件之间的联系。它主要解决的问题是:在所希望的性能和价格情况下,怎样更好的更合理的把各种部件组合成为计算机来实现确定的系统结构。
2.3 计算机实现的定义
计算机实现指的是计算机组成的物理实现,包括处理机、主存等部件的物理结构、期间的集成度和速度,器件的集成度和速度、器件、模块、插件的划分与连接、专用器件的设计,微组装技术、信号传输、电源,冷却装置等技术。
指令系统的确定属于计算机系统结构的研究范畴。指令的实现如取指令、指令操作码等属于计算机组成到的范畴、实现这些具体功能的技术属于计算机实现的范畴。
总结:机器、汇编指令系统、数据表示、是否采用通道方式输入、输出的确定属于系统结构研究的范畴;指令采用顺序、重叠、流水还是其他方式解释、数据宽度的宽度的确定、通道采用结合性还是独立型,均属于计算机组成研究的范围。
3. 计算机系统设计的主要方法(p15)
要求:领会计算机设计的主要方法
从多级层次结构的角度出发,计算机系统设计按多层次结构的上中下开始设计,分别可以可以有由上往下、由下往上、由中间开始3种不同的方法。
3.1 由上往下设计
也称“由顶向底”设计。
设计过程:面向应用的数学模型→面向应用的高级语言→面向这种应用的操作系统→面向操作系统和高级语言的机器语言→面向机器语言的微指令系统和硬件实现。应用场合:专用计算机的设计(早期计算机的设计)。特点:对于所面向的应用领域,性能(性能价格比)很高。随着通用计算机价格降低,目前已经很少采用。
它是先考虑如何满足应用需求,定好面向用户的哪个层面的需求和工作环境,如要用到的基本指令,语句结构、数据类型、数据格式等。再逐级的往下色痕迹,每设计一层都要保证下一级对上一级是最优的。由上往下设计是一种串行设计,设计的周期较长。在实际中难以做到真正的最优化设计。
3.2 由下往上设计
设计过程也称“由底向顶”设计
:根据当时的器件水平,设计微程序机器级和传统机器级。根据不同的应用领域设计多种操作系统、汇编语言、高级语言编译器等。最后设计面向应用的虚拟机器级。应用场合:在计算机早期设计中(60~70年代)广为采用。特点:容易使软件和硬件脱节,整个计算机系统的效率降低。
它是先不管应用的实际需求,仅根据目前能做到的器件、参照吸收已有的各种机器的特点将微程序机器级研制出来。然后在加适配用于不同应用领域的的多种操作系统软件,如分时操作系统、实时操作系统和多种高级语言的编译程序,使应用人员可以根据不通的语言类型、数据形式,采用合适的系统软件来满足应用需要。这种设计也是串行设计,设计周期也较长。
3.3 从中间开始的设计
这是通用机常采用的方法
设计过程:首先定义软硬件的分界面。然后各个层次分别进行设计。应用场合:用于系列机的设计。特点:软硬件的分界面在上升,硬件比例在增加。硬件价格下降,软件价格上升。软硬件人员结合共同设计。
它可以克服上述两种方法的致命缺点,是一种较好的交互式的设计方法设计周期一般较长。
4. 软件发展对系统结构的影响(p17)
要求:理解系统结构为什么要求解决好软件的可移植性
1.由于软件相对于硬件的成本愈来愈贵,产量和可靠性的提高越来越困难。
2.目前已经积累了大量的成熟的软件,重新开发新软件费时费力。
所以在系统结构设计时,提出应该在新的系统结构里解决软件的可移植性问题。
软件的可移植性指软件不修改或只经过少量修改就可以由一台机器移植到另一台机器上运行,同一软件可应用于不同的环境。
5. 系统结构中的并行性开发(p26)
要求:领会并行性的定义,并行性的二重含义和开发并行性的三种途径
5.1 并行性的定义
把题解中具有可以同时进行运算的操作或者特性成为并行性.
并行性是指计算机系统具有可以同时进行运算或操作的特性,在同一时间完成两种或两种以上工作。它包括同时性与并发性两种含义。同时性指两个或两个以上事件在同一时刻发生。并发性指两个或两个以上事件在同一时间间隔发生。
5.2 并行性的二重含义
并行性包含同时性和并发性两重特性。同时性是指两个或者多个事件在同一时刻发生;并发性是指两个或者多个事件在同一个时间间隔内发生。
5.3 开发并行性的三种途径
开发并行性的途径有:时间重叠、资源重复和资源共享。
1)时间重叠
是指在并行的概念中引入时间因素,让多个处理过程在时间上相互错开,轮流重叠的使用同一套硬件设施的各个部位,加快硬件周期来赢得速度。
如下图所示,指令内操作步骤重叠流水就是最典型的例子。每条指令的“取指”、“分析”,“执行”轮流在相应的硬件上完成。只需5▲t就能解释完三条指令,加快了程序执行的速度;
2)资源重复
资源重复是指在并行过程中引入空间因素,通过重复设置硬件资源来提高可靠性或者性能。双工系统是通过使用两台不同的计算机执行同一任务来提高可靠性的。
如下图所示,通过设置N个完全相同的处理单元(PE),在统一控制器下,给各处理单元分配不同数据,完成指令要求的同一种运算或操作,以提高速度性能;
3)资源共享
是指系统让多个用户在不同的时间里重复使用同一资源来提高资源的利用率,也就相应的提高了系统的效率。
6. 有关透明性问题的判断
6.1 透明性的定义
客观存在的事物或者属性从某个方向看不到,简称对它是透明的。(注意:是看不到!)
6.2例题
有关例题可以参考我的另一篇博客:对于计算机系统结构,下列哪些是透明的?(计算机系统结构期末习题解析,史上最全)_拉姆哥的小屋的博客-CSDN博客
7. 软件和硬件的功能分配原则
硬件
“计算机硬件”的简称。与“软件”相对。电子计算机系统中所有实体部件和设备的统称。从基本结构上来讲,电脑可以分为五大部分:运算器、存储器、控制器、输入设备、输出设备等。
一般我们看到的电脑都是由:主机(主要部分)、输出设备(显示器)、输入设备(键盘和鼠标)三大件组成。 而主机是电脑的主体 ,在主机箱中有:主板、CPU、内存、电源、显卡、声卡、网卡、硬盘、软驱、光驱等硬件。其中,主板、CPU、内存、电源、显卡、硬盘是必须的,只要主机工作,这几样缺一不可。
软件
目录·系统软件
·应用软件
·操作系统软件
·软件开发
软件[software](中国大陆及香港用语,台湾作软体)是一系列按照特定顺序组织的计算机数据和指令的集合,按照特定顺序组织的电脑数据和指令的集合。一般来讲软件被划分为系统软件、应用软件和介于这两者之间的中介软件。其中系统软件为计算机使用提供最基本的功能,但是并不针对某一特定应用领域。而应用软件则恰好相反,不同的应用软件根据用户和所服务的领域提供不同的功能。
软件并不只是包括可以在计算机上运行的电脑程序,与这些电脑程序相关的文档一般也被认为是软件的一部分。简单的说软件就是程序加文档的集合体。
软件被应用于世界的各个领域,对人们的生活和工作都产生了深远的影响。
系统软件
系统软件是负责管理计算机系统中各种独立的硬件,使得它们可以协调工作。系统软件使得计算机使用者和其他软件将计算机当作一个整体而不需要顾及到底层每个硬件是如何工作的。
一般来讲,系统软件包括操作系统和一系列基本的工具(比如编译器,数据库管理,存储器格式化,文件系统管理,用户身份验证,驱动管理,网络连接等方面的工具)。
应用软件
应用软件是为了某种特定的用途而被开发的软件。它可以是一个特定的程序,比如一个图像浏览器。也可以是一组功能联系紧密,可以互相协作的程序的集合,比如微软的Office软件。也可以是一个由众多独立程序组成的庞大的软件系统,比如数据库管理系统。
8. 软件和硬件的功能分配原则
原则1:性价比、产量
原则2:所用到的技术要符合实际
原则3:软硬结合
软硬件搭配原则是指在设计检测系统时,坚持软硬件合理分工、相互配合。
检测系统中的有些功能只能依靠硬件实现,有些任务(如数据分析与处理)只能由软件来完成,还有许多功能用软件或硬件都可实现。
软件和硬件各有千秋,软件可完成许多复杂的运算、系统的管理和控制等,具有设计灵活、修改方便的特点,但执行速度比硬件慢。硬件是各种元器件实体通过特定线路构成的组合体,硬件的成本高,灵活性差,不易改动。
9. 软件可移植的途径、方法、适用场合、存在问题和对策(p17)
(1) 采用系列机方法,只能在具有相同系统结构的各种机器之间实现软件移植,一般是
一个厂家生产的机器。
(2) 采用模拟与仿真的方法,可在不同系统结构的机器之间相互移植软件,对于使用频
率较高的指令,尽可能用仿真方法以提高运算速度,而对于使用频率低且难于用仿真实现的指令则用模拟方法来实现。
(3) 采用统一的高级语言方法,可以解决结构相同或完全不同的各种机器上的软件移植,
但是,要统一高级语言,语言的标准化很重要,但难以在短期内解决。
在软件工程中,移植(英语:Porting)是一种软件发展程序,将某个可执行的程序,由它原先的环境中,迁移到另一个环境,让它可以重新运作。改变的环境可能是硬件或软件,包括处理器架构、操作系统、软件库等。
是当进行软件移植时,需要重新改写的源代码越少,需要做的工时越少,这个软件的可移植性就越高。
10. 系统结构中开发并行性的途径和类型
计算机中提高并行性的措施多种多样,就是基本思想而言,可以归纳为如下3条途径:
(1)时间重叠。相邻处理过程在时间上错开,轮流重叠使用同一套硬件的各部分。
(2)资源重复。重复设置硬件资源提高可靠性和性能。
(3)资源共享。让多个用户按照一定的时间顺序轮流使用同一套资源,提高资源利用率。并行性通常可分为4个级别:作业级或程序级、任务级或程序级、指令之间级和指令内部级。前两级为粗粒级,又称为过程级;后两级为细粒级,又称为指令级。
喜欢的点赞加关注哦!