第一章:计算机系统概述

1.1 计算机发展历程

  • 第一代计算机:

    1946年,第1台通用电子计算机 ENIAC诞生。

    • 特点:

      由电子真空管组成。

      美国宾夕法尼亚大学研制。

      用十进制表示信息并运算。

      采用手动编程。

  • 第二代计算机:

    • 特点:

      晶体管代替电子管。

      汇编语言代替机器语言。

  • 第三代计算机:

    • 特点:

      中小规模集成电路代替晶体管。

      操作系统问世。

  • 第四代计算机:

    • 特点:

      采用集成度很高的电路。

      微处理器问世。

  • 智能计算机:

    • 特点:

      具备人工智能。

      运算速度极快。

      软件系统能够处理知识信息。

      以神经网络计算机为代表。

  • 计算机硬件的更新换代:

    摩尔定律: 每平方英寸电路板上的晶体管数量每18个月翻一番。

    微处理器的出现和发展:1971年intel公司开发第一个微处理器ntel 4004:,它把 运算器和控制器合并到了一块芯片上,经历了4位、8位、16位、32位和64位几个发展阶段。

  • 计算机的分类:

在这里插入图片描述

在这里插入图片描述

1.2 计算机系统基本组成

  • 现代计算机的原型:

    1946年,普林斯顿高等研究院开始设计“存储程序”计算机,被称为IAS计算机。

    其采用的计算机结构被称为冯·诺依曼结构。

    几乎现代所有的通用计算机大都采用冯·诺依曼结构,因此,IAS计算机是现代计算机的原型机。

    • 注:
      IAS计算机1951年才完成,并不是第一台存储程序计算机,1949年由英国剑桥大学完成的EDSAC是第一台。
  • 冯·诺依曼结构:

    冯·诺依曼结构最重要的思想是“存储程序”。

    冯·诺依曼结构计算机也称为冯·诺依曼机器。

  • 冯·诺依曼结构的主要思想:

    1.计算机应由运算器、控制器、存储器、输入设备和输出设备五个基本部件组成。

    2.各基本部件的功能是:

    存储器不仅能存放数据,而且也能存放指令,形式上两者没有区别,但计算机应能区分数据还是指令 ;

    控制器应能自动取出指令来执行 ;

    运算器应能进行加/减/乘/除四种基本算术运算,并且也能进行一些逻辑运算和附加运算;

    操作人员可以通过输入设备、输出设备和主机进行通信。

    3.内部以二进制表示指令和数据。每条指令由操作码和地址码两部分组成。操作码指出操作类型,地址码指出操作数的地址。由一串指令组成程序。

    4.采用“存储程序”工作方式。

  • 计算机定义:

    计算机是一种能对数字化信息进行自动、高速算术和逻辑运算的处理装置。

  • 计算机基本部件:

    • 术语:

      CPU : 中央处理器;

      PC : 程序计数器

      MAR : 存储器地址寄存器

      ALU : 算术逻辑部件

      IR : 指令寄存器

      MDR : 存储器数据寄存器

      GPRs: 通用寄存器组( 由若干通用寄存器组成,早期就是累加器 )

    • 功能:

      运算器( 数据运算): ALU、GPRS、标志寄存器等

      存储器( 数据存储 ) : 存储阵列、地址译码器、读写控制电路

      总线( 数据传送) : 数据(MDR)、地址(MAR)和控制线

      控制器( 控制 ) : 对指令译码生成控制信号。

