改文章笔记来源于2023年王道计算机组成原理网课。为了方便参考学习,大家也可参考相应书籍。
编程语言编写程序(源程序,不能直接执行,需要机器指令去转)->通过输入设备->到存储器(程序,需处理的数据)
计算机通过(执行程序(指令序列))来实现对数据的加工处理
计算机信息:
控制信息->指令序列,微命令序列
数据信息->数值型,非数据型
计算机主要部件:(由逻辑电路/电子电路)构成
- 用数字代码表示各种信息
- 数字信号表示数字代码
数字化表示信息优点:
- 在物理上容易实现信息的表示与存储
- 抗干扰能力强,可靠性高
- 数值表示范围大
- 可表示的信息类型及其广泛
- 能用数字逻辑技术进行信息处理
操作系统(OS)
语言处理程序(BAISIC,pascal, c)
数据库管理系统(DBMS)
各种服务性支撑软件
各种标准程序库
(1)硬件发展历程(逻辑元件):
电子管
晶体管—面向过程语言出现
中小规模集成电路--(CPU)--操作系统(Windows等)
大规模集成电路
体积减小,功耗降低
目前发展趋势:“两极”分
微型计算机更微型,网络化,高性能,多用途
巨型机更巨型化,超高速,并行处理,智能化方向发展
二进制信息(数据,指令)
程序存储
五大硬件系统(存储器,运算器(中心),控制器,输入,输出设备)
知识点:程序存储:
- 事先编写程序
- 存储程序
- 计算机自动的,连续的执行程序,除了人机对话,外部请求干预
(2)冯·诺依曼特点:
1.计算机5大部件组成
2.指令和数据以同等地位存于存储器,可按地址寻访
3.指令和数据用二进制表示
4.指令组成:操作码(运算),地址码(操作数据的位置)
5.存储程序
6.以运算器为中心(输入、输出设备与存储器之间的数据传送通过运算器 完成)
(1)存储体:
存储单元:里面放一串二进制代码(每个存储单元相当于每个抽屉)
存储字(word): 存储单元中二进制代码组合(抽屉里放的整个东西)
存储字长 存储单元中二进制代码的位数(8bit的倍数:16,32…)
存储元:存二进制的电子元件,每个存储元可存1bit(存放东西的包包)
(2)MAR:MAR位数反映存储单元的个数(抽屉的层数)
(3)MDR :MDR=存储字长(位数)(每个抽屉可以放多少东西)
MAR=4位——>总共有2^4个存储单元
MDR=16位——>每个存储单元可存16bit,1个字(word)=16bit
注意:1个字节(Byte)=8bit
1B=1个字节,1b=1个bit
(1)运算器:实现算术运算(加减),逻辑运算(与非)
ACC:累加器,用于存放操作数,或运算结果
MQ:乘商寄存器,用于存放操作数,或运算结果(乘,除)
X:通用操作数寄存器,用于存放操作数
ALU:算数逻辑单元,通过内部复杂的电路实现算数运算,逻辑运算
CU:控制单元,分析指令,给出宏志信号
IR:指令寄存器,存放当前执行的指令
PC:程序计数器,存放下一条指令地址,+1功能
①首先写入高级语言
Int a=2,b=3,c=1,y=0;
Void main(){
Y=a*b+c;
}
②通过编译装入主存
初:(PC)=0,指向第一条指令的存储地址
#1:(PC)->MAR,导致(MAR)=0
#3:M(MAR)->MDR,导致(MDR)=000001 0000000101
#4:(MDR)->IR,导致(IR)=000001 0000000101
#5:OP(IR)->CU,指令的操作码送到CU,CU分析后得知,这是“取数”指令
#6:Ad(IR)->MAR,指令的地址码送到MAR,导致MAR=5
#8:M(MAR)->MDR,导致(MDR)=0000000000000010=2
#9:(MDR)->ACC,导致(ACC)=0000000000000010=2
同理PC从1~4依次执行主存地址的相关指令
取指令:(#1~#4)
分析指令(#5)
执行取数指令(#6~#9)
总结:
M:主存中某存储单元
ACC,MQ,X,MAR,MDR…:相应寄存器
M(MAR):取存储单元中的数据
ACC:取相应寄存器中的数据
指令:操作码---地址码
OP(IR):取操作码
Ad(IR):取地址码
“取数”指令执行:(从主存中指定地址处取数)
(PC)->MAR
M(MAR)->MDR
(MDR)->IR
取指令结束(PC)+1->PC
OP(IR)->CU
分析指令结束
Ad(IR)->MAR
M(MAR)->MDR
(MDR)->ACC
执行指令结束
软件部分:
系统级分析级(数字模型,算法)
用户程序级(用户程序)
语言处理程序(解释,编译)
操作系统级(OS)
软,硬界面部分:
传统机器级(指令系统)
硬件部分:
微程序级(微程序控制器)
逻辑部件级(硬逻辑部件)
从上到下:求解问题过程
从下到上:计算机系统逐级生成
随着大规模集成电路技术和软件硬化趋势,计算机系统的软硬件界限变得模糊
任何操作,指令可由软件,硬件来实现
实体硬件功能扩大
固件概念(功能是软件,形态是硬件)
总体来说,是以硬件为基础,用软件扩充功能,用执行程序体现功能
(1)存储器的性能指标:(与MAR,MDR有关)
总容量=存储单元个数*存储字长bit
=存储单元个数*存储字长/8 Byte
1Byte=8bit
MAR=32位,MDR=8位
总容量=2^32*8bit=4GB
n个二进制位能表示出(2^n)种不同的状态
(2)CPU的性能指标:(CPU主频)
CPU主频:(时钟频率)CPU内数字脉冲信号振荡的频率
CPU时钟周期:主频的倒数(微秒,纳秒)
CPI:每条指令的时钟周期(赫兹,HZ)
例如:某CPU主频为1000HZ,某程序包含100条指令,平均来看指令的CPI=3,该程序在该CPU 上执行需要多久?
100*3*(1000/1)=0.3s
CPU执行时间(整个程序的耗时)=CPU时钟周期/主频=(指令条数*CPI)/主频
IPS:每秒执行多少条指令
IPS=主频/平均CPI
(3)系统整体的性能指标
数据通路带宽:数据总线一次所能并行传送信息的位数(各硬件部件通过数据总线传输数据)
吞吐量:指系统在单位时间内处理请求的数量
响应时间:指从用户向计算机发送一个请求,到系统对该请求做出响应并获得它所需要的结果的等待时间
(4)动态测试:
基准程序 是用来测量计算处理速度的一种实用程序