【计组】第一章 计算机系统概述

计算机系统概述

计算机的发展历程

  1. 计算机硬件的发展

    电子管时代 --> 晶体管时代 --> 中小规模继承电路时代 --> 超大规模集成电路时代

  2. 计算机元件的更新换代

    1. 摩尔定律:当价格不变时,集成电路可容纳的晶体管数目,约每隔18个月便会增加一倍,性能也提升一倍。(18个月后的CPU性能是现在的两倍)

    2. 半导体存储器的发展

    3. 微处理器的发展:标志了微型计算机的发展

    在这里插入图片描述

    机器字长:计算机一次整数运算所能处理的二进制位数

    操作系统位数:其 所依赖的指令集的位数

  3. 计算机软件的发展

    1. 发展经历:面向机器语言(机器语言、汇编语言) --> 面向问题的高级语言

      1. 机器语言:二进制代码,唯一可以直接执行的语言

      2. 汇编语言:用助记符编写,以便记忆

      3. 正则语言:编译原理中符合正则文法的语言

    2. 高级语言的发展真正促进了软件的发展

      科学计算和工程计算的FORTRAN --> 结构化程序设计的PASCAL --> 面向对象C++ --> 适应网络环境Java

    3. 系统软件的发展(直接影响计算机性能提升),尤其是操作系统(Windows、UNIX、Linux等)

    4. 只有当程序执行时才将源程序翻译成机器语言,并且一次只能翻译一行语句

      1. 解释程序:翻译一句执行依据,边翻译边执行
      2. 编译程序:将高级语言的源程序全部语句一次全部翻译成机器语言程序再执行
      3. 编译:由高级语言转化为汇编语言
      4. 汇编:把汇编语言源程序翻译成机器语言程序
  4. 计算机的分类与发展方向

    1. 电子计算机、数字计算机、通用计算机

      在这里插入图片描述

    2. 按指令和数据流:

      1. 单指令流和单数据流系统(SISD):冯诺依曼体系结构

        在这里插入图片描述

      2. 单指令流和多数据流系统(SIMD):阵列处理器、向量处理器

        在这里插入图片描述

      3. 多指令流和单数据流系统(MISD):实际上不存在

      4. 多指令流和多数据流系统(MIMD):多处理器、多计算机

    3. 发展趋势:两极分化

      1. 微型计算机:更微型化、网络化、高性能、多用途

      2. 巨型机:巨型化、超高速、并行处理、智能化

计算机系统层次结构

计算机系统的组成
  1. 硬件系统和软件系统
  2. 计算机系统性能的好坏,很大程度上由软件的效率和作用来表征
  3. 软硬件在逻辑上是等效的(某一功能可以用软件实现也可以用硬件实现)
计算机硬件的基本组成
  1. 早期的冯·诺依曼机:“存储程序”的思想奠定了现代计算机的基本结构

    在这里插入图片描述

    1. 计算机硬件系统由运算器、存储器、控制器、输入设备和输出设备组成

    2. 指令和数据以同等地位存储在存储器中,并可以按地址寻访

    3. 指令和数据均用二进制代码表示

    4. 指令操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置

    5. 指令在存储器内按顺序存放,通常是顺序执行的

    6. 早期的冯·诺依曼机以运算器为中心输入/输出设备通过运算器存储器传送数据

      在这里插入图片描述

  2. 现代计算机的组织结构

    存储器为中心,使I/O操作尽可能绕过CPU,直接在I/O设备和存储器之间完成

    在这里插入图片描述

    目前大多数现代计算机仍遵循冯·诺依曼存储程序的设计思想

计算机的功能部件

在这里插入图片描述

