首页 > 其他分享 >计算机体系结构绪论

计算机体系结构绪论

时间:2023-03-11 16:36:28浏览次数:47  
标签:计算机 绪论 兼容 硬件 指令 软件 体系结构

1.什么是计算机体系结构

  “计算机体系结构”是由 G.M.Amdahl 等人于 1964 年提出的,当时意指程序员看到的计算机属性,

  即程序员为编写出可以在计算机上正确运行的程序所必须掌握的计算机功能特性与概念结构。

 

  影响计算机(硬件)性能的根本因素

    1. 器件更新是计算机(硬件)换代的基本标志


    2. 器件组织是现代计算机(硬件)分类的基本依据

      恩斯洛(P.H.Enslow)曾经对 1965 年至 1975 年进行比较,

    器件更新使器件延迟时间降低至原来的十分之一,

    但计算机执行指令的时间却降低至原来的百分之一。

    可见,在这 10 年中,计算机性能提高的幅度比器件性能提高的幅度大得多,

    显然是有效组织器件的贡献。

 

  物理计算机与虚拟计算机

  通常把纯硬件机器的计算机称为物理计算机,

  把硬件机器与程序软件融于一体的、由软件扩展硬件功能的计算机称为虚拟计算机。

  

  透明性(Transparency)

    由于计算机系统的层级很多,层级之间的功能与结构差异较大,技术范围也不同。

    因此,对于任一计算机用户来说,由于精力有限,不可能掌握计算机系统每个

    层级的实现技术与原理和应用操作方法,仅需要通过某层级的广义计算机语言来掌

    握对应物理或虚拟计算机的功能结构,而不必关注低层是如何工作及功能如何实现

    的,这就是透明性概念。

 

2. 计算机体系结构的范畴  

  

  计算机体系结构研究任务为:软硬件功能分配和硬件功能实现的最佳方法途径。

  计算机体系结构定义的属性不是固定不变的,

  随着新器件的出现,计算机体系结构将发生巨大变化,其定义将更加宽泛。

 

  确定软件与硬件的功能界面或对软件与硬件的功能进行分配的基础上,明确哪些

  功能目标由软件实现,哪些功能目标由硬件实现,

  由此才能确定计算机属性(计算机体系结构)。

  对于机器语言程序员,必须掌握的计算机(硬件)属性(功能特性与概念结构)

  包含如下 9 项(即计算机体系结构的范畴):

    (1)数据表示,

      包括数据类型及其编码方法与表示格式等。

 

    (2)指令系统,

      包括机器指令集,各指令实现的功能操作、编码方法与表示格式等,

      指令格式优化设计、指令之间的排序方式与控制执行机构。

 

    (3)寻址方式,

      包括各种存储部件的寻址方式,它们的表示与变换方法、有效地址长度等。

 

    (4)寄存器组织

      包括寄存器类型如操作数寄存器、变址寄存器、控制寄存器及

      专用寄存器等,各种寄存器的定义、数量、长度与使用约定等。

 

    (5)主存储器组织

      包括编址单位、编址方式、存储容量、可编址空间、程序装

      入定位和存储层次等。

    

    (6)中断机构,

      包括中断类型、中断分级、中断请求、中断响应、

      中断源识别、 中断处理等。

 

    (7)机器状态,

      包括状态类型如管态、目态等,状态定义及其相互间的切换。

 

    (8)输入输出组织,

      包括响应定时方式、数据传送方式与格式、操作控制方式、 

      一次性传送数据量、传送结束与出错标志等。

 

    (9)信息保护,

      包括信息保护方式和硬件对信息保护的支持等。

    

  软件移植与软件兼容

  通过软件移植与软件兼容的途径,有效地实现同一软件可以运行于不同体系结

  构的物理机,且软件移植由软件实现,软件兼容由硬件实现。

  

  软件移植及其实现方法

  软件移植是指软件(目标代码)可以不修改或仅需少量修改运行于不同体系结构

  的物理机上且结果一致。

    目前,软件移植实现主要有通用程序设计语言、强力逼近和通用计算机语言等三种方法。

 

    (1)通用程序设计语言方法。

    通用程序设计语言方法是指所有程序员均采用通用程序设计语言进行程序设计,

    且对不同体系结构的物理机均建立由该语言所定义的虚拟机,即

    

 

 

 

 

    (2)强力逼近方法。

    强力逼近方法是指对不同体系结构的物理机均建立所有程序设计语言的虚拟机,

    即为每种物理机均配置所有程序设计语言的编译或解释程序

    这是目前使用最多的方法

    

 

 

 

        

    (3)通用计算机语言方法。

    通用计算机方法是指建立由通用计算机语言所定义的虚拟机,

    即为每种物理机均配置通用计算机语言的编译或解释程序,且又为所有程序设计语言配置编译或解释程序,

    把不同的程序设计语言程序转换为通用计算机语言程序

      

 

 

 

   软件兼容及其实现方法

    软件兼容是指同一个软件(目标代码)可以不加修改地运行于体系结构相同组成

    逻辑不同的物理机上且结果一致

      

 

 

 

    显然,从计算机体系结构发展来看,对于软件兼容的实现,

    仅需要满足向上兼容而不需要满足向下兼容,仅需要满足向前兼容而不需要满足向后兼容。。

    目前,软件兼容实现主要有系列化和模拟仿真等二种方法

    (1)系列化方法。

      系列化方法是指按向上兼容或向前兼容的要求,对某种计算机体系结构进行适

      度改进,构建更高档次或后续的物理机。

      这样原计算机体系结构物理机的目标代码可以不加修改运行于更高档次或后续物理机上

      即是对原来的计算机体系结构进行扩展,系列化方法实现的是体系结构相同物理机之间的软件兼容

    

    (2)仿真方法。

      所谓仿真方法是指在一种微程序控制的物理机上,通过

      修改微程序,使微程序可以解释并执行另一体系结构物理机的目标代码。

   

