计组第一章 计算机系统概论

第一章 计算机系统概论

1.1 计算机系统简介#

1.1.1 现代计算机的多样性#

计算机的种类有很多

image-20221127205127024

HPC:高性能计算机

物联网#

​ 把感应器嵌入和装备到电网、铁路、桥梁、隧道、公路、建筑、供水系统、大坝、油气管道等各种物体中,并且被普遍连接,形成所谓“物联网”,然后将“物联网”与现有的互联网整合起来,实现人类社会与物理系统的整合,形成智慧地球

​ 如果这个物联网有反馈系统,就是前端将信息反馈给后端,后端发出信号给前端甚至做出相应的动作,就形成了CPS

老师还讲了一些世界最快的计算机,地址在这

1.1.2. 计算机的软硬件概念#

计算机主要由硬件和软件构成

计算机系统

硬件通过软件的每条指令发挥作用

软硬件层次结构#

image-20221127211510791

  1. 硬件为软件提供接口,比如指令集,软件通过接口控制硬件
  2. 软件中的系统软件管理软硬件,给用户提供人机交互界面
  3. 应用软件利用系统软件的接口调用系统软件的功能

从物理结构看

image-20221127212320260

总共有9层,机组研究的就是 Logic逻辑层和Micro-architecture微结构层

从程序员的角度来看

image-20221127212420254 image-20221127212854709
  1. 最早出现的是机器语言

  2. 然后是汇编语言,将机器语言符号化

  3. 机器不能识别汇编语言的,要用操作系统将汇编语言转化为机器语言,就好像在机器外部加了一层罩子

    一条机器语言一般对应一条汇编语言,即一一对应的

  4. 然后出现出现了高级语言,相当于在汇编语言外部加了一层罩子

  5. 一条机器语言的执行也是有很多过程的,比如说取值,译码,执行等

    一条机器语言对应的多个微指令,即一个微程序

  6. 中间的虚线是软硬件的交接线,实现了软硬件功能的划分,也提供了软硬件的结构

1.1.3. 计算机体系结构&组成#

  1. 计算机体系结构

    程序员所见到的计算机系统的属性概念性的结构与功能特性(指令系统、数据类型、寻址技术、I/O机理)

  2. 计算机组成

    实现计算机体系结构所体现的属性(具体指令的实现)

  3. 总得来说,体系结构是提供接口定义的,组成是实现接口的

系统复杂性管理的方法-1:抽象#

抽象

  1. 抽象-对于一个过程或者一件制品的某些细节有目的的隐藏,以便把其他方面、细节或者结构表达得更加清楚-----百度百科
  2. 抽象-指高级的模型,和低级的实体相对-----维基百科
  3. 抽象-隐藏系统中不重要的细节。-----David Harris

1.2 计算机的基本组成#

1.2.1. 冯·诺依曼计算机#

老师讲了一下冯诺依曼机器的历史

(1) 特点#

  1. 计算机由五大部件组成

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

    当然,也有的是在分开存储的,比如开始程序

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

  4. 指令由操作码(执行什么操作)和地址码(操作数在哪)组成

  5. 存储程序(核心特征)

  6. 以运算器为中心

(2) 硬件框图#

image-20221127214248150

(3) 问题#

  1. 运算器既要实行运算,还要实现输入输出

    运算器为中心,运算器会成为计算机性能的瓶颈

  2. 硬件框图太乱,没有层次化,不利于分析

(4) 第一步改进#

image-20221127214551107

image-20221127214558904表示数据的传输

但这个图看起来还是比较乱

1.2.2. 现代计算机硬件框图#

image-20221127214949524

image-20221127215003877

这样可以将每个模块实现,然后再组成,构成硬件

一般框图就要这种自上而下的管理

系统复杂性管理的方法-2(3’Y)#

3'Y

  • 层次化(Hierachy):将被设计的系统划分为多个模块或子模块
  • 模块化(Modularity):有明确定义(well-defined)的功能和接口,以便于子模块的组合
  • 规则性(regularity):模块更容易被重用

比如各个行业都会为行业内的产品制定一个标准,各个厂商根据这个标准来制作,就可以在任意场合使用

1.2.3.计算机的工作步骤#

编程举例#

image-20221127220846619

image-20221127220939433

问题:乘法的结果会超过ACC的长度

image-20221127221157845

1.2.4. 各个组件的细分#

(1) 主存储器#

image-20221127223608170

主存储器分为存储体,MAR,MDR

  1. 存储体

    image-20221127223718193

    1. 存储单元:存放一串二进制代码
    2. 存储字:存储单元中二进制代码的组合,就是保存的一个数据
    3. 存储字长:存储单元中二进制代码的位数,每个存储单元赋予一个地址号,按地址寻访
  2. MAR:存储器地址寄存区,反映存储单元的个数

  3. MDR:存储器数据寄存器,反映存储字长

image-20221127224240434

  1. MAR = 4位,都是01代码,从0000~1111,存储单元个数是16
  2. MDR = 8位,都是01代码,表示存储字长是8
  3. 那个长方体就相当于一个存储体
  4. 存储器的读出和写入就要靠MAR和MDR做间接存储

(2) 运算器#

① 基本组成
image-20221127224923429 image-20221127224934408
  1. 加法过程中,如果是多个数相加的话,不能直接一起加,要两个两个加,因此将和与被加数都放在ACC里面,这样上一次的加法结果就能直接作为被加数了
  2. 减法同理
  3. 但是乘法除法中的被除数和被乘数都是放在X里面的
  4. MQ保存乘数和商,因此也将其成为乘商寄存器,MQ分别是乘和商的缩写
② 操作过程
a. 加法

image-20221127225415831

b. 减法

image-20221127225439976

c. 乘法

image-20221127225613023

​ 乘法是通过累加和移位的方式实现的,因此得有一个保存累加的结果,就是ACC,所以ACC要变为0

d. 除法

image-20221127225815529

(3) 控制器#

控制器的功能

  1. 解释指令
  2. 保证指令的按序执行

image-20221128110922548

  1. PC:program counter,程序计数器,存放当前欲执行指令的地址, 具有计数功能(PC)+ 1 ——> PC,具体是加几和机器有关
  2. IR:instruction register,指令寄存器存放当前欲执行的指令
  3. CU:Control Unit,控制单元,控制执行指令

因此控制器的结构如下

image-20221128111106081

主存,运算器,控制器构成了主机

(4) 计算机的硬件结构图(具体)#

image-20221128111407014

1.2.5. 指令在主机上的完成过程#

完成一条指令分为取指令,分析指令,完成指令三个步骤

指令的地址保存在PC中,指令保存在存储体当中

(1) 取数#

将存储体数据传到ACC中

image-20221128112011444

  1. 指令的地址存放在PC中,PC将地址给了MAR

  2. 在CU的作用下,MAR将地址给了存储体M

  3. 存储体根据地址将指令给了MDR

  4. MDR将指令传给IR指令寄存器

  5. IR将指令传给CU

    CU进行指令的分析,这里只是简化了

  6. CU控制IR将指令中的数据地址码传给MAR

  7. MAR又将地址传给了存储体

  8. 存储体将数据传给MDR

  9. MDR将数据传给ACC

(2) 存数#

将ACC的数据传给存储体

  1. PC将指令的地址传给MAR
  2. MAR将地址传给存储体
  3. 存储体根据地址将指令传给MDR
  4. MDR将指令传给IR指令寄存器
  5. IR将指令传给CU分析
  6. CU分析之后,IR将地址传给MAR
  7. MAR将地址传给存储体
  8. ACC将数据传给MDR
  9. MDR将数据传给存储体

image-20221128112711221

与取数相比,最后两步的顺序不同

分析上面的过程,无非就是三部:取指令,分析指令,执行指令

  1. 取指令 PC -> MAR -> M -> MDR -> IR, (PC) + 1 -> PC
  2. 分析指令 OP(IR) -> CU
  3. 执行指令 AD(IR) -> MAR -> M -> MDR ->ACC

(3) 程序的执行过程#

  1. 将程序通过输入设备送至计算机

  2. 程序首地址 ——> PC

  3. 启动程序运行

    1. 取指令 PC -> MAR -> M -> MDR -> IR, (PC) + 1 -> PC
    2. 分析指令 OP(IR) -> CU
    3. 执行指令 AD(IR) -> MAR -> M -> MDR ->ACC

    ……(多次执行三个步骤)

  4. 打印结果

  5. 停机

1.3 计算机硬件的技术指标#

如果要买计算机,怎么考虑

  1. 买机器做什么
    1. 文本处理就要普通的笔记本等
    2. 游戏,机器学习需要较好的图像处理
  2. 价钱
  3. 机器的性能
    1. 处理速度快,内存容量大
    2. 价格便宜

以下是计算机硬件的主要技术指标

1.3.1. 机器字长#

  1. CPU 一次能处理数据的位数 与 CPU 中的 寄存器位数 有关
  2. 一般来说,机器字长越长,速度越快

1.3.2. 运算速度#

  1. 主频

  2. 核数以及每个核支持的线程数

  3. 指令的执行时间

    1. 吉普森法image-20221128113858508

      fi是指令的执行频率,ti是该条指令的执行时间

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

      IPC:一个时钟周期执行的指令数

    3. MIPS:每秒执行百万条指令

      但是指令执行的多不代表就快,还要看一条指令执行了多少条计算

    4. FLOPS:每秒浮点运算次数

1.3.3. 存储容量#

存放二进制信息的总位数

image-20221128114306579

主存容量用 字节数 的清晰度不如 存储单元个数×存储字长

posted @   Crispy·Candy  阅读(134)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
主题色彩