存储器
  1. 用来存放程序和数据

  2. 分为主(内)存储器和辅助(外)存储器,CPU能够直接访问的存储器是主存储器,辅助存储器中的信息必须调入主存后,才能为CPU所访问

    在这里插入图片描述

  3. 主存储器由许多存储单元组成,每个存储单元包含若干存储元(件),每个存储元(件)存储一位二进制代码01。因此存储单元可存储一串二进制代码,成为这串代码为存储字,这串代码的位数为存储字长

    在这里插入图片描述

    b:bit 一个二进制位 B:Byte字节,八个二进制位

  4. 主存储器是按存储单元的地址进行存取,相联存储器是按照内容访问的

  5. 主存储器的最基本组成:

    在这里插入图片描述

    1. 存储体:存放二进制信息

    2. 地址寄存器(MAR):存放访问地址,经过地址译码找到所选的存储单元

      MAR位数反映存储单元的个数(最多支持多少个),反应可寻址范围的最大值(而不一定是实际存储器的存储容量)

      MAR为10位(即10个二进制位),则有 2 10 = 1024 2^{10}=1024 210=1024个存储单元,记为 1 K 1K 1K

    3. 数据寄存器(MDR):暂存要从存储器中读或写的信息

      MDR位数=存储字长=每个存储单元的大小

    4. 时序控制逻辑:产生存储器操作所需的各种时序信号

  6. 总容量=存储单元个数x存储字长 bit=存储单元个数x存储字长/8 Byte

    1 Byte = 8 bit

    例:MAR为32位,MDR为8位,总容量 = 2 32 ∗ 8 b i t = 4 G B =2^{32}*8 bit = 4GB =2328bit=4GB

  7. 补充

    1 K = 1024 B = 2 10 B 1 K=1024 B=2^{10} B 1K=1024B=210B 2 20 : M 2^{20}:M 220:M 2 30 : G 2^{30}:G 230:G 2 40 : T 2^{40}:T 240:T

  8. 存储原理

    1. 某一行前数字为1,表示读取这一行,其余行均为0

      在这里插入图片描述

    2. 将这一串只能有一个位为1的数字,经过译码器,转换成可以自由取0和1的数字(即地址),例如此时有8行,只需三根线即可表示出8种状态。如下图是输出第一行/第二行的情况。

      n位地址 --> 2 n 2^n 2n个存储单元

      在这里插入图片描述
      在这里插入图片描述

      问:这里存储多少二进制位?

      答:总容量=存储单元个数x存储字长=8*1Byte=8B

  9. 存储器结构补充

    在这里插入图片描述

    1. MAR与MDR虽是存储器的一部分,但常存在于CPU中

      在这里插入图片描述

CPU及其工作过程

1.在这里插入图片描述

  1. 运算器(组合逻辑)

    1. 用于进行算术运算(加减乘除)和逻辑运算(与、或、非、异或、比较、位移等)

    2. 在这里插入图片描述

      在这里插入图片描述

  2. 控制器(时序逻辑)

在这里插入图片描述

  1. 工作过程

    1. 取数指令

      ​ 符号规定:

      在这里插入图片描述

      1. 首先,主存取PC中下一条指令的内容:(PC) —> MAR

      2. 而后,在存储体中找到地址所对应的位置,而后写到MDR中:M(MAR) —> MDR

      3. 再将MDR中内容放到指令寄存器(IR)中:(MDR) —> IR,取指令结束

      4. 将操作码放入控制单元以解析:OP(IR) —> CU,分析指令结束

      5. 按照地址码寻找存储体中数的位置:Ad(IR) —> MAR,M(MAR) —> MDR

      6. 将数据放置到累加器中:(MDR) —> ACC,执行指令结束

    2. 图示

    在这里插入图片描述

    1. 在这里插入图片描述
      在这里插入图片描述

      CPU区分指令和数据的依据:指令周期的不同阶段

IO设备

在这里插入图片描述

软件系统 & 编程语言

在这里插入图片描述

  1. 软件:系统软件、应用软件
    在这里插入图片描述
  2. 计算机编程语言

在这里插入图片描述

计算机的性能指标

  1. 机器字长:计算机进行一次整数运算所能处理的二进制数据的位数

  2. 数据通路带宽:数据总线(这里指连接CPU和其他)一次所能并行传送信息的位数

  3. 主存容量:总容量=存储单元个数x存储字长

  4. 运算速度

    1. 程序(指令)耗时计算:

      CPU始终频率(主频)=1/CPU时钟周期

      CPI:执行一条指令所需的时钟周期数

      该指令耗时=CPI*CPU时钟周期

      在这里插入图片描述

    2. MIPS:每秒执行多少百万条指令

      MIPS=指令条数/(执行时间*10^6)=主频/CPI

      在这里插入图片描述

    3. MFLOPS,每秒执行多少百万次浮点运算

      MFLOPS=浮点操作次数/(执行时间*10^6)

    4. GFLOPS,每秒执行多少十亿次浮点运算

      MFLOPS=浮点操作次数/(执行时间*10^9)

    5. TFLOPS,每秒执行多少百万次浮点运算

      MFLOPS=浮点操作次数/(执行时间*10^12)

  5. 吞吐量:系统在单位时间内处理请求的数量,主要屈居于主存的存取周期

  6. 响应时间

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值