1.3 计算机系统的工作原理

  • 存储程序的工作方式:

    • 概述:

      任何要计算机完成的工作都要先被编写成程序,然后将程序和原始数据送入主存并启动执行。一旦程序被启动,计算机应能在不需操作人员干预下,自动完成逐条取出指令和执行指令的任务。

    • 通过比喻理解存储程序的工作方式:

      CPU对应厨房,控制器对应做菜人,GPRs对应盘,ALU等对应锅灶 ,存储器对应架子,程序对应菜单,指令对应菜谱。

      程序由指令组成( 菜单由菜谱组成 )。

      • 程序在执行前:

        数据和指令事先存放在存储器中,每条指令和每个数据都有地址指令按序存放,指今由OP、ADDR字段组成,程序起始地址置PC。

        (原材料和菜谱都放在厨房外的架子上,每个架子有编号。告诉做菜人从第5个架上指定菜谱开始做)。

      • 开始执行程序:

        第一步 : 根据PC取指令(从5号架上取菜谱)

        第二步 : 指令译码(看菜谱)

        第三步取操作数( 从架上或盘中取原材料)

        第四步指令执行( 洗、切、炒等具体操作)

        第五步: 回写结果( 装盘或直接送桌)

        第六步 : 修改PC的值(算出下一菜谱所在架子号6=5+1)

        继续执行下一条指令( 继续做下一道菜)

    • “存储程序”工作方式中的指令和数据:

      程序启动前,指令和数据都存放在存储器中,形式上没有差别都是0/1序列。

      程序由指令组成,程序被启动后,计算机能自动取出一条一条指令执行,在执行过程中无需人的干预。

      指令执行过程中,指令和数据被从存储器取到CPU,存放在CPU内的寄存器中,指令在IR中,数据在GPR中。

  • 从机器语言到高级语言:

    用机器语言编写程序,并记录在纸带或卡片上。

    • 汇编语言:

      汇编语言(源)程序由汇编指令构成。

      汇编指令是用助记符和标号来表示的指令(与机器指令一一对应)。

      • 优点:
        不会因为增减指令而需要修改其他指令
        不需记忆指令编码,编写方便
        可读性比机器语言强
    • 机器级语言:

      机器语言和汇编语言都是面向机器结构的语言,故它们统称为机器级语言。

    • 高级编程语言:

      高级编程语言有“面向过程”和“面向对象”之分,其处理逻辑分为三种结构: 顺序结构、选择结构、循环结构。

    • 高级编程语言到机器语言程序的转换:

      将高级编程语言转换为机器语言程序有两种转换方式:“编译”和“解释”。

      编译程序: 将高级语言源程序转换为机器级目标程序,执行时只要启动目标程序即可

      解释程序: 将高级语言语句逐条翻译成机器指令并立即执行,不生成目标文件。

  • 用高级语言开发程序需要的支撑环境:

    1.需要编辑器编写源程序。

    2.需要一套翻译转换软件处理各类源程序。

    ◇ 若通过编译方式进行翻译,则需要预处理程序、编译器、汇编器、链接器。

    ◇ 若通过解释方式进行翻译,则需要解释程序。

    3.需要一个可以执行程序的界面(环境)。

    最基本的环境是操作系统提供的人机接口和操作系统内核(如系统调用) 。

    人机接口分为:

    ◇ GUI方式:图形用户界面。

    ◇ CUI方式:命令行用户界面。

    • 总结:

      编辑器和翻译转换软件构成语言处理程序。

      语言处理程序和语言的运行时系统(如库函数,调试、优化等功能)构成语言处理系统。

      支撑程序开发和运行的环境由系统软件提供,最重要的系统软件是操作系统和语言处理系统。

      语言处理系统运行在操作系统之上,操作系统利用指令管理硬件。

1.4 计算机系统层次结构

  • 计算机系统层次结构的发展:

    ◇ 最早的计算机用机器语言编程。机器语言称为第一代程序设计语言。

    该计算机系统层次结构如下:
    在这里插入图片描述

    ◇ 后来用汇编语言编程。汇编语言称为第二代程序设计语言。

    该计算机系统层次结构如下:
    在这里插入图片描述
    ◇ 现代计算机用高级语言编程。

    第三代程序设计语言 (3GL) 为过程式语言,编码时需要描述实现过程,即“如何做"。

    第四代程序设计语言 (4GL) 为非过程化语言,编码时只需说明“做什么",不需要描述具体的算法实现细节。

    该计算机系统层次结构如下:

在这里插入图片描述

  • 计算机系统的不同用户:

    最终用户工作在由应用程序提供的最上面的抽象层。

    系统管理员工作在由操作系统提供的抽象层。

    应用程序员工作在由语言处理系统(主要有编译器和汇编器)的抽象层。
    语言处理系统建立在操作系统之上。

    系统程序员(实现系统软件)工作在指令集体系结构ISA层次,ISA处于软件和硬件的交界面(接口),是对硬件的抽象,所有软件功能都建立在ISA之上。

    操作系统通过指令直接对硬件进行编程控制。

    在这里插入图片描述

    • 指令集体系结构ISA:

      ISA规定了如何使用硬件。没有它,软件无法使用计算机硬件。没有它,一台计算机不能称为“通用计算机"。

    • ISA和计算机组成(微结构) 之间的关系:

      不同ISA规定的指令集不同,如,IA-32、MIPS、ARM等。

      计算机组成(微结构) 必须能够实现ISA规定的功能,如提供GPR、标志、运算电路等。

      同一种ISA可以有不同的计算机组成(微结构) ,如乘法指令可用ALU或乘法器实现。

  • 计算机软件的分类::

    按其功能可以分为系统软件和应用软件。

    系统软件:是一组保证计算机系统高效,正确运行的基础软件,通常作为系统资源提供给用户使用。主要有操作系统(OS)、数据库管理系统(DBMS) 、语言处理程序、分布式软件系统、网络软件系统、标准库程序、服务型程序等。

    应用软件:是指用户为解决某个应用领域中的各类问题而编制的程序。

1.5 计算机的性能指标

  • 概述:

    计算机的性能指标主要为以MAR位数、MDR位数为代表的主存容量指标;以CPU主频(时钟频率) 、CPU时钟周期、CPI、CPU执行时间、IPS和FLOPS为代表的运算速度指标; 以数据通路带宽、吞吐量、响应时间为代表的系统整体性能指标。

  • 主存容量指标:

    • MAR位数:

      反映存储单元的个数。

      • 理解记忆:

        将MAR比作大楼的门牌号。比如MAR有10位,每一位0或1两种选择,那么组成门牌号的信息可能性就是222…*2=2的10次方,理论上可以存储1024个地址信息,也就是对应1024个存储单元。

      • MAR:

        MAR全称memory address register,主存地址寄存器,用来保存数据被传输到的位置的地址或者数据来源位置的地址。

    • MDR位数:

      存储单元中二进制代码的位数,即存储字长。

      • 理解记忆:

        将MDR比作快递柜,其大小就是MDR位数。通常每个存储单元能存储的二进制位数都是8个bit的整数倍 (8bit、 16bit、32、bit、64bit) 。

      • MDR:
        MDR全称 memory data register,主存数据寄存器,用来保存要被写入地址单元或者从地址单元读入的数据。
  • 运算速度指标:

    • CPU主频 (时钟频率):

      主频是机器内部主时钟的频率,主频越高,完成指令的一个执行步骤所用的时间就越短,速度越快。

      • 理解记忆:

        将主频比作广播体操的节拍,节拍越快,动作就需要越快,即主频越高,在计算机中完成相同步骤的速度就越。

        主频高的CPU一定比主频低的CPU快吗?

        在CPU中,执行每条指令所需要的时钟周期数量不同,比如在做广播体操时做同样的动作有时需要2个节拍,有时需要4个节拍,我们把CPU完成一套动作(指令)所需要的时钟周期数量称为CPI。

        CPU执行时间 =(指令条数 X CPI)/主频,对于如下两个CPU:A的主频为2GHz,平均CPI=10;B的主频1GHz,平均CPI=1,B比A快。

    • CPU时钟周期:

      CPU时钟周期是一个时间单位,即一个周期的时长。

      CPU时钟周期=1/主频

    • CPI:

      一条指令所需要的时钟周期数。

      CPI = 程序所需时钟周期数/程序所含指令数

      执行一条指令的耗时 = CPI*CPU时钟周期

      • 若A、B两个CPU的平均CPI相同,那么A一定更快吗?:

        不一定,还要看指令系统,如A不支持乘法指令,只能用多次加法实现乘法;而B支持乘法指令。

    • CPU 执行时间:

      运行一个程序所花费的时间。

      CPU 执行时间 = CPU时钟周期数/主频 = (指令条数*CPI)/主频

    • IPS:

      每秒可以执行多少条指令。

      IPS前面可以加入K或M。

      KIPS: 每秒可以多少千条指令。

      MIPS: 每秒可以执行多少百万条指令。

      IPS= 主频/平均CPI

    • FLOPS:

      每秒执行多少次浮点运算。

      FLOPS前面加入M、G和T。

      在这里插入图片描述

  • 系统整体性能指标:

    • 数据通路带宽:

      指数据总线一次所能并行传送信息的位数。

    • 吞吐量:

      指信息流入、处理和流出系统的速率,主要取决于主存的存取周期。

    • 响应时间:

      指的是用户向计算机发送一个请求,到系统对该请求作出相应并获得所需结果的等待时间。通常包括CPU时间(运行程序花费)与等待时间 (例如I/O操作)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值