一、数制表示及转换
1. 数制表示
2. 进制转换
3. 正数和小数的表示
二、无符号数和有符号数的表示及运算
1. 机器码的有符号数和无符号数范围
(1)无符号数
8位机 范围:0 ~ 255(00H ~ FFH)
16位机 范围:0 ~ 65535(0000H ~ FFFFH)
(2)有符号数
有符号数的编码方式,常用的是补码
- n+1位机中,n位数值位,1位符号位
- 算术运算:+或者-
- 溢出:机器有位数限制、超出机器位数范围
8位机,n=7,机器码表示范围:
{ 原 码 : − 127 ∼ + 127 ( F F H ∼ 7 F H ) − ( 2 n − 1 ) ∼ + ( 2 n − 1 ) 反 码 : − 127 ∼ + 127 ( F F H ∼ 7 F H ) − ( 2 n − 1 ) ∼ + ( 2 n − 1 ) 补 码 : − 128 ∼ + 127 ( 80 H ∼ 7 F H ) − ( 2 n ) ∼ + ( 2 n − 1 ) \begin{cases} \pmb{原码}:-127 \sim +127 \ (FFH\sim7FH) \ -(2^n-1) \sim +(2^n-1) \\ \pmb{反码}:-127 \sim +127 \ (FFH\sim7FH )\ -(2^n-1) \sim +(2^n-1)\\ \pmb{补码}:-128 \sim +127 \ (80H\sim7FH)\ -(2^n) \sim +(2^n-1)\\ \end{cases} ⎩⎪⎨⎪⎧原码原码原码:−127∼+127 (FFH∼7FH) −(2n−1)∼+(2n−1)反码反码反码:−127∼+127 (FFH∼7FH) −(2n−1)∼+(2n−1)补码补码补码:−128∼+127 (80H∼7FH) −(2n)∼+(2n−1)
2. 真值和机器数
(1)真值 (带有“正”、“负”符号的数)
带符号位的机器数对应的真正数值称为机器数的真值。
(2)有符号机器数表示
- 原码
- 反码
- 补码(0的表现形式是唯一的)
- 移码(符号位用1表示正数,用0表示负数,其他位数值与补码一致)
正数的原码、反码、补码相同 符号位(1位) + 二进制的数码(n位机,n-1位)
+5用8位原码表示 0000 0101B
[ + 5 ] 原 码 = 0000 0101 B [+5]_{原码} = 0000 \ 0101 \ B [+5]原码=0000 0101 B
[ + 5 ] 反 码 = 0000 0101 B [+5]_{反码} = 0000 \ 0101 \ B [+5]反码=0000 0101 B
[ + 5 ] 补 码 = 0000 0101 B [+5]_{补码} = 0000 \ 0101 \ B [+5]补码=0000 0101 B
-5用8位原码表示 1000 0101B
[ − 5 ] 原 码 = 1000 0101 B [-5]_{原码} = 1000 \ 0101\ B [−5]原码=1000 0101 B
[ − 5 ] 反 码 = 1111 1010 B [-5]_{反码} = 1111 \ 1010\ B \quad [−5]反码=1111 1010 B 符号位不变,其他位取反
[ − 5 ] 补 码 = 1111 1010 B = 0 F B H [-5]_{补码} = 1111 \ 1010\ B = 0FBH \quad [−5]补码=1111 1010 B=0FBH 在反码基础上加1
求16以内负数补码时,可以将 16 减去去掉负号的数,让结果转换成16进制,然后在前面拼接上0F(前面加零,是为了确定这是一个数),就是这个负数的补码。
(给出正数补码,求负数补码:正数减一取反)
[ − 127 ] 原 码 = 1111 1111 [ − 127 ] 反 码 = 1000 0000 [ − 127 ] 补 码 = 1000 0001 [-127]_{原码} = 1111 \ 1111 \quad [-127]_{反码}=1000 \ 0000 \quad [-127]补码=1000 \ 0001 [−127]原码=1111 1111[−127]反码=1000 0000[−127]补码=1000 0001
[ + 0 ] 原 码 = 0000 0000 [+0]_{原码} = 0000 \ 0000 \quad [+0]原码=0000 0000 …
[ − 0 ] 原 码 = 1000 0000 [ − 0 ] 反 码 = 1111 1111 [ − 0 ] 补 码 = 00000000 [-0]_{原码} = 1000\ 0000 \quad [-0]_{反码} =1111 \ 1111 \quad [-0]_{补码} = 0000 0000 [−0]原码=1000 0000[−0]反码=1111 1111[−0]补码=00000000
[ − 1 ] 原 码 = 10000001 [ − 1 ] 反 码 = 11111110 [ − 1 ] 补 码 = 11111111 [-1]_{原码} = 1000 0001 \quad [-1]_{反码}=1111 1110 \quad [-1]_{补码} = 1111 1111 [−1]原码=10000001[−1]反码=11111110[−1]补码=11111111
分数,
例1: 26 64 = 26 × 2 − 6 = 11010 × 2 − 6 = 0.011010 B \frac{26}{64}=26 \times 2^{-6}=11010 \times 2^{-6} = 0.011010 \ B 6426=26×2−6=11010×2−6=0.011010 B
(因为前面已经是二进制了,所以只需把小数点向前移动6位即可)
例2: 30 128 = 11110 ∗ 2 − 7 = 0.0011110 B \frac{30}{128}=11110*2^{-7}=0.0011110\ B 12830=11110∗2−7=0.0011110 B
3. 逻辑运算(位运算)
- 与:
0
⋀
A
=
0
0
⋅
A
=
0
0 \bigwedge A = 0 \quad 0 \cdot A=0
0⋀A=00⋅A=0
1 ⋀ 1 = 1 1 \bigwedge 1 = 1 1⋀1=1 - 或:
1
⋁
A
=
1
1
+
A
=
1
1 \bigvee A = 1 \quad1+A=1
1⋁A=11+A=1
0 ⋁ 0 = 0 0\bigvee0=0 0⋁0=0 - 非: A ˉ 0 ˉ = 1 1 ˉ = 0 \bar{A} \quad \bar{0}=1\quad \bar{1}=0 Aˉ0ˉ=11ˉ=0
- 异或:
x
⨁
y
{
1
不
同
0
相
同
x\bigoplus y \begin {cases} 1&不同\\ 0&相同\\ \end{cases}
x⨁y{10不同相同
1 ⨁ 0 = 1 0 ⨁ 1 = 1 1\bigoplus 0 = 1\quad 0\bigoplus1=1 1⨁0=10⨁1=1
0 ⨁ 0 = 0 1 ⨁ 1 = 0 0\bigoplus 0=0 \quad1\bigoplus 1=0 0⨁0=01⨁1=0
4. 机器数补码的算术运算
[
X
+
Y
]
补
码
=
[
X
]
补
码
+
[
Y
]
补
码
[X+Y]_{补码} = [X]_{补码} +[Y]_{补码}
[X+Y]补码=[X]补码+[Y]补码
[
X
−
Y
]
补
码
=
[
X
]
补
码
+
[
−
Y
]
补
码
[X-Y]_{补码} =[X]_{补码}+[-Y]_{补码}
[X−Y]补码=[X]补码+[−Y]补码
[
Y
]
补
码
⟶
[
−
Y
]
补
码
[Y]_{补码}\longrightarrow[-Y]_{补码}
[Y]补码⟶[−Y]补码(含符号位、各位取反、末位+1)
[
[
Y
]
补
码
]
补
码
=
[
Y
]
原
码
[[Y]_{补码}]_{补码}=[Y]_{原码}
[[Y]补码]补码=[Y]原码
溢出
OF(OverFlow Flag)溢出标志位 溢出为1,不溢出为0
(1)方法一:
加法:两个数的符号相同而结果与加数相反(溢出),则OF=1,(不溢出)否则OF=0
若:
正 数 + 正 数 = 负 数 正数+正数=负数 正数+正数=负数 (溢出)
负 数 + 负 数 = 正 数 负数+负数=正数 负数+负数=正数 (溢出)
减法:如果两个数的符号相反而结果的符号与减数相同(溢出),则OF=1,否则OF=0
(2)方法二:进位
D 6 向 D 7 的 进 位 ⨁ D 7 向 D 8 的 进 位 { = 0 无 溢 出 = 1 溢 出 D_6向D_7的进位\bigoplus D_7向D_8的进位 \begin{cases} =0& 无溢出\\ =1& 溢出\\ \end{cases} D6向D7的进位⨁D7向D8的进位{=0=1无溢出溢出
1 0 1 0 0 1 1 1 + 1 1 0 0 0 0 0 0 1 1 ‾ \underline{ \begin{matrix} \quad \quad 1\ \ 0\ 1\ 0&0\ 1\ 1\ 1\\ +\quad _11_00\ 0\ 0&0\ 0\ 1\ 1\\ \end{matrix} } 1 0 1 0+1100 0 00 1 1 10 0 1 1 1 ⨁ 0 = 1 溢 出 1\bigoplus0=1 溢出 1⨁0=1溢出
1 1 1 0 0 0 0 1 + 1 0 1 1 0 0 0 0 1 0 ‾ \underline{ \begin{matrix} \quad \quad 1\ \ 1\ 1\ 0&0\ 0\ 0\ 1\\ +\quad _10_11\ 0\ 0&0\ 0\ 1\ 0\\ \end{matrix} } 1 1 1 0+1011 0 00 0 0 10 0 1 0 1 ⨁ 1 = 0 无 溢 出 1\bigoplus1=0 无溢出 1⨁1=0无溢出
5. BCD码
BCD码是二进制编码的十进制数
B
C
D
码
{
压
缩
型
:
4
位
二
进
制
表
示
1
位
十
进
制
(
0
∼
9
(
0000
∼
1001
B
)
)
非
压
缩
型
:
8
位
二
进
制
表
示
1
位
十
进
制
\pmb{BCD码}\begin{cases} 压缩型:4位二进制 表示 \pmb{1位}十进制(0\sim9(0000\sim1001B))\\ 非压缩型: 8位二进制 表示 1位十进制\\ \end{cases}
BCD码BCD码BCD码{压缩型:4位二进制表示1位1位1位十进制(0∼9(0000∼1001B))非压缩型:8位二进制表示1位十进制
例1:已知BCD码数为56H,则十进制数为:56
56 = ( 0101 0110 ) B C D = ( 56 H ) B C D 56 = (0101 \ 0110)BCD = (56H)BCD 56=(0101 0110)BCD=(56H)BCD
(5 = 0101 B,6 = 0110 B)
例2:已知BCD码数为1000 0100,则十进制数为:84
(1000 B = 8,0100 B = 4)
- 当两个BCD码相加,如果和等于或小于 1001(即十进制数9),不需要修正;
- 如果相加之和在 1010 到1111(即十六进制数 0AH~0FH)之间,则需加 6 进行修正;
- 如果相加时,本位产生了进位,也需加 6 进行修正。
- 这样做的原因是,机器按二进制相加,所以 4 位二进制数相加时,是按“逢十六进一”的原则进行运算的,而实质上是 2 个十进制数相加,应该按“逢十进一”的原则相加。
6. ASCII
7位二进制编码来表示128个字符和符号。
′
0
′
∼
′
9
′
:
30
H
∼
39
H
(
48
∼
57
)
′
A
′
∼
′
Z
′
:
41
H
∼
.
.
.
.
(
65
∼
.
.
.
.
.
)
′
a
′
∼
′
z
′
:
61
H
∼
.
.
.
.
.
(
97
∼
.
.
.
.
.
.
)
\begin{matrix} '0' \sim '9':30H \sim 39H(48 \sim 57)\\ 'A' \sim 'Z':41H \sim....(65 \sim.....)\\ 'a ' \sim 'z':61H \sim.....(97 \sim......)\\ \end{matrix}
′0′∼′9′:30H∼39H(48∼57)′A′∼′Z′:41H∼....(65∼.....)′a′∼′z′:61H∼.....(97∼......)
例1:63按字符存储时ASCII码为:3633H
(按字符转存时ASCII码,6:36H,3:33H)
例2:574 按字符存储时ASCII码为:353734H
(按字符转存时ASCII码,5:35H,7:54H,4:34H)
三、微机基本电路
1. 与或非异或
2. 触发器
- 由晶体管原件及门电路组成。
- 是存储器、寄存器基本组成部分。
- 具有记忆功能基本单元,只能存一位二进制代码
- 8个一位触发器组成1个八位寄存器
3. 寄存器
- 寄存器由触发器构成,用来存储运算数据。
- 包括缓冲寄存器、移位寄存器、计数器和累加器等。
- 一个触发器组成一位寄存器,多个触发器组成一个多位寄存器。
16
位
{
A
X
B
X
16位\begin{cases} AX\\ BX\\ \end{cases}
16位{AXBX
8
位
{
C
L
8位\begin{cases} CL\\ \end{cases}
8位{CL
类
型
{
数
据
寄
存
器
缓
冲
寄
存
器
移
位
寄
存
器
计
数
存
储
器
累
加
寄
存
器
类型\begin{cases} 数据寄存器\\ 缓冲寄存器\\ 移位寄存器\\ 计数存储器\\ 累加寄存器\\ \end{cases}
类型⎩⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎧数据寄存器缓冲寄存器移位寄存器计数存储器累加寄存器
4. 存储器
- 存储器由寄存器组成,是一个寄存器堆,每个存储单元相当于一个缓冲寄存器。
- 存储器是计算机中的主要存储部件,能保存数据信息。主要分为主存和辅存,主存分为RAM和ROM。
四、微机系统结构
1. 计算机的发展(五代)
1946:第一台 ENIAC,电子管为基本电子器件
1958:晶体管
1965:中小规模集成电路
1971:大规模集成电路
1986:巨大规模集成电路
2. 电子计算机设计思想
冯·诺依曼
- 采用二进制,机器用二进制表示数据和指令
- 存储程序,将程序和数据存放在存储器中。
- 程序控制,计算机在工作时从存储器取出指令加以执行,自动完成计算任务
- 指令的执行是顺序的,即一般按照指令在存储器中存放的顺序执行。
- 计算机由存储器、运算器、控制器、输入设备和输出设备五大基本部件组成。
3. 微处理器(CPU)芯片
1.由一片或几片大规模集成电路组成的中央处理器
2. 由运算器、控制器、寄存器、片内总线组成。
3. 能完成取指令、执行指令、及主存和I/O接口交互信息的功能,是微机的运算、控制中心
4. 发展:位数
I
n
t
e
r
、
A
M
D
{
4
位
4004
芯
片
8
位
8008
、
8085
16
位
8088
、
8086
、
80286
32
位
80386
、
80486
、
P
e
n
t
i
u
m
64
位
I
t
a
n
i
u
m
、
64
位
R
I
S
C
微
处
理
器
芯
片
Inter、AMD\begin{cases} 4位&4004芯片\\ 8位&8008、8085\\ 16位&\pmb{8088、8086}、80286\\ 32位&80386、80486、Pentium\\ 64位&Itanium、64位RISC微处理器芯片\\ \end{cases}
Inter、AMD⎩⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎧4位8位16位32位64位4004芯片8008、80858088、80868088、80868088、8086、8028680386、80486、PentiumItanium、64位RISC微处理器芯片
- CPU位数:处理器运算位数,是指微处理器一次执行指令的数据带宽。
1字节=8位,16位处理器可以一次性处理2个字节的数据量。依次类推,32位处理器可以一次性处理4个字节的数据量,比32位处理器的处理速率加快一倍。- CPU字长 : CPU在单位时间内(同一时间)能一次处理的二进制数的位数 。
能处理字长为32位数据的CPU通常就叫32位的CPU。 同理16位的CPU就能在单位时间内处理字长为16位的二进制数据。
4. 微型计算机
基本工作原理:存储程序和程序控制
五大部件:运算器、控制器、存储器、输入设备、输出设备
存储器又分为内存储器和外存储器
输入设备及输出设备统称为外部设备(I/O设备)
5. 微型计算机系统
由硬件系统和软件系统两部分共同组成的完整的计算机系统。
主要性能指标:字长、主存容量、主频、速度(运算和存储)、性价比、可靠性及其他指标。
微
型
计
算
机
系
统
{
硬
件
系
统
{
主
机
{
C
P
U
存
储
器
输
入
输
出
接
口
电
路
(
设
备
)
系
统
总
线
外
围
设
备
软
件
系
统
{
应
用
软
件
系
统
软
件
支
撑
软
件
微型计算机系统 \begin{cases} \pmb{硬件}系统 \begin{cases}主机 \begin{cases} \pmb{CPU}\\ \pmb{存储器}\\ \pmb{输入输出接口}电路(设备)\\ \pmb{系统总线} \end{cases} \\ 外围设备 \end{cases} \\ \pmb{软件}系统 \begin{cases} \pmb{应用软件}\\ \pmb{系统软件}\\ 支撑软件 \end{cases} \\ \end{cases}
微型计算机系统⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧硬件硬件硬件系统⎩⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎧主机⎩⎪⎪⎪⎨⎪⎪⎪⎧CPUCPUCPU存储器存储器存储器输入输出接口输入输出接口输入输出接口电路(设备)系统总线系统总线系统总线外围设备软件软件软件系统⎩⎪⎨⎪⎧应用软件应用软件应用软件系统软件系统软件系统软件支撑软件
6. 总线及类型
(1)定义
计算机各部件之间及计算机与计算机之间传输信息的公共通道。
(2)类型
1. 按 功 能 ( 系 统 总 线 ) { 数 据 总 线 D B ( d a t a b u s ) ( 双 向 ) 地 址 总 线 A B ( a d d r e s s b u s ) ( 单 向 ) 控 制 总 线 C B ( c o n t r o l b u s ) { 总 体 − 双 向 某 一 信 号 − 单 向 1.\ 按功能(\pmb{系统总线})\begin{cases} \pmb{数据总线}&\pmb{DB}(data\ bus)(\pmb{双向})\\ \pmb{地址总线}&\pmb{AB}(address\ bus)(\pmb{单向})\\ \pmb{控制总线}&\pmb{CB}(control\ bus) \begin{cases} 总体-双向\\ 某一信号-单向\\ \end{cases}\\ \end{cases} 1. 按功能(系统总线系统总线系统总线)⎩⎪⎪⎪⎨⎪⎪⎪⎧数据总线数据总线数据总线地址总线地址总线地址总线控制总线控制总线控制总线DBDBDB(data bus)(双向双向双向)ABABAB(address bus)(单向单向单向)CBCBCB(control bus){总体−双向某一信号−单向
2.
按
传
输
方
式
{
串
行
总
线
:
一
位
一
位
传
,
适
合
远
距
离
传
输
。
例
:
U
S
B
、
电
话
线
、
光
纤
、
I
E
E
E
394
、
R
S
−
232
并
行
总
线
:
多
位
同
时
传
,
适
合
近
距
离
传
输
。
{
主
板
上
{
16
位
机
:
I
S
A
标
准
总
线
32
位
机
{
E
I
S
A
扩
展
的
标
准
总
线
P
C
I
外
设
部
件
的
互
联
标
准
总
线
64
位
机
:
P
C
I
−
E
2.\ 按传输方式\begin{cases} \pmb{串行总线}:一位一位传,适合远距离传输。\\ \quad 例:USB、电话线、光纤、IEEE394、RS-232 \\ \pmb{并行总线}: 多位同时传,适合近距离传输。\\ \begin{cases} 主板上 \begin{cases} 16位机:ISA\quad 标准总线\\ 32位机 \begin{cases} EISA\quad 扩展的标准总线\\ PCI\quad 外设部件的互联标准总线 \end{cases}\\ 64位机:PCI-E \end{cases}\\ \end{cases}\\ \end{cases}
2. 按传输方式⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧串行总线串行总线串行总线:一位一位传,适合远距离传输。例:USB、电话线、光纤、IEEE394、RS−232并行总线并行总线并行总线:多位同时传,适合近距离传输。⎩⎪⎪⎪⎨⎪⎪⎪⎧主板上⎩⎪⎪⎪⎨⎪⎪⎪⎧16位机:ISA标准总线32位机{EISA扩展的标准总线PCI外设部件的互联标准总线64位机:PCI−E
3.
按
位
置
{
片
内
总
线
:
C
P
U
内
部
系
统
总
线
:
各
部
件
间
局
部
总
线
:
少
数
模
块
之
间
、
P
C
I
、
南
桥
、
北
桥
外
部
总
线
(
通
讯
总
线
)
3.\ 按位置\begin{cases} \pmb{片内总线}:CPU内部\\ \pmb{系统总线}:各部件间\\ \pmb{局部总线}:少数模块之间、PCI、南桥、北桥\\ \pmb{外部总线}(通讯总线) \end{cases}
3. 按位置⎩⎪⎪⎪⎨⎪⎪⎪⎧片内总线片内总线片内总线:CPU内部系统总线系统总线系统总线:各部件间局部总线局部总线局部总线:少数模块之间、PCI、南桥、北桥外部总线外部总线外部总线(通讯总线)
(3) 总线技术指标
- 总线带宽:数据传输率(字节 B/秒 S )
- 总线位宽:同时传输的二进制位数
- 总线的工作(时钟)频率:MHz(工作频率越高,总线工作速度越快,即总线带宽越宽。)
总 线 带 宽 = ⋅ 总 线 宽 度 8 ∗ 总 线 时 钟 频 率 每 个 存 储 周 期 的 时 钟 数 \pmb{总线带宽}=\frac{·总线宽度}{8}*\frac{总线时钟频率}{每个存储周期的时钟数} 总线带宽总线带宽总线带宽=8⋅总线宽度∗每个存储周期的时钟数总线时钟频率
例:总线时钟频率66MHz的32位总线,若每两个时钟周期完成一次总线存取操作,求总线带宽。
总 线 带 宽 = 32 位 8 ∗ 66 M H z 2 = 132 M B / S 总线带宽 =\frac{32\ 位}{8}*\frac{66\ MHz}{2} = 132\ MB/S 总线带宽=832 位∗266 MHz=132 MB/S
(4)总线操作
- Pentium微处理机系统中的各种操作,包括存储器的读操作和写操作以及输入
操作和输出操作,本质上都是通过总线进行的信息交换,统称为总线操作。 - 在同一时刻,总线上只能允许一对主控设备(master)和从属设备(slave)进行信息交换。一对主控设备和从属设备之间一次完成的信息交换,通常称为一个数据传送周期或一个总线操作周期。
7. 名词
- 指令:微机完成规定操作的命令,一条指令通常由操作码和地址码组成。
- 指令系统:一台计算机中所有机器指令的集合。
- 计算机语言
a. 二进制语言(机器语言):低级语言 计算机能直接识别
b. 汇编语言:低级语言 (助记符),计算机不能直接识别
c. 高级语言:C、JAVA… - 指令执行步骤
取指令 | 分析译码 | 执行 |
---|---|---|
CPU到内存 | CPU内控制器 | CPU内运算器 |
- 程 序 结 构 { 顺 序 结 构 分 支 结 构 循 环 结 构 子 程 序 程序结构\begin{cases} 顺序结构\\ 分支结构\\ 循环结构\\ 子程序 \end{cases} 程序结构⎩⎪⎪⎪⎨⎪⎪⎪⎧顺序结构分支结构循环结构子程序
8. 现代计算机中技术
(1)16位机/32位机比8位机优点:
- 寄存器个数/位数增多
- 寻址范围增大
- 处理速度
4. { C I S C ( c o m p l e x ) : 复 杂 指 令 系 统 计 算 机 { 1. 指 令 系 统 复 杂 庞 大 , 指 令 数 目 多 2. 指 令 格 式 多 , 字 长 不 固 定 , 多 种 寻 址 方 式 3. 可 访 存 指 令 不 受 限 制 4. 各 种 指 令 的 执 行 时 间 相 差 很 大 5. 大 都 采 用 微 程 序 控 制 器 R I S C ( r e d u c e d ) : 精 简 指 令 系 统 计 算 机 { 1. 选 取 使 用 频 率 高 的 简 单 指 令 2. 指 令 长 度 固 定 , 指 令 格 式 少 , 寻 址 方 式 种 类 少 3. 采 用 流 水 线 技 术 4. 使 用 较 多 的 通 用 寄 存 器 , 减 少 访 存 5. 控 制 器 以 组 合 逻 辑 控 制 为 主 ( 硬 布 线 ) 6. 采 用 优 化 编 译 技 术 4.\begin{cases} \pmb{CISC}(complex):复杂指令系统计算机 \begin{cases} 1.指令系统复杂庞大,指令数目多\\ 2.指令格式多,字长不固定,多种寻址方式\\ 3.可访存指令不受限制\\ 4.各种指令的执行时间相差很大\\ 5.大都采用\pmb{微程序控制器}\\ \end{cases}\\ \pmb{RISC}(reduced):精简指令系统计算机 \begin{cases} 1.选取使用频率高的简单指令\\ 2.\pmb{指令长度固定,指令格式少,寻址方式种类少}\\ 3.采用\pmb{流水线}技术\\ 4.使用\pmb{较多的通用寄存器,减少访存}\\ 5.控制器以\pmb{组合逻辑控制}为主(\pmb{硬布线})\\ 6.采用优化编译技术 \end{cases}\\ \end{cases} 4.⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧CISCCISCCISC(complex):复杂指令系统计算机⎩⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎧1.指令系统复杂庞大,指令数目多2.指令格式多,字长不固定,多种寻址方式3.可访存指令不受限制4.各种指令的执行时间相差很大5.大都采用微程序控制器微程序控制器微程序控制器RISCRISCRISC(reduced):精简指令系统计算机⎩⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎧1.选取使用频率高的简单指令2.指令长度固定,指令格式少,寻址方式种类少指令长度固定,指令格式少,寻址方式种类少指令长度固定,指令格式少,寻址方式种类少3.采用流水线流水线流水线技术4.使用较多的通用寄存器,减少访存较多的通用寄存器,减少访存较多的通用寄存器,减少访存5.控制器以组合逻辑控制组合逻辑控制组合逻辑控制为主(硬布线硬布线硬布线)6.采用优化编译技术
- Cache:高速缓冲寄存器,基本元器件RAM
R A M { S R A M D R A M \pmb{RAM}\begin{cases} SRAM\\ DRAM\\ \end{cases} RAMRAMRAM{SRAMDRAM
提供速度:提高CPU访问主存信息的速度 - 虚 拟 存 储 器 { 含 义 : 软 件 技 术 + 硬 件 技 术 功 能 : 扩 大 容 量 C P U 管 理 虚 拟 存 储 器 方 式 : 页 式 、 段 式 、 段 页 式 虚拟存储器\begin{cases} 含义:软件技术+硬件技术\\ 功能:扩大容量\\ CPU管理虚拟存储器方式:页式、段式、段页式 \end{cases} 虚拟存储器⎩⎪⎨⎪⎧含义:软件技术+硬件技术功能:扩大容量CPU管理虚拟存储器方式:页式、段式、段页式
主存与Cache的地址映射方式有:
全相联映射、直接相联映射、组相联映射。
(2)先进技术
- 流水线:时间重叠提高CPU处理速度,同时处理多条指令。
简述流水线技术,8086/8088怎样实现了最简单旳指令流水线?
- 流水线技术是指在程序执行时多条指令重叠进行操作的一种并行处理实现技术。
- 流水线技术的并行处理是指完成一条指令的各个部件在时间上是可以同时重叠工作,分别同时为多条指令的不同部分进行工作,以提高各部件的利用率。
- 流水线技术是每个子过程由专门的功能部件来实现,每个子过程与其他子过程并行进行。
- 8086 /8088中,指令的读取是在BIU单元,而指令的执行是在EU单元。因为BIU和EU两个单元相互独立、分别完成各自操作,所以可以并行操作。
- 在EU单元对一个指令进行译码执行时,BIU单元可以同时对后续指令进行读取。
- 中断
- DMA:直接存储访问
- 堆栈:内存中特定区域,通过汇编指令完成入栈、出栈操作
- 预取
- 乱序执行:提高CPU执行速度与流水线和预取有关。
本文仅供本人学习总结使用,文中观点,均为本人拙见,如有错误或不妥之处,请及时指正。