当前位置: 首页 > news >正文

什么叫“架构”

我们学硬件架构的时候常常被一些名词和概念绕晕,这篇就来讲一讲“架构”这个概念,一种“架构”指的是什么,如何去学习一种新的架构。

1.架构:硬件设计与指令集的统一体

这里放上我大二下的手写笔记:
在这里插入图片描述
就是说硬件设计,和指令集,是相互影响、相互依存、因彼此而生的,所以一套硬件和指令集统称为架构。

2.学习架构应该找共性和相似,提取宏观抽象设计思想

我大学三年,从大二上计组学MIPS架构到大二下和大三上学80x86架构和51单片机架构,一共学了三种架构。虽然三者差别确实大,但我们能看出不同处理器架构的一些共性,这些共性之处往往是我们学习硬件架构时需要重点关注的内容,也是各种考察考试最频繁的内容,也是学习接触一种新的架构时的入手点和突破口。

我们学习的时候应该学会提取宏观抽象的共性,即所有架构在设计时都要遵循的一套方法论。比如冯诺依曼体系结构,几乎所有现代计算机都是按照冯诺依曼体系结构设计的,只是具体实现上有所不同,顶层抽象基本都符合冯诺依曼体系,所以冯诺依曼体系就是一种顶层的抽象的宏观设计思想,它首先规定计算机必须有输入输出运算器控制器和存储器,然后各品牌的计算机再去实现你是这样的运算器我是那样的运算器,再产生不同。我们学习的时候就是要注意提炼这种宏观的设计,而不只是拘泥于细节。

咱们一般说一种架构的设计,往往是不包括输入设备和输出设备的,他们不属于架构的一部分,架构只包括运算器、存储器、控制器。而一般说的CPU,就是囊括了运算器和控制器,把他们共同称为CPU。

CPU中必然有一个部件叫寄存器堆(Registers),我认为学习一种架构首先需要了解的就是这个部件,有过汇编语言编程经验的朋友应该有体会,只要你了解了一种架构的寄存器使用,那么基本的汇编程序你就能写了。

寄存器:

无论什么CPU,都得有寄存器,而寄存器如何分类,各自有什么功能如何使用,就是一种架构的显著特征
Generally,
因为内存一般要分出一个堆栈段,所以必须有一个堆栈指针寄存器sp,
为了能实现冯诺依曼的“存储程序”思想,所以必须有一个指令指针寄存器pc,
然后有的寄存器会有IR,有的没有,这就是不同架构的不同特色了

存储管理:

一种架构,它如何分区管理内存,也是一项显著的特征

我们学C++时,讲到内存分为四个区:堆区、栈区、全局区、代码区
就对应x86架构中的:堆栈段、数据段、代码段,另外x86还有附加段(用途尚不清楚)
与MIPS对照来看,任何架构,都应该有栈区,用来存放函数或者程序调用时的参数返回值调用点局部变量,
为什么是栈这种数据结构,不是队、链?因为栈的特性符合程序调用的特性(执行完子程序,继续执行调用者)

一般来说,了解了各个寄存器都什么功能,如何使用,以及存储器是如何分区的,再了解了指令集,那么基本上这种架构你就了解了。

相关文章:

  • 交通运输部4项网络与数据安全标准发布
  • Bash脚本编写基础指南
  • 对接印度尼西亚股票数据源API
  • Linux ELF文件格式
  • 【笔记ing】AI大模型-03深度学习基础理论
  • 深入剖析C++中 String 类的模拟实现
  • Java实现快速排序算法
  • Java 数据库访问工具 dbVisitor 的技术解析与同类工具比较
  • Kimi-VL 解读:高效 MoE 视觉语言模型VLM,兼顾长上下文与高分辨率
  • MySQL——学习InnoDB(1)
  • LabVIEW配电器自动测试系统
  • Xmind 2025 中文思维导图
  • MySQL表的使用(4)
  • 【3GPP核心网】【5G】精讲5G系统的策略和计费控制框架
  • 【口腔粘膜鳞状细胞癌】文献阅读
  • 《AI大模型应知应会100篇》第17篇:大模型的偏见与公平性问题
  • 多卡集群 - Docker命令来启动一个容器的实例
  • 【笔记ing】AI大模型-04逻辑回归模型
  • 【vue】class和styles绑定
  • 在AWS EC2上部署网站的完整步骤指南
  • 盗播热门影视剧、电影被追究刑事附带民事责任,最高法发声
  • 南京信息工程大学商学院讲师李玮玮逝世,终年45岁
  • 江西省人大教育科学文化卫生委员会主任委员王水平被查
  • 张九思任电子科大副教授,曾以学生身份入选爱思唯尔全球前2%顶尖科学家
  • 泽连斯基称乌克兰全境响起防空警报
  • 观察丨微短剧盛行“拿来主义”,版权保护迫在眉睫