从使用语言的角度,一台由软、硬件组成的通用计算机系统可以被看成是按功能划分的多层机器级组成的层次结构。具体的计算机系统,其层次数的多少可以有所不同。
说明:
翻译技术
:先用转换程序将高一级机器级上的程序整个地变成低一级机器级上等效的程序,然后在低一级机器级上实现的技术。
解释技术
:在低级机器级上用它的一串语句或指令来仿真高级机器级上的一条语句和指令的功能,是通过对高级机器级语言程序中的每条语句或指令逐条解释来实现的技术。
透明(Transparent)
:如果客观存在的事物或属性从某个角度看不到,则称对她是透明的。
计算机系统结构研究的是软、硬件之间的功能分配以及对传统机器级界面的确定。为机器语言、汇编语言程序设计者或编译程序生成系统设计或生成的程序能在机器上正确运行提供应看到和遵循的计算机属性。
就目前的通用机来说,计算机系统结构的属性包括:
1. 硬件能直接识别和处理的数据类型及格式等的数据表示。
2. 最小可寻址单位、寻址种类、地址计算等的寻址方式。
3. 通用/专用寄存器的设置、数量、字长、使用约定等的寄存器组织。
4. 二进制或汇编指令的操作类型、格式、排序方式、控制机构等的指令系统。
5. 主存的最小编址单位、编码方式、容量、最大可编址空间等的存储系统组织。
6. 中断的分类与分级、中断处理程序功能及入口地址等的中断机构。
7. 系统机器级的管态与用户态的定义与切换。
8. 输入/输出设备的连接、使用方式、数量、操作结束、出错指示等的机器级I/O结构。
9. 系统各部分的信息保护方式和保护机构等属性。
计算机组成 计算机组成指计算机系统结构的逻辑实现,包括机器级内部的数据流和控制流的组成以及逻辑设计等。
计算机组成着眼于机器级内部各时间的排列方式和控制机构、各部件的功能及各部件之间的联系。它要解决的问题是希望达到的性能和价格的情况下,如何更好、更合理地把各种设备和部件组织成计算机,实现所确定的系统结构。
计算机组成设计要确定的方面一般包括:
计算机实现
计算机实现指的是计算机组成的物理实现。包括处理机、主存等部件的物理结构,器件的集成度与速度,器件、模块、插件、底板的划分与连接,专用器件的设计,微组装技术、信号传输,电源、冷却及整机装配技术等。
计算机实现的设计着眼于器件技术
和微组装技术
。
机器/汇编指令系统、数据表示、是否采用通道方式输入/输出的确定数据计算机系统结构;指令采用顺序、重叠、流水还是其他方式解释,数据通路宽度的确定,通道采用结合性还是独立型,则属于计算机实现
原则1
应考虑在现有硬、器件(主要是逻辑器件和存储器件)条件下,系统要有高的性能价格比,主要从实现费用、速度和其他性能要求来总和考虑。
原则2
要考虑到准备采用和可能采用的组成技术,使之尽可能不要过多或不合理地限制各种组成、实现技术的采用。
原则3
不能仅从"硬"的角度考虑如何便于应用组成技术的成果和便于发挥器件技术的发展,还应从"软"的角度把如何为编译和操作系统的实现以及为高级语言程序设计提供更多、更好的硬件支持放在首位。
应当进一步缩短高级语言与机器语言、操作系统与计算机系统结构、程序设计环境等与计算机系统结构之间存在的语义差距。计算机系统结构、机器语言是用硬件和固件实现的,而这些语义差距是用软件来填补的。语义差距的大小实际上取决于软、硬件的功能分配,差距缩小了,系统结构对软件设计的支持就加强了。
尽可能加速处理高概率的事件远比加速处理概率很低的事件对性能的提高要显著。
1967年由IBM公司的Amdahl在设计IBM360系列机时首先提出。 该定律主要可用于确定对系统中性能瓶颈部件采取措施提高速度后系统性能改进的程度。即系统加速比Sp。系统加速比Sp定义为为系统改进后的性能与未改进时的性能的比值,或者定义为系统未改进时的程序执行时间Told与改进后的程序执行时间Tnew的比值。系统加速比Sp与两个因素有关,即性能可改进比fnew和部件加速比rnew,这样,系统的加速比为: 式中,分母的(1-fnew)为不能改进性能这部分的比例。 可见,当系统性能可改进fnew为0时,Sp=1;而当部件加速比rnew趋于无穷大时,分母中fnew/rnew将趋于0,这里有
程序访问的局部性包括了时间上和空间上的两个局部性。时间上的局部性指的是现在正使用的信息可能不久前还要使用,这是因为程序存在着循环。空间上的局部性指的是最近的将来要用到的信息很可能与现在正在使用的信息在程序位置上是临近的。这是因为指令通常是顺序存放、顺序执行的,数据也通常是以向量、阵列、树、表等形式簇居地存放在一起的。
软件的可移植性指的是软件不修改或只经少量修改就可由一台机器移植到另一台机器上运行,统一软件可用于不同的环境。 实现软件移植的技术主要由如下几种: