前言与浅谈

本文浅谈一下关于《计算机组成原理(第4版)》的部分理解与课堂笔记,只对笔记作补充,对具体的内容不进行讲述。

讲授这门课程的赵老师还是挺有趣的,从其他地方了解了不少他的事情。总之是一名十分具有学识和远见的老师。本文中的引用实例大部都出自赵老师之口,后经过部分查证和补充完善。自然也会有查证不实的问题,有出入的话就只能按我目前的理解来记录,待到有所理解感悟后再来进行修正。本文中使用“赵说🤓👌”来进行补充。

虽然目前为止上了4个课时,但是对这一门课也有了不少新的理解与认识,希望能结合此笔记与脑子中的课本,将这一门课程摸透,至少在形式主义上摸透这一门课程中的重点内容。

——为之 书2024.8.29

第一章 概论

1.1 电子计算机与存储程序控制

看了一下书籍,那这里我就不按照课本分点来进行划分了,就只记下一些比较有趣的部分吧。

1 电子计算机的分类

  • 电子模拟计算机

    • 处理的信息是连续变化的物理量
    • 运算的过程是连续的
  • 电子数字计算机

    • 处理的信息是在时间上离散的数字量
    • 运算的过程是不连续的

我们一般常说的计算机都是指电子计算机。

2 计算机的发展历史

一般来说发展历史都采用电子器件来进行划分,而不是按照规定你的时间

  • 一代电子管计算机
  • 二代晶体管计算机
  • 三代小、中规模集成电路计算机
  • 四代大、超大规模集成电路计算机

其实综上所述,所有高新科技的发展都是受限于材料的困难程度,要将抽象的逻辑化转为现实,所采用的材料从无到有、从原始到发达都是需要无数的实验、心血、试错才能完成科技的推动和发展。

那么计算机从电子管到晶体管再到现在的半导体,为什么能够将计算机不断发展和改进升级,这就要提到一个概念了

“制程”

制程就是制造芯片,制造什么芯片?制造半导体芯片

半导体的芯片制造需要三个方面

  • 设计
  • 光刻
  • 封测

这里我们就谈谈光刻,光刻是制程的重要部分,需要用到光刻机(EUV)。

那么光刻机是什么?

通俗来说就是用光来雕刻的工具。

雕刻本身就复杂,更何况制程的光刻,需要在7nm的芯片上进行雕刻。

7nm是什么概念?人一根头发直径是1000nm。

那么制程越高,芯片的性能就越强

  • 扩大单位面积的电路设计
    • 同样面积下,雕刻所需要的面积越小,就能容纳更多的电路设计,那么芯片性能自然更强。
  • 减少所需要的电压
    • 雕刻的间距越小,那么之间的电势差就越小,即电压越小。那么最突出的优势就是发热减少。

以小见大,众所周知,美丽国卡中国的脖子,打压华为的一大方面就是限制光刻机

在半导体制造行业中,唯一能做光刻机的企业就是Intel

诶?但是Intel能做不做,选择了性价比跟高的外包——

外包中最顶级的自然是我们家喻户晓的亚洲四小龙之一的——台北台积电

供给有限、资源有限、生产力有限,那么为了不被永远卡脖子,那么研制我们自己的光刻机,就是高新技术行业不断努力的方向。

1.2 计算机的硬件组成

1 存储程序的概念

ENIAC

1946年2月世界上第一台电子计算机在美国宾夕法尼亚大学诞生

ENIAC(Electronic Numerical Integrator and Computer)

话说这个ENIAC诞生的背景是二战,

制造他的目的是为了计算导弹的落点,运用合力来计算导弹的飞行轨迹。

计算机还是适合做重复性的劳动工作。


冯氏结构

冯诺伊曼,美籍匈牙利裔科学家

在ENIAC研制的同时。提出了存储程序概念(1945年6月)

概括为以下三点:

  • 计算机(指硬件)应由运算器、存储器、控制器、输入设备和输出设备五大基本部件组成

    • 这里的存储器其实指的是一个存储器系统
  • 计算机内部采用二进制来表示指令和数据

    • 为什么要使用二进制而不是用其他高进制来表示指令和数据?

    首先要吧抽象的概念集转为一个物理状态下的实际输出,那么我们需要有一个物理载体

    而如果我们需要使用多进制进行表示的话,那么就需要一个告诉、可控的物理载体来表示对应进制数的状态

    目前来说,并没有发现什么材料或者是物质可以达成这样的条件

    反观二进制

    光、蛋白质、半导体都可以进行表示

    光的明暗变化 =》光纤 =》光学计算机

    蛋白质不同状态下的性状表现=》生物计算机

    半导体的通电1,断电0=》电子计算机

  • 将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作 ,这就是存储程序的基本含义。

    • 与其说启动计算机进行工作,不如说是“使用程序控制计算机工作”