计算机工作原理及其结构原型

  概括地说,计算机的工作原理为“存储程序、顺序驱动、指令控制”

  虽然计算机已发展为一个宠大家族,机种型号繁杂、硬件配置多样、性能应用不同,

  但不仅工作原理相同,就其体系结构而言,都是冯.诺依曼体系结构的改进与变形

    

 

 

 

    原型计算机体系结构主要问题

    (1)低速输入/输出与高速运算串行操作。

    (2)控制器负担过重。

 

    (3)难以最大限度地利用指令之间的并行性。由于采用“存储程序、顺序驱动”原理,

      指令执行顺序严格按程序中指令排列次序进行(分支由转移指令软件实现);

      当程序中前后指令之间存在数据关联时,编程排列指令次序是必须的,但程序中前

      后指令之间不存在数据关联时,则强加了一个“顺序关联”;

  

    (4)硬件可以直接处理的数据类型越多,指令系统越庞大复杂,编译负担越重

    (5)指令与数据等同存于同一存储器带来许多不利

    (6)存储器难以甚至无法直接存储栈、树、图和多维数组等非线性、多维或离散

     数据类型的数据

    (7)体系结构难以优化。

    

  原型计算机体系结构改进

    (1)将以运算器为中心改为以主存存器为中心

    (2)将采用集中控制改为采用分散控制。通过该改进,把 I/O 设备的输入/输出

      操作控制从控制器中分离出去,由 I/O 接口电路实现,从而可以充分提高功能部件

      的利用率和计算机的性能

 

    (3)将程序控制驱动改为激发控制驱动。

      于(传统)计算机采用“程序驱动”计算规则,所以称为程序驱动或程序控制计算机,

      非程序驱动目前主要有数据驱动、需求驱动和模式匹配驱动等三种方式

 

      数据驱动是指指令(即工作单元)序列中任一条指令所需的操作数齐备,就可

      立即进行执行,即指令不是按指令序列由控制器控制其顺序执行,而是在数据可用性控制下并行执行的。

      它可以充分支持指令级并行性的实现,只要有足够多的处理单元,

      相互间不存在数据依赖的指令都可以并行处理,指令序列中指令的处理次序由指令间的数据依赖关系决定。

 

      数据流计算机采用专用存储的数据传递方式,每个操作数经过指令使用一次后就消失,

      变成结果数据供下一条指令使用。

 

      (4)将操作数不带数据类型标志改为带数据类型标志。

      (5)将软硬件截然分开改为软硬融合于一体。

      (6)存储器组成多样化与复杂化,以避免存储器存在的缺陷

      (7)为实现特定计算任务或算法,出现了各种不同的计算机。

      (8)为解决原型结构存在的其它缺陷,采用了许多技术措施。如增加寻址方式,

        以方便对复杂数据结构的访问;采用流水线技术,以加快指令与操作的执行速度;

        为了增加存储器带宽,采用并行存储器或按内容访问的相联存储器、增设高速缓冲

        存储器或通用寄存器;引入虚拟存储器,以方便高级语言编程

标签:计算机,绪论,兼容,硬件,指令,软件,体系结构
From: https://www.cnblogs.com/cilinmengye/p/17206344.html

相关文章