计算机组成原理之机器
1.1 计算机系统概论
1.1 计算机系统简介
- 把感应器嵌入和装备到电网,铁路,桥梁等各种物体中,并且被普遍连接,形成所谓“物联网”,然后将“物联网”与现代计算机网络联合起来,实现人类社会和物体实体的整合,形成智慧地球。
- 计算机系统由硬件和软件组成。软件分为系统软件和应用软件,前者包括操作系统,语言处理程序,服务性程序等。
- 计算机编程的层次结构:微指令系统->机器语言->操作系统->汇编语言->高级语言,前两者属于硬件编程层次。
- 计算机体系结构指的是程序员所能看到的计算机系统的属性,概念性的结构和功能特性(指令系统,数据类型,寻址技术,I/O处理,逻辑实现)
- 计算机组成指的是实现计算机体系结构所体现的属性(具体指令的实现,物理实现)
1.2 计算机的基本组成
-
冯诺依曼计算机的特点(存储程序结构的计算机)
- 计算机由五大部分组成(运算器,控制器,存储器,输入设备,输出设备)
- 指令和数据以同等地位存储在存储器中,可按地址寻访
- 指令和数据用二进制描述
- 指令由操作码和地址码组成
- 存储程序
- 以运算器为核心
-
冯诺依曼计算机的问题:运算器工作负载大,存在瓶颈。层次化特征差。
-
解决前一问题,通过以存储器为核心解决。
-
后者则演化成了现代计算机硬件结构。
-
操作码指明了需要执行的操作,地址码指明了需要取出数据在内存中的地址
-
存储器有以下结构:存储体->存储单元->存储元件。存储单元存放一串二进制代码。每个存储单元赋予一个地址,这样就可以在执行指令的时候找到这个存储单元。
-
运算器由ALU,ACC,X,MQ组成。ALU是运算单元,ACC和X是输入数据寄存器,MQ是额外的数据寄存器。ACC和X进行加减运算,ACC和MQ进行乘除运算。
-
控制器的功能包括解释指令和保证指令的按序运行。结构包括PC(取指令,程序计数器,存放当前欲执行指令的地址),IR(分析指令,存放当前欲执行的指令),CU(执行指令)。
-
运算器,控制器,存储器构成了一条指令在计算机上的完成过程,以及指明了程序在主机上是如何运行的。
-
取指令->分析指令->执行指令
-
取指令->分析指令->执行指令
-
取指令:PC-MAR-M-MDR-IR
-
分析指令:IR(OP操作码)-CU
-
执行指令:IR(AD地址码,也就是需要取数的地址)-MAR-M-MDR-ACC(以取数指令为例)
-
以上三步来看,MAR和MDR实际上是接口寄存器。
1.3 计算机硬件主要性能指标
- 机器字长:CPU一次能够处理的数据的位数,与CPU的寄存器位数有关
- 运算速度:主频(外频*倍频),核数,CPI(执行一条指令需要的时钟周期),MIPS(每秒执行百万次指令),FLOPS(每秒浮点数运算)
- 存储容量:主存容量+辅存容量。
- 系统总线
===
3.1 总线的基本概述
- 总线是连接各个部件的信息传输线,是各个部件共享的传输介质。
- 总线上信息的传输方式分为并行和串行。
3.2 总线的分类
- 片内总线:芯片内部的总线
- 系统总线:计算机各个部件之间的信息传输
- 系统总线又可以分为三类:
- 数据总线(在CPU与RAM之间来回传送需要处理或是需要储存的数据)
- 地址总线(用来指定在RAM(Random Access Memory)之中储存的数据的地址)
- 控制总线(将微处理器控制单元(Control Unit)的信号,传送到周边设备,一般常见的为USB Bus和1394 Bus。)。
- 通讯总线:计算机系统之间或者计算机系统与其他系统之间的信息传输
- 还包括两种总线,扩展总线和局部总线。
- 扩展总线(Expansion Bus):可连接扩展槽和电脑。
- 局部总线(Local Bus):取代更高速数据传输的扩展总线,如cpu和高速缓存间。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端