那么再概括一下,冯氏结构可以分为更简单的三点内容:

  • 存储程序
  • 程序控制
    • 指的注意的是,这里的程序和第一点的程序本质上是同一个东西
    • 这个程序在存储阶段就可以事先存储在计算机中,并且在计算机中可以自己进行可控的运行=》这就是
  • 五大基础部件
    • 冯氏结构实际是以运算器为中心,但是发展到现在,已转向以存储器为中心
    • 当今计算机中,通常将运算器和控制器合称为中央计算器(Central Processing Unit,CPU)

存储器

存储器可以戏称为大内总管:

主要原因是计算机内部CPU和输入设备、输出设备、外存的数据交换都需要主存的中转。

主存(main memory)+外存就构成了我们计算机当中的存储器

当然并不只是只有存储器系统当中才能进行数据的存储,

在运算器当中也有类似功能的不见,我们称为寄存器。

也就是说,公共使用的存储系统就是存储器,而固定某个系统或者是组件使用的存储系统就是寄存器。

2 计算器部件的连接

总线结构
  • 单总线结构
    • 特点是成本高,速度快,3GHz的CPU,总线的速度能够达到1866MHz,也就是1.8GHz。
    • 单总线结构,CPU和主存储器主要使用系统总线,其他部件则通过接口进行分支的使用,所以速度较快。
单总线结构
单总线结构
  • 多总线结构
    • 多总线架构主要用于大型、中型的计算机典型结构,比如工作站或者是服务器
      • 工作站和服务器的区别主要是外设数量的区别,工作站一般需要8+,服务器一般是12+
    • 多总线引入了新的概念——通道(channels)
    • 我们将外设布置在通道控制的接口上,此时总线结构中干线全部由CPU和主存占用,以此来增加整个系统的效率。
多总线结构
多总线结构

3 冯诺依曼结构和哈弗结构

前面我们讲到了冯诺依曼结构,作为一种高性价比的存储程序概念。相对的,如果我们根据程序(即指令序列)和数据的存放形式,那么我们的存储器设计思想又可以分为冯诺依曼结构和哈弗结构。

在介绍两种结构之前,我们先应引入一个数的概念。

数具体来说包含两种:一种是数据,另一种是指令。

  • 数据,即data,主要就是存储“数”这个概念,具有具体属性的单位。
  • 指令,顾名思义就是植入到计算机系统当中的指令和命令。

冯诺伊曼结构

冯诺依曼结构存储数据主要是将指令和数据同时且混合的存储到一个存储器当中,也就是所有的数据都共享一个总线。

此时会出现的问题:无法同时取指令和取操作数。

哈弗结构

冯诺依曼结构在进行高速、实时处理时,不可避免的会出现总线拥挤的问题。为了解决这个问题,哈佛大学提出了哈佛结构。

哈佛结构的指令和数据是分开进行存储的,即哈佛结构至少拥有两组总线

  • 程序存储器(Persistent Memory,PM)
  • 数据存储器(Data Memory,DM)

此时就可以解决冯诺依曼的问题:可以允许同时获取指令字和操作数。

1.3 计算机系统

1 硬件软件的关系

在一个计算机系统当中,包含硬件系统和软件系统两大部分。

硬件通常是指一切看得到摸得到的设备实体;

软件通常是泛指各类程序和文件,实际上是由一些算法以及其在计算机中国的表示所构成的。

  • 硬件系统(Software)
  • 硬件系统(Hardware)
  • 固件(Firmware)
    • 1967年由美国人A·Opler提出。
    • 固件是指那些存储在能永久保存信息的器件(eg. ROM)中的程序,是具有软件功能的硬件。
    • 固件既使用了硬件作为载体,又使用了软件写入程序。

2 计算机的工作过程

还没看懂,先不做整理。。。

3 计算机的主要性能指标

机器字长

参与运算的数的基本单位,是由加法器、寄存器的位数决定。

一些基本概念

  • 字(Word)

    • 指数据字,是一个度量单位,用来度量各种数据类型的宽度。
  • 字长

    • 表示数据运算的宽度,反应的是计算机处理信息的能力。
  • 字节(Byte,B)

    • 一个字节等于8位二进制位(bit),位用小写字母b表示
数据通路宽度

数据总线一次所能并行传送信息的位数,称之为数据道路宽度。

主存容量

一个主存储器所能存储的全部信息量称为主存容量。

通常,以字节数来表示存储容量,这样的计算机称为字节编址的计算机。

当然对应也有以字为单位编制的,他们用字数乘字长来表示存储容量。

表示容量大小是,通常使用一些字符,它们的通常含义和实际表示略有不同,具体如下:

单位 通常意义 实际表示
K(Kilo) 10^3 2^10=1024
M(Mega) 10^6 2^20=1 048 576
G(Giga) 10^9 2^30=1 073 741 824
T(Tera) 10^12 2^40=1 099 511 627 776
P(Peta) 10^15 2^50=1 125 899 906 842 624
运算速度

看不懂,全是公式。。。