【原理系列】计算机组成原理-第一遍阅读总结

目录

创作灵感:

总览:

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个小时。

        

       

        

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/43079.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

React程序打包与部署

===================== 推荐超级课程: 本地离线DeepSeek AI方案部署实战教程【完全版】Docker快速入门到精通Kubernetes入门到大师通关课AWS云服务快速入门实战目录 为生产环境准备React应用最小化和打包环境变量错误处理部署到托管服务部署到Netlify探索高级主题:Hooks、Su…

C++运算符重载、类的转换构造函数和类型转换函数的基础练习

练习1:(困难) 建立一个矩阵类,可以完成指定的操作或运算。 说明: (1)、矩阵为2行3列,基类型为整型; (2)、操作或运算:初始化&…

PERL开发环境搭建>>Windows,Linux,Mac OS

特点 简单 快速 perl解释器直接对源代码程序解释执行,是一个解释性的语言, 不需要编译器和链接器来运行代码>>速度快 灵活 借鉴了C/C, Basic, Pascal, awk, sed等多种语言, 定位于实用性语言,既具备了脚本语言的所有功能,也添加了高级语言功能 开源.免费 没有&qu…

docker(2) -- 启动后修改目录和网络

1. 前言 docker启动前是image文件,启动后是container文件,启动的时候我们可以指定容器的挂载目录以及网络类型,但启动后,这些信息都以配置文件的形式保存在container中,container重新启动时无法重新指定这些信息&…

Flutter开发中如何避免UI显示溢出的问题

文章目录 1. 使用灵活的布局组件2. 允许内容滚动3. 处理文本溢出4. 检查父容器约束5. 使用自适应布局6. 调试工具7. 其他技巧总结 在 Flutter 开发中,UI 溢出(如 A RenderFlex overflowed 错误)通常是由于布局空间不足或子组件尺寸超出父容器…

使用FastExcel时的单个和批量插入的问题

在我们用excel表进行插入导出的时候,通常使用easyexcel或者FastExcel,而fastexcel是easy的升级版本,今天我们就对使用FastExcel时往数据库插入数据的业务场景做出一个详细的剖析 场景1 现在我们数据库有一张组织表,组织表的字段…

【力扣刷题|第十七天】0-1 背包 完全背包

目标和 力扣题目网址:目标和 这道题我们先用回溯的思想来做。首先我们设正数和为S,数组和为N,目标值为T,那么S-(N-S)T化简之后可以得S(TN)/2即选择的正数个数为偶数,而且NT也为偶数,那么第一个判断条件我们就有了&…

深入浅出 Embedding

1. 什么是 Embedding? Embedding(嵌入)是一种将高维数据映射到低维连续空间的技术,用于表达数据的语义关系。简单来说,它是一种向量化表示,将文本、图像、用户行为等信息转换为数值向量,使得相似的数据在向量空间中距离更近。 2. 如何理解 Embedding? 2.1 浅显易懂的…

【云服务器】在Linux CentOS 7上快速搭建我的世界 Minecraft Fabric 服务器搭建,Fabric 模组详细搭建教程

【云服务器】在Linux CentOS 7上快速搭建我的世界 Minecraft Fabric 服务器搭建,Fabric 模组详细搭建教程 一、 服务器介绍二、安装 JDK 21三、搭建 Minecraft 服务端四、本地测试连接五、如何添加模组(mods)六、添加服务,并设置开…

【MLP-BEV(10)】BEVPooling V1和BEVPooling V2的view_transformer,进行鱼眼图片实践

文章目录 先说说 BEVPoolv1步骤1:3D点生成步骤2 2D特征采样和BEV特征生成特点再谈谈BEVPoolv2步骤1:3D点生成步骤2: 计算索引关系步骤3: `voxel_pooling`计算鱼眼图片进行实践步骤1、3D点生成(基于Kannala-Brandt 进行调整)步骤2、2D特征采样和BEV特征生成(1) 体素化 (Voxe…

鸿蒙项目源码-天气预报app-原创!原创!原创!

鸿蒙天气预报项目源码包运行成功含文档ArkTS语言。 我半个月写的原创作品,请尊重原创。 原创作品,盗版必究!!!! 原创作品,盗版必究!!!! 原创作品…

告别桌面杂乱与充电焦虑,移速165W百变桌面充电站首发体验

告别桌面杂乱与充电焦虑,移速165W百变桌面充电站首发体验 哈喽小伙伴们好,我是Stark-C~ 先如今,家里的电子产品越来越多,手机、平板、电脑三件套已经是基础配置,还有相机、Switch、智能手表等,这些产品用…

skill插件教程——skill程序的组成以及调用方法

skill程序的基本组成 1、基础的程序文件 插件运行的基础——就是你写程序的文件,格式为il文件,就是文本文件格式 2、调用程序的文件——allegro.ilint 文件申明在那个位置——在这个文件夹下,写入你调用的函数。 例如load(“…

解决Dubbo3调用Springcloud接口报No provider available from registry RegistryDirectory

解决Dubbo调用Springcloud接口报No provider available from registry RegistryDirectory 问题发现问题解决 问题发现 在学习Dubbo过程中,Dubbo官网有一篇文章《微服务最佳实践,零改造实现 Spring Cloud & Apache Dubbo 互通》,跟着示例…

基于RFID技术建筑物资材料智能管理解决方案

建筑行业仓库和物资材料管理面临诸多挑战,如工程设备重复利用的管理需求、物资出入库管理不规范、账物不符、物资丢失等问题。特别是在复杂多变的工地环境中,对物资进行科学规范的管理难度极大。上海岳冉基于RFID技术的建筑物资材料智能管理解决方案聚焦…

WSL系统找不到指定的文件

问题介绍 在尝试使用linux子系统时,发现无法打开 在尝试使用docker时无法使用 在命令行cmd或者powershell使用wls相关命令时,报错 相关错误提示均为: 系统找不到指定的文件 解决方法 试了各种方法无效。 直接到github下载最新版的wsl安装…

海量数据处理

1.海量数据处理问题 给两个文件,分别有100亿个query,只有1G内存,如何找到两个文件交集? 解决方案一: 可以先用布隆过滤器,一个文件的query放进布隆过滤器,另一个文件依次查找,在的…

英伟达GB300新宠:新型LPDDR5X SOCAMM内存

随着人工智能(AI)、机器学习(ML)和高性能计算(HPC)应用的快速发展,对于高效能、大容量且低延迟内存的需求日益增长。NVIDIA在其GB系列GPU中引入了不同的内存模块设计,以满足这些严格…

PC名词解释-笔记本的S0,S1,S2,S3,S4,S5状态

​🎓作者简介:程序员转项目管理领域优质创作者 💌个人邮箱:[2707492172qq.com] 🌐PMP资料导航:PM菜鸟(查阅PMP大纲考点) 💡座右铭:上善若水,水善利…

群体智能优化算法-算术优化算法(Arithmetic Optimization Algorithm, AOA,含Matlab源代码)

摘要 算术优化算法(Arithmetic Optimization Algorithm, AOA)是一种新颖的群体智能优化算法,灵感来源于加、减、乘、除四种基本算术运算。在优化过程中,AOA 通过乘除操作实现全局探索,通过加减操作强化局部开发&#…