目录
创作灵感:
总览:
1、计算机抽象与技术
2、ISA指令集架构
3、CPU处理器
4、存储器
创作灵感:
夯实计算机原理,构建知识框架
此系列将总结和记录我对 【深入浅出计算机组成原理-台湾科技大学/元智大学的刘一宇教授】 的视频学习教程、《计算机组成与设计:硬件/软件接口 MIPS版》等书籍的学习。我将尽可能与我个人的工作经验等结合,输出好的创作。
总览:
第一遍阅读是从视频学习进行的总览,视频中一共6部分,我总结为以上4部分:1.抽象与技术、2.ISA(指令集架构)、3.处理器、4.存储期。
1、计算机抽象与技术
在现代电子技术发展过程中,晶体管(台湾的老师讲授过程中称之为:电晶体)的发明对电子技术产生了深远的影响。通过使用晶体管的开关特性实现对电信号控制,进而表示和处理信息。晶体管的开关特性可以表示二进制编码(0和1);构建逻辑门电路,借助多个晶体管可以表示逻辑门电路(与、或、非);实现复杂的逻辑功能,多个逻辑门组合行成复杂的逻辑,如加法器、计数器、寄存器等。
多个(可能是数以亿计)晶体管、电阻、电容等电子元件及布线连接在一起,集成在一个半导体介质上,形成集成电路。按照特定的布局和连接方式组合在一起,形成各种功能模块,如运算器、控制器、寄存器等。
CPU 是一种高度集成的集成电路。
随着晶体管技术发展,推动电子设备小型化、提升电子设备性能、降低电子设备功耗、促进集成电路发展、扩展电子技术应用领域。同时晶体管体积小,重量轻,取代了体型庞大的电子管,使电子设备的体积大幅减少等。
英特尔公司创始人之一:戈登·摩尔提出了一个关于集成电路发展的经验性规律:摩尔定律:晶体管数量翻倍、性能提升和成本降低。自集成电路发明以来,CPU 的发展一直遵循着摩尔定律,即每隔 18 - 24 个月,芯片上可容纳的晶体管数量大约会增加一倍。随着晶体管尺寸不断缩小,从早期的微米级发展到如今的纳米级,相同面积的芯片上能够集成更多的晶体管,这使得 CPU 的性能不断提升,包括处理速度更快、功能更强大、能耗更低等。例如,早期的 CPU 可能只包含几千个晶体管,而现代高性能 CPU 集成的晶体管数量可达数十亿甚至上百亿个。
所以,CPU性能评估和提升也是关键。阿姆达尔定律指出:系统中对某一部件采用更快的执行方式所能获得的系统性能提升程度,取决于该部件被使用的频率,或所占总执行时间的比例。
2、ISA指令集架构
计算机是由硬件和软件组成。 第1部分说的CPU属于硬件,是计算机的物理设备,除此之外还有内存条、硬盘、显示器等。软件可以分为:系统软件和应用软件,是计算机运行需要的程序、数据和资料等。系统软件如操作系统,用于管理和控制硬件资源,为应用软件(如办公软件office等)提供运行环境。
那么硬件和软件之间的接口或者说规范或者说桥梁是什么?ISA指令集架构。
ISA中规定了硬件需要实现的所有指令集、操作数、数据类型、取值范围、寻址方式等,所以硬件的设计要确保能高效执行ISA指令,硬件工程师根据ISA设计CPU、内存、总线等。
ISA为软件工程师提供了统一的、抽象的接口。软件工程师不需要关注硬件的具体实现,如CPU是如何实现的,电气通路如何连接等。软件工程师使用高级语言编写的代码,最终经过编译器、汇编器的编码和解码转换成ISA能识别的机器码,调用ISA接口,最终在硬件上运行。
3、CPU处理器
CPU是计算机系统的核心组件,相当于计算机的大脑,对计算机的整体性能起着决定性作用。
CPU由运算器、控制器、寄存器等组成。运算器又称为算术逻辑单元ALU,主要处理算术运算和逻辑运算,是计算机进行数据处理和运算的核心部件。控制器负责从内存中读取指令,对指令译码,根据指令要求协调计算机各部件工作。寄存器,用于暂存运算过程中的数据、指令、地址等,用于提升CPU性能。
在实现指令功能的过程中,数据是如何在硬件的不同的组件中传输的呢? 通过datapath数据通路。
提升CPU运行效率之:流水线技术(pipelined)。在传统的计算机体系结构中,指令是顺序执行的,即一条指令执行完后再执行下一条指令。而流水线技术在同一硬件上分时复用各个功能单元,允许在一条指令尚未完成所有阶段时,就开始执行下一条指令,充分利用硬件资源,减少指令执行的等待时间,提升CPU效率。
流水线技术与阿姆达尔定律的侧重点有所不同,流水线技术主要是从指令执行的并行性和流程优化角度来提高性能,而阿姆达尔定律更关注系统中不同部分对整体性能提升的影响和限制。
根据指令是否在一个时钟周期内完成,又有单周期处理器和多周期处理器。
4、存储器
在计算机中最重要的不止处理器,存储器也很重要,提升数据存取速度也是提升系统运行效能的关键。在计算机系统中,存储器可以分为内存储器和外存储器。
内存包括主存储器和高速缓冲存储器,它们直接与 CPU 相连,用于存储当前正在运行的程序和数据。内存的空间小,存取速度快。外存即辅助存储器,主要用于长期存储大量的数据和程序,以弥补内存储器容量的不足。外存储器中的数据在需要时可以调入内存储器进行处理。外存空间大,但存取速度慢。
数据存取优化手段有:高速缓存技术、内存预取技术、虚拟内存技术、数据对齐技术等。
在缓存技术中,需要考虑缓存命中率,准确性,多核心系统架构缓存如何设计等。
而虚拟内存技术是一种计算机内存管理技术,它使得应用程序可以使用比实际物理内存更大的地址空间。
以上就是第一遍看完视频后,对计算机组成中主要的功能点的关系串联。第1部分,是讲计算机的发展,知道计算机组成是如何演变的,哪些因素起了关键性作用;第2部分是介绍硬件的指令集架构,指令如何执行的,硬件和软件如何连接;第3部分,是我个人的理解,计算机的核心CPU处理器的运行原理,我将视频的三、四、五部分合并起来归到了一起;第4部分,是讲另一个影响计算机的因素:存储器,存储指令执行需要的数据。
在后面的学习中,我将深入到每一个章节,学习具体的实现。视频中老师讲到一个点:计算机是由人设计的。(所以在观看的过程中,我就想,有一些点这么设计一定是有原因的,一定是由关联的。)
写到这里,第一遍阅读下来,共用13-15个小时。