计算机组成——第一章计算机概论

文章目录

  • 计算机组成原理基础概念
        • 计算机体系结构和计算机组成
    • 计算机的基本组成
            • 冯洛依曼计算机特点:
            • 现代计算机
    • 计算机组成原理中常用英文缩写
    • 计算机的工作步骤
            • 存储器的基本构成
            • 控制器的基本组成
            • 取数指令
            • 存数指令
            • ax^2^+bx+c程序的运行过程
    • 计算机硬件的主要技术指标

计算机组成原理基础概念

  • 硬件五大部件:运算器ALU、控制器CU、存储器(主存与辅存)、输入、输出
  • 软件:系统软件与应用软件
  • 计算机系统层次结构:微指令系统(微程序机器)–>机器语言(实际机器)—>操作系统(虚拟机器)–>汇编语言(虚拟机器)–>高级语言(虚拟机器)

计算机体系结构和计算机组成

  • 计算机体系结构:计算机体系结构是指那些对程序员可见的系统属性,概念性结构与功能特性。
    • 指令系统、数据类型、寻址技术、I/O处理
  • 计算机组成:计算机组成指的是实现计算机体系结构所体现的属性,具体指令的实现。
    • 实现体系结构,具体指令的实现

计算机的基本组成

冯洛依曼计算机特点:
  1. 由五大部件组成
  2. 指令和数据以同等地位存于存储器,可按地址寻址
  3. 指令和数据用二进制表示
  4. 指令由操作码和地址码组成
  5. 存储程序
  6. 以运算器为中心
现代计算机
  • 在冯洛依曼计算机结构的特点上改为以存储器为中心

计算机组成原理中常用英文缩写

ALU 算术逻辑单元 CU 控制单元
ACC 运算器的累加器 MAR 存储器地址寄存器
MDR 存储器数据寄存器 MQ 运算器的乘商寄存器
X 操作数寄存器 PC 程序计数器
IR 指令寄存器 MIPS 百万条指令每秒
CPI 执行一条指令所需的时钟周期 FLOPS 浮点运算每秒
MBPS 兆字节每秒 DMA 直接存储器存取
BS 总线忙 BR 总线请求
BG 总线同意 MROM 掩模型只读存储器
PROM 可编程只读存储器 EPROM 可擦除可编程只读存储器
EEPROM 用电可擦除可编程只读存储器 MCT 存取周期
CS(上划线) 片选信号(低电平有效) WE(上划线) 写允许信号(低电平为写,高电平为读)
VCC 代表电源 GND 代表接地端
RAS(上划线) 行地址选通 CAS(上划线) 列地址选通
CCW 通道指令 DBR 数据缓冲寄存器
INTR 中断请求触发器 MASK 屏蔽触发器
AR 主存地址寄存器 WC 字计数器
BR 数据缓冲寄存器 DAR 设备地址寄存器
DREQ 向DMA接口提出申请 HRQ 发出总线使用权的请求信号
RISC 精简指令系统计算机 CISC 复杂指令系统计算机
NOP 空操作 HLP 停机
RET 子程序返回 IRET 中断返回
SP 堆栈指针 FLASH MEMORY 闪速存储器

计算机的工作步骤

ACC是累加器,MQ(乘商寄存器)和ACC都是运算器ALU中的部件,PC(计数器:存放当前欲执行的指令的地址,且有计数功能);IR(指令寄存器:存放当前欲执行指令)
LDA:取数
STD:存数
ADD:加
MUL:乘
PTA:打印
STA:把寄存器内容写回内存
计算机组成——第一章计算机概论_第1张图片

存储器的基本构成
  • 指令字长:操作码和地址码的总位数(二进制位数),指令字长≤存储字长较好
  • 存储单元:存放一串二进制代码,cpu访问存储器的最小单位,每个存储单元都有一个地址
  • 存储字:存储单元中二进制代码的组合
  • 存储字长:存储单元中二进制代码的位数,每个存储单元赋予一个地址号
  • 按地址寻访
  • MAR:存储器地址寄存器,反映存储单元的个数
  • MDR:存储器数据寄存器反映存储字长,数据线内容有多少位就有多少位因并行传送
  • 存储体=A*D(存储单元个数*存储单元位数)

存储器容量计算公式
按位计算(b):存储容量=存储单元个数×存储字长
按字节计算(B):存储容量=存储单元个数×存储字长/8
n根地址线可以查找,2n个存储单元
存储字长=数据线根数
1Byte(字节B)=8bit(位)

