¶
统计信息:字数 8768 阅读18分钟
计算机组成原理¶
原始教程链接: https://www.bilibili.com/video/BV1t4411e7LH/?vd_source=2d5bdee7ea59486ed4aa4a9b10020224
1.1 计算机系统简介课程简介¶
课程来源:哔哩哔哩-哈尔滨工业大学
集成后文档比较大,加载图片可能服务器返回 503 错误,所以可以点击链接访问原始网页:https://cloud.seatable.cn/dtable/external-links/621babd7e22b4ceb88ec/
计算机组成原理 = 计算机 + 组成 + 原理
计算机:数字电子计算机
组成:计算机硬件系统的逻辑实现(不是物理实现,数字电路门电路触发器)
原理:基本运算的操作原理,基本部件和单元的设计思想(硬件层面)。这里是一般性原理,不针对某种特定机型。自顶向下方式讲解。
教材:计算机组成原理(唐朔飞)
1.1 计算机系统简介 1.1-a¶
这一章是本书的概况,本书主要研究计算机的组成(CPU + 存储 + IO),每一个部分是什么功能等
数字计算机型号规模各异,可能有小型的平板,或者大型的超级计算机。这里只分析基本的组成原理,所以对不同计算机进行抽象(提取公共主要的功能,忽略外观和细节的不同)
计算机系统 = 软件(系统软件+应用软件) + 硬件(IO,CPU,硬盘等)
1.1 计算机系统简介1.1-b¶
计算机系统的层级结构:
微指令系统-机器语言-操作系统-汇编语言-高级语言
计算机体系结构:计算机中是否有乘法指令(有哪些指令)
计算机组成:计算机如何实现乘法指令(具体指令怎么实现)
1.2 计算机的基本组成1.2-a1¶
冯·诺依曼计算机的特点
1、计算机有5部分组成:运算器,控制器,存储器,输入设备、输出设备
2、指令和数据同等重要,存放在存储器,可以按照地址寻访
3、指令和数据是二进制表示
4、指令 = 操作码 + 地址码(例如加2,就是加操作,和2所在的地址码)
5、存储程序(关键):将程序存放在计算机存储器中,然后按存储器中的存储程序的首地址执行程序的第一条指令,以后就按照该程序的规定顺序执行其他指令,直至程序结束执行。
6、以运算器为中心(输入、输出、控制、存储都是和运算器相连)
1.2 计算机的基本组成1.2-a2¶
冯·诺依曼计算机的改进
可以改成存储器为中心的结构,然后进一步改进成现代计算机结构
运算器(ALU)+控制器(CU)= CPU 中央处理器
遇到复杂的问题或者系统,如何进行设计?
参考:复杂性系统的管理方法(3Y):
1、层次化:一个复杂的应用,自顶向下,分成多个层级,不同的模块
2、模块化:每一个模块有明确的功能和接口
3、规范化:不同模块的接口和规范统一(例如全部的内存条尺寸,typeC)
1.2 计算机的基本组成1.2-b¶
实际案例
思考:一个实际问题能否使用计算机解决?如果一个问题是一个函数,在定义域上,每一个值都有一个唯一的解,那么这个问题就是可以解答的问题。
一个实际问题怎样使用计算机解决?
1、建立数学模型(y = fn(x))
2、确定计算方法 sinx 的泰勒展开,不能直接计算三角函数,那么使用幂指数间接计算三角函数,一直到需要的精度满足需求。
3、编程实现-运算的全部步骤
例子:ax ^2 + bx + c 如何实现?
从存储中拿出数字,执行加法运算,执行乘法运算,放入内存等都是一个步骤
不同算法的实现,对于计算复杂度和操作数都不同,例如优化成 (ax + b)x + c 这样可以减少很多计算量
指令格式:指令格式用二进制表示
例如:取一个数字: [a] ->ACC,把a放在内存中;还有类似的存数、加减乘除、打印、停机等。
具体的程序清单:包括上面的指令+数据
1.2 计算机的基本组成1.2-c-存储器¶
存储器的组成:
主存储器 = 存储体 + MAR + MDR
存储体(大楼,主要存储部分)——存储单元(房间,存放一串二进制代码,每个存储单元都有一个地址)——存储元件(某个卧室是否空,对应物理元器件 0-1)
MAR:存储器地址寄存器(存储单元的个数)
MDR:存储器数据寄存器(存储字长)
寄存器的功能是存储二进制代码,它是由具有存储功能的触发器组合起来构成的。一个触发器可以存储1位二进制代码,故存放n位二进制代码的寄存器,需用n个触发器来构成。
1.2 计算机的基本组成1.2-d-运算器¶
运算器是什么?运算器如何工作?
1、运算器的基本组成:ACC + ALU + X + MQ
2、加减乘除法分别分析
加减法:ACC 存放已有的数据,X 存放加的数字,在 ALU 计算完毕后,存放到 ACC 中。
乘法:乘法后位数增加,需要 MQ 寄存器。ACC 是已有数据,MQ 和 X 分别存放两个数字。ALU 计算后,将计算的结果高位放在 ACC 中,低位放在 MQ 中。
除法:除法计算后有商和余数。那么商放在 MQ 中,余数放在 ACC 中。
1.2 计算机的基本组成1.2-e-控制器¶
控制器的基本组成:
如何完成一条指令?取指令——分析指令(两个步骤是并行还是串行等)——执行指令
- 取指令(PC)这里存放指令的地址,每次取出一个,指针指向下一个指令的地址
- 分析指令(IR)这里存放当前指令的地址,分析指令执行顺序,是否并行执行等
- 执行指令(CU)
存储器、运算器、控制器构成了什么?以一条指令在主机上的执行过程为例(取数指令,存数指令,计算函数指令)分析这个问题
1.3 计算机硬件的主要技术指标¶
如何购买计算机?
1、分析用途:个人看剧(入门PC),还是打游戏(显卡),还是实验室工作站(多核CPU+工作站)?
2、分析资金,看实际资金能满足需求
3、计算机定性要求:计算快(处理速度快);存的多(内存容量大)
计算机硬件的主要指标:
1、机器字长(CPU 每次计算能处理的数字位数),和 CPU 的寄存器有关
2、运算速度:每秒运行多少次运算?CPU 主频,CPU 核数(固定的速度),执行某个程序的耗时(程序中运算的加权平均,不同程序需要的计算能力不同)
3、存储容量:存放二进制信息的总位数,主存(MAR + MDR)+辅助存储(硬盘,80G)
2.1 计算机的发展史-a1¶
本章不重要
不同时代计算机的主要的硬件,从电子管晶体管到集成电路,然后到超大规模的集成电路
不同计算机的主要结构,有的是根据计算组件为核心
IBM的system360是一个计算机系统,包括不同计算能力的集群
2.1 计算机的发展史-a2¶
微型计算机的出现和发展
微处理器的出现发展(一片集成电路组成的处理器)
摩尔定律,计算机芯片的计算能力和时间呈指数关系的增长
每18个月计算机处理器的性能就会翻一翻
2.1 计算机的发展史-b¶
计算机软件技术的兴起和发展
2.2-2.3 计算机的应用和展望¶
计算机的主要应用在
科学计算和数据处理
工业控制和实时控制
网络技术(电子商务,网络教育,购物)
人工智能
3.1 总线的基本概念¶
为什么要用总线?各个部件需要进行数据交流
总线是连接各个主要部件的数据传输线路,就是连接 CPU IO 主存等的通信线路
总线可以并行传输数据,也可以单行传输数据。因为主板较小,所以并行传输数据(电流)可能存在信号的干扰。不同计算机使用不同的布线方式。
因为硬件很多,每两个部件两两相连需要很多线路,而且不方便扩展,所以需要科学的设计总线
总线分类:
1、单一总线:所有部件连接到一根总线上。优点是简单,缺点是可能两个设备通信会占用总线。
2、以CPU为核心的总线:CPU 单独和其他设备连接一条总线,便于CPU更方便数据处理和交互
3、以主存为核心的总线:主存和CPU单独增加一个总线,便于数据的读写和存储
5.6 DMA方式5.6-a1¶
DMA
直接内存访问(DMA,Direct Memory Access)是一些计算机总线架构提供的功能,它能使数据从附加设备(如磁盘驱动器)直接发送到计算机主板的内存上。——不通过CPU的调度,IO 直接发送数据到计算机内存上。