计算机组成原理部分知识点
最后更新时间:
页面浏览: 加载中...
概念
1. 语言
- 机器语言(机器码)
- 汇编语言
- 高级语言
语言处理程序:
由编译程序和解释程序等组成,它们能把高级语言翻译成机器语言
2. 计算机的组成、CPU
计算机组成:
- 存储器
- 运算器
- 控制器
- 输入设备
- 输出设备
计算机结构类型:
- 冯诺依曼架构(以运算器为中心)
- 现代计算机(以存储器为中心)
- 哈佛架构
CPU结构:
- 运算器(ALU)
- 控制器(CU)
3. 总线
系统总线
按传输信息分类:
- 数据总线
- 地址总线
- 控制总线
- 没有扩展总线
总线服用目的:减少总线条数
时钟周期
1个时钟周期=1/总线的时钟频率
总线的传输周期=1个时钟周期×总线的传输周期
总线的传输频率=总线宽度/总线传输周期
集中控制的三种优先仲裁方式
- 链式查询方式
- 计数器定时查询方式
- 独立请求方式
4. 存储器
- 随机存储器(RAM)
- 静态RAM(SRAM):触发器原理——快
- 动态PAM(DRAM):电容充放电原理
- 只读存储器(ROM)
存储容量=存储单元个数×存储字长
=2^MAR×MDR位(位/bit:b)
=2^MAR×MDR/8(字节:B)
存储器有3个主要性能指标:
速度、容量、每位价格(简称位价)
存储器速度、容量和位价的关系:
寄存器>缓存>主存>磁盘>磁带(前三者在主机内)
缓存-主存层次和主存-辅存层次
1 |
|
主存类型:
磁带、光盘、硬盘(HDD和SSD)
5. DMA、周期挪用
I/O设备与主机信息传送的控制方式
- 程序查询方式
- 程序中断方式
- DMA方式
窃取周期
- DMA的占有称为窃取或挪用,窃取的时间一般为一个存取周期
独立请求方式:
一个请求信号,一个响应信号
输入输出操作,中断处理,总线操作
6. 指令(RISC\CISC)
指令的一般格式:操作码和地址码
格式: | |
---|---|
操作码 | 地址码 |
寻址方式:
- 立即寻址
- 直接寻址
- 隐含寻址
- 间接寻址
指令系统类型
RISC:精简指令系统
CISC:复杂指令系统
7. CPU
CPU结构:
- 运算器(ALU)
- 控制器(CU)
CPU功能:
- 指令控制
- 操作控制
- 时间控制
- 数据加工
- 处理中断
控制和状态寄存器:
- MAR:存储器地址寄存器,用于存放将被访问的存储单元地址
- MDR:存储器数据寄存器,用于存放欲存入存储器中的数据或从最近从存储器中读出的数据
- PC:程序技术器,存放现行指令的地址,通常具有计数功能。当遇到转移类指令时,PC值可被修改
- IR:指令寄存器,存放当前欲执行的指令
CPU工作的三种方式
- 程序查询方式
- 程序中断方式
- DMA方式
DMA方式的特点:
- 停止CPU访问主存
- 周期挪用:[[#窃取周期]]
- DMA与CPU交替访问
后处理:
当DMA的中断请求得到响应后,CPU停止源程序的执行,转去执行终端服务程序,做一些DMA的结束工作
计算例题
1. 每秒12字节,求比特率bps(bit)
解:
2B/s×8=96bit/s
1比特(bit)=8字节(B)
bps=bit/s
比特率:bit/s(进制位每秒)
8bit=1B
2. 16k×32位
解:
地址线:14
16k=2^4+2^10=2^14(这个14就是地址线)
数据线:32
3. 字是32位,16MB的存储器,双字寻址,地址有多少个,寻址范围有多少?
解:
寻址范围:(0~2^21)-1
16MB÷(32b×2(双字寻址))=2^4(=16)×2^20(=MB)×2^3(=8字节转比特)/2^6(=32位×双字)=2^21
补码反码源码移码换算(16进制(H)转2进制(B))
补码求原码:按位取反+1
补码=反码+1
反码=原码取反
移码=补码的符号位取反
符号位:二进制数首位,0为正,1为负
负数补码:原码取反+1,符号位不变
正数原码,反码,补码都一样
负数的反码为对该数的原码出除符号位外按各位取反
按位取值:2^16×8b=2^19=512(2^9)k(2^10)b
按字节取值:2^16×(8b/8)=64kB
主观题
1. 机器速度和什么因素有关?
CPU、缓存、主存、CPU核心数、频率、GPU、辅存
2. 计算机系统有哪些,有什么作用?
有哪些:
操作系统、编译器、数据库管理、存储器格式化、文件系统管理
有什么作用:
3. Cache作用,CPU怎么访问Cache,主存,辅存?
作用:
- 加快CPU访问主存的速度。
- 提高命中率
- 减少CPU等待时间
- 提高数据访问速度
怎么访问:
- CPU通过直接映射等方式访问Cache,通过内存管理系统将数据或指令从辅存中读取到主存中,然后再从主存中读取到Cache中。
- 当CPU需要访问数据时,首先会在高速缓存中查找
- 如果1. 命中,则CPU可以直接从高速缓存中获取数据
- 如果1. 未命中,则CPU需要从主存中获取数据,并复制到Cache中
补码反码源码移码换算示例(整数):
9AH分别表示原码、反码、补码时对应的数是?
附:这转换成十进制是个负数
原码:1001 1010
最高位为1,表示为负数
001 1010=2^4(16)+2^3(8)+2^1(2)=26
十进制为:-26反码:1110 0101
最高位为1,表示负数
110 0110=2^6(64)+2^5(32)+2^2(4)+2^0(1)=101
十进制为:-101
移码:0110 0110 (无论正负数,将补码的符号位取反)
最高位为0,表示正数
110 0110=2^6(64)+2^5(32)+2^2(4)+2^1(2)=102
十进制为:102
连续数据1 2 3 4 5 6 7 8 H,地址20 21 22 23 H
说明:
- 大端存放:
低位数据存在高位地址
大端存放: | ||||
---|---|---|---|---|
地址类型 | 低位 | - | - | 高位 |
地址 | 20 | 21 | 22 | 23 |
数据 | 1 2 | 3 4 | 5 6 | 7 8 |
数据类型 | 高位 | - | - | 低位 |
- 小端存放:
低位数据存在低位地址
小端存放: | ||||
---|---|---|---|---|
地址类型 | 低位 | - | - | 高位 |
地址 | 20 | 21 | 22 | 23 |
数据 | 7 8 | 5 6 | 3 4 | 1 2 |
数据类型 | 低位 | - | - | 高位 |
Other:
- 大端存放(Big-endian)
1
2
3
4
5
6
7
832-bit integer
Menory 0A 0B 0C 0D
|..| | | | |
a: |0A| ←----------- | | |
a+1: |0B| ←--------------- | |
a+2: |0C| ←------------------- |
a+3: |0D| ←-----------------------
#大端存放(Big-endian) - 小端存放(Little-endian)
1
2
3
4
5
6
7
832-bit integer
Menory 0A 0B 0C 0D
|..| | | | |
a: |0A| ←----------|---|---|---|
a+1: |0B| ←----------|---|---|
a+2: |0C| ←----------|---|
a+3: |0D| ←----------|
#小端存放(Little-endian)
32位计算机,总线16位,时钟频率为50MHz,总线最短周期是4个时钟周期,计算机的最大传输速率是多少?
解:
总线工作频率:50MHz/4=12.5Mhz
总线宽度:16bit=2B
2B×12.5MHz=25MBps
附:1Hz=1T/s
T:周期