若MAR=4位,MDR=8位,
MAR=4则0000,0001,....2^4个地址。
存储单元个数为16
(4位,每一位0,1两种选择)
则存储单元个数=16,存储字长=8
控制器的基本组成
  • PC(程序计数器):完成取指令,存放当前欲执行指令的地址,具有计数功能(PC)+1——>PC
  • IR(指令寄存器):分析指令,存放当前欲执行的指令
  • 执行指令:CU(控制单元)
    主机包含运算器(核心ALU及三个寄存器(ACC、X、MQ)、控制器(CU及两个寄存器IR和PC)、存储器(存储体、MAR和MDR)
    三步走:取指令——>分析指令——>执行指令
    计算机组成——第一章计算机概论_第2张图片
取数指令

要执行的指令的地址在PC中,指令在存储体当中,则

  1. 取指令PC将地址给MAR(地址寄存器)
  2. MAR给存储体
  3. 控制器的控制下,存储体把指定存储单元当中保存的取数指令取出,送入MDR(数据寄存器)
  4. 取指令,取出的指令送入IR(保存当前正在执行的这条指令)
  5. 分析指令:将指令寄存器中保存的指令操作码部分送给CU(从IR送给CU控制单元)

将保存到内存单元M中的数据取到ACC寄存器。在控制器的控制之下,将指令中的地址部分送给存储器,以便把数据从存储体当中取出来。则第六步这个操作还是从IR开始

  1. IR中保存了当前这条指令和当前这条指令操作数的地址。从IR的地址码部分将地址取出,送入MAR
  2. MAR将地址送给存储体
  3. 在控制器的控制之下,从存储体当中把取数指令要取得数存入MDR
  4. 将数送入ACC
存数指令

存数指令功能:将ACC中保存的数据放到存储体当中指定的单元里。
同样三步走:第一步取指令,把指令从存储体当中取出来则需要知道指令的地址,指令的地址在PC当中则:

  1. PC当中保存的指令的地址送给MAR
  2. MAR送给存储体
  3. 控制单元CU的控制下,从存储体指定存储单元当中把指令取出,放入MDR
  4. 控制单元控制将MDR中取出来的指令送入IR
  5. 分析指令,将IR中保存的指令的操作码部分送给CU
  6. CU对指令进行分析,发出相应信号,CU控制将IR当中地址码部分送入MAR
  7. MAR再送入到存储体,告诉存储体有数据要存入及对应地址
  8. ACC中的内容送到MDR(保存了从存储体中输入及输出的地址)
  9. 在控制器的控制之下将MDR中的数据,保存到存储体中
ax2+bx+c程序的运行过程
  • 程序通过输入设备送至计算机(程序和数据保存至内存中)
  • 为执行程序,控制器要知道该程序的首地址,程序首地址送至寄存器PC
  • 启动程序运行,(执行多条指令)
  • 取指令 取数指令的地址在PC送地址——>MAR送地址——>M(存储体取指令送指令)——>MDR 送指令——>IR,取指令后就对PC的内容调整,PC+1即
    (PC)+1——>PC。
  • 分析指令指令操作码(OP表示操作码)送给CU:OP(IR指令寄存器)——>CU分析操作码
  • 执行指令(取数指令,要取的数据的地址在IR的地址码部分(Ad表示地址码部分)):Ad(IR)送地址——>MAR送地址——>M(存储体中取数据)——>MDR(数据送入ACC)——>ACC
  • 乘法指令(取址,分析,执行)等等
  • 打印结果(同样取址,分析,执行)
  • 停机

计算机硬件的主要技术指标

1.机器字长:CPU一次能处理数据的位数与CPU中的寄存器位数有关(如可以对两个8位二进制数做加法结果还是两个8位二进制数,则此时机器字长为8位),机器字长越长越好
2. 运 算 速 度 { 主 频 核 数 , 每 个 核 支 持 的 线 程 数 吉 普 森 法 T M = ∑ i = 1 n f i t i , f i 为 每 条 指 令 在 程 序 出 现 频 率 C P I 执 行 一 指 令 所 需 时 钟 周 期 数 越 少 越 好 ( 加 权 平 均 计 算 ) M I P S 每 秒 执 行 百 万 条 指 令 F L O P S 每 秒 浮 点 运 算 次 数 运算速度\begin{cases} 主频\\ 核数,每个核支持的线程数\\吉普森法 T_{M}=\sum_{i=1}^n f_{i}t_{i},f_{i}为每条指令在程序出现频率\\CPI 执行一指令所需时钟周期数越少越好(加权平均计算)\\MIPS每秒执行百万条指令\\FLOPS 每秒浮点运算次数\end{cases} 线TM=i=1nfiti,fiCPI()MIPSFLOPS
3.存储容量:存放二进制信息的总位数,1K=210,1B=23b,1GB=230B
{ 主 存 容 量 { 存 储 单 元 个 数 × 存 储 字 长 ( 如 M A R = 16 , M D R = 32 。 则 容 量 为 2 16 ∗ 32 即 64 K ∗ 32 位 ) 字 节 数 如 2 13 b = 1 K B 辅 存 容 量 : 字 节 数 , 如 80 G \begin{cases} 主存容量\begin{cases}存储单元个数\times存储字长\\(如MAR=16,MDR=32。则容量为2^{16}*32即64K*32位)\\字节数如2^{13}b=1KB\end{cases}\\辅存容量:字节数,如80G\end{cases} ×(MAR=16,MDR=322163264K32)213b=1KB,80G

你可能感兴趣的:(#,计算机组成原理笔记)