计算机组成原理-性能评价和冯诺依曼工作原理
这学期开始一门比较重要的课:计算机组成原理,我认为这门课很重要,但也听人说就那计算机组成原理,学完了感觉跟啥也没学一样,😂 我没学过不知道学完是神么感觉,但我还是很期待!!!
开始
一般这讲课第一行部分都是讲这门课干什么的,哟啥重要的,学习方法是什么,重要的一点期末考试对这点考的很少,因为第一节讲的基本都是有意思二全面好多都是不理解的,但是作为一个有追求的人,我不是为了期末考试,而是真正的想去好好的学习一下这这门课,以为我觉得这门课对我来说,在我的技术栈后面可能会帮我理解的更深,其实说真的期末考试考的如何并不能判断这门课学的怎样,首先在此简单记录一下我目前学习过程中遇到哪些问题并且觉得通过这门课可以有一个对问题有另一个认识,因为我学完这门课肯定会再来看我自己写的的。在学习 nodejs 时,对于异步 io 以及 nodejs 的设计原理,在读深入浅出 nodejs 时在这一块读的就特别煎熬,幸好这本书篇幅不算长,对于 Linux 中对于程序的调试,因为我记得我有一次再看 Linux 相关的资料时,讲到 Linux 相对于 Windows 操作系统在跟踪程序方面的优势,以及 Linux 提供的调试工具,还有就是对于我还没进行阅读的 Linux 设计思想,以及我了解的 Linux 设计相关的原则,我希望在我学完这门课后对这方面有一个更深入的认识,还有一点时对于 tcp/ip 详解这本书,我傻傻的去读,太痛苦了,我知道这是跟计算机网络相关的,不知道跟计算机组成原理有没有关系,在这一刻,我没学计算机网络,没学习操作系统,编译原理只学了学了一点,学习技术栈时一遇到跟底层有关的我就难受,所有我励志对于底层这一块好好学,不管学完有没有帮助,无所谓了,没学习之前,一切都是未知,一切都是猜测,或许感觉有希望或许感觉失望,作为专业核心课程,怎么说也得认真对待吧!!
续论部分先来总结一下:
学习方法:
-
构造观+系统观+工程观的学习视角和学习方法
- 构造观– 掌握设计方法
- 系统观– 软/硬协同的视角
- 工程观– 系统实现视角
-
多实践
为什么要学:
- 核心专业基础课,在课程体系中承上启下的作用
- 后 PC 时代技术发展的迫切需求– 专业地位更加凸显
- 我国信息产业发展的迫切需求
- 服务于国家战略的迫切需求
计算机性能评价
这主要讲了许多概念性的东西,比较基础也比较简单,多见见就都记住了
非时间的指标
- 机器字长: 指机器一次能处理的二进制位数
- 由加法器、寄存器的位数决定;
- 一般与内部寄存器的位数相等(字长);
- 字长越长,表示数据的范围就越大,精确度越高;
- 目前常见的有 32 位和 64 位字长 。
- 总线宽度:数据总线一次能并行传送的最大信息的位数
- 一般指运算器与存储器之间的数据总线位数。
- 有些计算机内部与外部数据总线宽度不一致:
- 8086、80286、80386 内外数据总线等宽;
- 8088、80386SX 外部总线宽度 8 位内部总线宽度 16 位;
- Pentium 外总线 64 位,内总线 32 位(两条 32 位流水线)
- 主存容量与存储带宽
- 主存容量:是指一台计算机主存所包含的存储单元总数
- 存储带宽: 指单位时间内与主存交换的二进制信息量,常用单位 B/s(字节/秒)。(影响存储带宽的指标包括数据位宽和数据传输速率)
时间的指标
主频 = 外频 × 倍频
主频 f: 指 CPU 内核工作的时钟频率,即 CPU 内数字脉冲信号振荡的速率,与 CPU 实际的运算能力之间不是唯一的、直接关系;
外频 :指 CPU(内存)与主板之间同步的时钟频率(系统总线的工作频率);
倍频 :CPU 主频与外频之间的倍数;
时钟周期 T:也称节拍周期,是计算机中最基本的、最小的时间单位。在一个时钟周期内,CPU 仅完成一个最基本的动作
f 与 T 的关系互为倒数, f 越高,T 就越小 (f =100MHz 时 T=10ns, f =1GHz 时 T=1ns)
不能过度超频,会烧坏 cpu
CPI = 程序中所有指令的时钟周期数之和 / 程序指令总数= ∑ (程序中各类指令的 CPI × 程序中该类指令的比例)
CPI (Clock cycles Per Instruction):指标执行一条指令(平均)需要的时钟周期数(即 T 周期的个数),有单条指令 CPI 、一段程序中所有指令的 CPI、指令系统 CPI 等
IPC (Instruction per Clock): 每个时钟周期内执行的指令条数 (并行)
实际上频率和 IPC 在真正影响 CPU 性能。
准确的 CPU 性能判断标准应该是:CPU 性能=IPC(CPU 每一时钟周期内所执行的指令多少)× 频率(MHz 时钟速度)--由英特尔提出并被业界广泛认可。
一个例子:
如果将英特尔用于企业级服务器的主频为 800MHz 的安腾处理器(英特尔的最高级系列 CPU)与用于台式机的主频为 1800MHz 的奔腾 4 处理器进行对比,我们就会发现:主频仅为 800MHz 的安腾处理器在性能上竟然比主频高达 1800MHz 的奔腾 4 处理器还要强大。
企业级服务器:企业级服务器属于高档服务器,普遍可支持 4 至 8 个 PIII Xeon(至强)或 P4 Xeon(至强)处理器,拥有独立的双 PCI 通道和内存扩展板设计,具有高内存带宽,大容量热插拔硬盘和热插拔电源,具有超强的数据处理能力
MIPS:每秒钟 CPU 能执行的指令总条数 (单位:百万条/秒)
MIPS = 指令条数/(执行时间10^6)= 指令条数/[(所有指令 CPU 时钟周期数之和/f)10^6] = f/(CPI*10^6)(全能公式)
CPU 时间
执行一段程序所需的时间( CPU 时间+ I/O 时间 + 存储访问时间+ 各类排队时延等)
CPU 时间 = 程序中所有指令的时钟周期数之和 * T = 程序中所有指令的时钟周期数之和 / f
冯·诺依曼结构计算机工作原理及层次结构分析
这位科学家好厉害,他的理论至今都还在被使用
冯·诺依曼计算机的工作原理
存储程序:将程序存放在计算机的存储器中;(存储系统构建与快速访问 )
程序控制: 按指令地址访问存储器并取出指令,经译码依次产生指令执行所需的控制信号,实现对计算的控制,完成指令的功能。(指令系统、控制器设计等)
冯·诺依曼计算机的组成(硬件+ 软件)
硬件系统
主机:CPU (运算器 + 控制器)、内存
外设:输入设备、输出设备、外存储器
总线:地址线、数据线、控制线
运算器: 进行算术运算和逻辑运算
控制器:产生指令执行过程所需要的所有控制信号,控制相关功能部件执行相应操作;
存储器:存储原程序、原数据、运算中间结果;按地址访问,读/写数据。
输入设备:向计算机输入数据(键盘、鼠标、网卡、扫描仪等)
输出设备:输出处理结果(显示器、声卡、网卡、打印机等)
软件系统
- 可运行的思想和内容的数字化
- 思想:算法、规律、方法---程序表达
- 内容:图形、图像、数据、声音、文字等被处理的对象
- 软件的表现形式: 程序和数据(以二进制表示的信息)
- 软件的核心: 算法
** 硬件与软件系统间的关系**
相互依存:硬件是软件运行的基础,软件的正常运行是硬件发挥作用的重要途径。计算机系统必须要配备完善的软件系统才能正常工作,且应充分发挥其硬件的功能;
逻辑等效性:某些功能既可由硬件实现,也可由软件来实现
协同发展:软件随硬件技术的迅速发展而发展,而软件的不断发展与完善又促进硬件的更新,两者密切地交织发展,缺一不可 。(硬件发展更快)
计算机的层次结构
- 透明性
- 本来存在的事物或属性,从某个角度去看,却好像不存在;
- 如硬件的特性对 C 语言程序设计者而言就具有透明性
- 系统观
- 本来存在的事物或属性,从某个角度去看,却好像不存在;
- 如硬件的特性对 C 语言程序设计者而言就具有透明性
- 软/硬件的分界线
- 分界线即软、硬件的接口,是指令操作硬件的入口;
- 指令集架构层 (e.g., MIPS)
计算机性能测试
测试工具很多,我就知道俩 😂,一个是电脑自带的 ,Windows 和 Linux 都有,也即是任务管理器,我经常用他们来看看电脑的内存使用情况和 cpu 使用情况,因为我比较关注这个,还有就是用来杀进程,😝,鲁大师我电脑上也有,用来检测硬件是哪的什么牌子的,频率是多少,好多硬件信息都可以都过鲁大师来看,缺点就是比较烦,不会乖乖的呆在那,非得有时候打扰我
logisim 使用
这个软件不用安装即点即用