计算机组成原理部分知识点

文章发布时间:

最后更新时间:

页面浏览: 加载中...

概念

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
2
3
4
5
6
7
  |---------------
↓ |
|---|-→|----|-→|----|-→|---|
|CPU| |缓存| |主存| |辅存|
|---|←-|----|←-|----|←-|---|
| 缓存-主存层次 ↑ 主存-辅存层次
---------------|

主存类型:
磁带、光盘、硬盘(HDD和SSD)

5. DMA、周期挪用

I/O设备与主机信息传送的控制方式

  • 程序查询方式
  • 程序中断方式
  • DMA方式

窃取周期

  • DMA的占有称为窃取或挪用,窃取的时间一般为一个存取周期

独立请求方式:
一个请求信号,一个响应信号
输入输出操作,中断处理,总线操作

6. 指令(RISC\CISC)

指令的一般格式:操作码和地址码

格式:
操作码 地址码

寻址方式:

  1. 立即寻址
  2. 直接寻址
  3. 隐含寻址
  4. 间接寻址

指令系统类型

RISC:精简指令系统
CISC:复杂指令系统

7. CPU

CPU结构:

  • 运算器(ALU)
  • 控制器(CU)

CPU功能:

  • 指令控制
  • 操作控制
  • 时间控制
  • 数据加工
  • 处理中断

控制和状态寄存器:

  • MAR:存储器地址寄存器,用于存放将被访问的存储单元地址
  • MDR:存储器数据寄存器,用于存放欲存入存储器中的数据或从最近从存储器中读出的数据
  • PC:程序技术器,存放现行指令的地址,通常具有计数功能。当遇到转移类指令时,PC值可被修改
  • IR:指令寄存器,存放当前欲执行的指令

CPU工作的三种方式

  • 程序查询方式
  • 程序中断方式
  • DMA方式

DMA方式的特点:

  1. 停止CPU访问主存
  2. 周期挪用:[[#窃取周期]]
  3. 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,符号位不变

正数原码,反码,补码都一样
负数的反码为对该数的原码出除符号位外按各位取反

  • 一个存储器有16根地业线,8根数据线,求存储容量

按位取值: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访问主存的速度。
  1. 提高命中率
  2. 减少CPU等待时间
  3. 提高数据访问速度
    怎么访问:
  • CPU通过直接映射等方式访问Cache,通过内存管理系统将数据或指令从辅存中读取到主存中,然后再从主存中读取到Cache中。
  1. 当CPU需要访问数据时,首先会在高速缓存中查找
  2. 如果1. 命中,则CPU可以直接从高速缓存中获取数据
  3. 如果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
    8
                        32-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
    8
                        32-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:周期