计算机系统结构

  • 第一章

  1. 计算机系统结构基本概念 

    1.1.1.计算机系统的层次结构

      计算机系统是由硬件和软件组成的,按照功能划分为7个层次

              

      •  0级机器有硬件实现是机器的硬件内核
      •  1级机器有位程序(固件)实现 ,它根据各种指令的操作所需要的控制时 序,配备一套微指令,编写微程序,控制信息在个寄存器之间的传送。              
      •   2级是传统的机器语言机器。这级的机器语言是该机的指令系统。机器语言的程序员用着记得指令系统编写的程序有第一级的为程序进行解释。
      • 3级是操作系统机器
      • 4级是汇编语言机器。有汇编语言编写的程序首先翻译成第3级或者第2级语言,然后有相应的机器进行解释。完成翻译的程序叫做汇编程序。
      • 5级是高级语言机器
      • 6级是应用语言机器,这种语言使得非计算机专业的人员能直接使用计算机;

      各层次之间通过翻译或者是解释实现的,翻译是指通过编译器把高一级的语言程序转化为弟一级的语言程序,并运行。

      固件指的是具有软件功能的硬件。

    1.1.2.计算机系统结构的定义

      系统结构:程序设计者所看到的一个计算机的系统的属性,即概念性结构和功能特性。

      功能特性:

      数据表示:硬件能够直接识别和处理的数据类型。

      寻址技术:编制方式,寻址方式和定位方式等。

      寄存器寻址:操作数寄存器,变址寄存器,控制寄存器,及专用的寄存器的定义,数量和使用规则等。

      指令系统:操作类型,格式,指令讲的排序控制方式等。

      中断系统:中断类型,终端级别,和中断响应方式等。

      存储系统:寻址空间,虚拟寄存器,Cache存储器

       处理及工作状态:定义和切换方式,如关天和目态等。

      输入输出系统:数据交换方式,交换过程的控制等。

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

    1.1.3 计算机的组成和实现

      计算机组成是指计算机系统的结构的逻辑实现。

      计算机实现是指计算机组成的物理实现。

      系统结构,组成和实现三者的关系

      • 计算机组成是计算机的系统机构的逻辑实现,计算机实现是计算机组成的物理实现,三者包含各自不同的内容,但又有着紧密的联系。 
      • 一种系统结构可以有多种组成,同样的,一种组成可以有多种物理实现。
      • 例如:乘法功能,是够有乘法指令,乘法/加法+移位       

    1.1.4 计算机系统机构的分类 

    1. Flynn 分类法:按照指令流和数据流的多倍性进行分类。分为SISD,SIMD,MISD,MIMD四种。
    2. 冯氏分类法
    3. Handler分类法:根据并行度和流水线提出的一种分类方法,t(系统型号)=(K,d,w)k表示流水线中程控部件的个数,d表示指令流水线中的算数逻辑部件的个数,w表示操作流水线中基本逻辑线路的套数。

  2. 计算机系统的设计

    1.2.1 计算机系统设计的定量原理

      加快经常性事件的的速度。

      阿姆达尔定率

      

       Amdahl定律认为:系统中改进某一部件对整个系统性能的提高与这种部件的使用频率占总执行时间的比例有关。

         

       

       CPU 性能公式

          CPU的执行时间取决于三个要素

        • 指令条数IC
        • 每条指令所花的时钟周期数CPI
        • 时钟频率f(或者是时钟周期t)

       公式的推导:

          CPU时间(T)=程序执行所需的时钟周期数*时钟周期时间(t) 

          每条指令的平均时钟周期数:CPI=执行程序所需的时钟周期数/IC

          其中:

        • 时钟周期时间:器件工艺有关
        • CPI:取决于计算机组成的指令系统结构
        • IC:取决于指令系统的结构和编译技术

       访问的局部性原理

          局部性分为时间上的局部性和空间上的局部性。

        • 时间上的局部性是指最近访问过的代码也可能是不就将被访问的代码。
        • 空间上的局部性是指那些地址相近的代码可能会一起被访问到。 

          存储系统的构成就是一访问的局部性原理为基础

       采用并行性是改善计算机行嗯那个的重要方法。

          系统级并行,例如多处理器,多磁盘技术,实现更大的吞吐量。

          单一处理器层面,一般采用指令级并行的方法来提高性能,指令级并行的而代表技术就是流水线。

          在数字电路设计层面可以发掘并行性,比如组相联的Cache可以同时使用多个存储块,先行进位链能加速求和的过程。

     1.2.2 计算机系统设计者的主要任务

      • 根据用户要求进行需求分析
      • 进行软硬件平衡
      • 设计出符合今后发展方向的系统结构

     1.2.3 计算机系统设计的主要方法

      • 由上往下设计  
      • 由下往上设计
      • 由中间开始设计

  3.计算机系统的性能评价标准

     1.3.1 性能

       主要性能衡量标准

       无论哪种标准,测试性能时比较的时间是相同负载的执行时间一程序和操作系统指令的总执行时间。

      • MIPS 百万指令级
      • MFLOPS
      • 基准测试程序

       性能评测结果分析

      • 不同程序在不同机器上的执行时间
      • 平均执行时间
      • 加权平均执行时间
      • 使用参考机器
      • 标准偏差

     1.3.2 成本

       计算机系统的成本是指硬件和软件的两方面的成本

  4.计算机系统结构的发展

      • 冯诺依曼体系结构及其改进
      • 软件对系统结构的影响
      • 期间发展对系统结构的影响
      • 应用对系统结构的影响        

  5.计算机系统结构中并行性的发展

     1.5.1 并行性的概念

       所谓的并行性式是指计算机系统在同一时刻或者同一时间间隔内进行多种运算或者操作。只要在时间上的重叠,就存在并行性。它包括同时行与并发性两种含义。

        同时性:两个或者两个以上的事件在同一时刻发生。

        并发行:两个或者两个以上的事件在同一时间间隔内发生。

       计算机系统中的并行性有不同的等级。从数据处理的角度看从低到高可以分为

      • 字串位串
      • 字串位并
      • 字并位串
      • 全并行

       从程序执行的角度来看,并行性等级从低到高分为:

      • 指令内部并行
      • 指令级并行
      • 任务级或过程级并行
      • 作业或程序级并行

       提高并行性技术途径

      • 时间重叠,多个处理过程在时间上相互错开,轮流重叠的使用同一套硬件设备的各个部分。
      • 资源重复,在并行性概念中引入空间因素,以数量取胜的原则,通过 重复设置硬件资源,大幅度提高计算机的系统性能。
      • 资源共享,这是一种软件方法,使得多个任务按照一定的顺序轮流使用同一套硬件设备。                    

  (全手打 by Jaiken Wong)

猜你喜欢

转载自www.cnblogs.com/Jaiken/p/8970348.html