计算机组成主要知识点,计算机组成原理知识点总结

计算机组成原理知识点总结

组成原理

发布于2020年5月19日 11:11

阅读数 9797

2.信息的表示和处理

熟悉二进制、十六进制与十进制的关系

整数:补码,有符号表示与无符号表示

加法:判断溢出的方法:双符号位法

3.程序的机器级表示

汇编代码,能看懂,根据些许C语言推到汇编代码或者根据汇编代码反推C语言就行

数据格式:b(字节 -- 8位),w(字 -- 16位),l(双字 -- 32位)

数据传输指令: movs(有符号)、movz(无符号)

算术和逻辑操作:

inc D(D+1)

dec D(D-1)

neg D(-D)

not D(~D)

add S, D

sub S, D

imul S, D

xor S, D

or S, D

and S, D

sal k, D 左移

shl k, D 左移

sar k, D 算术右移

shr k, D 逻辑右移

leal S, D:加载有效地址

06867d4698e2d9622ca18896ba1360a4.png→ 可运用为加法运算

控制:

CF:进位标志(1:进位)

ZF:零标志(1:为0)

SF:符号标志(1:为负)

OF:溢出标志(1:溢出)

指令

同义名

描述

jmp X

直接跳转

je X

jz

相等/零

jne X

jnz

不相等/非零

js X

负数

jns X

非负数

jg X

jnle

大于(有符号>)

jge X

jnl

大于或等于(有符号>=)

jl X

jnge

小于(有符号

jle X

jng

小于或等于(有符号<=)

ja X

jnbe

超过(无符号>)

jae X

jnb

超过或相等(无符号>=)

jb X

jnae

低于(无符号

jbe X

jna

低于或相等(无符号<=)

great :less

above:below

跳转语句与循环语句的汇编代码

栈帧(stack frame): %esp 栈指针(表示栈当前指的位置),%ebp 帧指针,%eip 指令指针寄存器

push X:栈指针先上移(减4),再存数据

pop X:移出数据,栈指针下移(加4)

call X:先保存返回地址,再转入子过程

熟悉下练习题 3.33。

4.12 Y86指令

会看就行,与写下面的 4.3 有关

4.2 逻辑设计和硬件控制语言HCL

四条表达式:

判断位相等:bool eq = (a && b) || (!a && !b)

单位多路复用器:bool out = (s && a) || (!s && b)

情况表达式:

int Out = [

​ select_1 : expr_1

​ select_2 : expr_2

​ ...

​ 1 : expr_n

]

集合关系:bool s1 = code in {

f76ecde76989e8e4f8aa9a5fdf883e9d.png

5f31c1a0ae43233f641d0c08a24e45ea.png

f438e5805da7777a76ef7eed4f906c55.png

f76ecde76989e8e4f8aa9a5fdf883e9d.png

bf3b7453c828f27a669ea8f41e83bce8.png

f438e5805da7777a76ef7eed4f906c55.png

991e2d9992271aa53993fcd9b3288664.png

991e2d9992271aa53993fcd9b3288664.png

991e2d9992271aa53993fcd9b3288664.png

f438e5805da7777a76ef7eed4f906c55.png

f76ecde76989e8e4f8aa9a5fdf883e9d.png

70b08ea36ac980709a63e734b5c66af2.pnga1 a2 ... an };

4.3 Y86的顺序实现

组成阶段:取指

06867d4698e2d9622ca18896ba1360a4.png→ 译码 

06867d4698e2d9622ca18896ba1360a4.png→ 执行 

06867d4698e2d9622ca18896ba1360a4.png→ 访存 

06867d4698e2d9622ca18896ba1360a4.png→ 写回 

06867d4698e2d9622ca18896ba1360a4.png→ 更新PC 

06867d4698e2d9622ca18896ba1360a4.png→ 取指 

06867d4698e2d9622ca18896ba1360a4.png→ ...

根据以上

3f6bbaebf3fcc9e381612b87a9c62735.png6 个过程可以写出以下格式:

取指

icode : ifun

rA, rB

valC

valP

译码

valA

valB

运算

valE

Cond, Cnd

访存

valM

写回

dstE

dstM

PC更新

PC

稍微详细的补充:

icode : ifun:分别是指令代码与指令功能,分别占四位(bit)。

rA, rB:指明两个寄存器操作数指示符(就是记录使用哪两个寄存器)

valC:一个四字节常数字(涉及到常数或者内存的时候出现)

valP:PC值加上已取出指令的长度(汇编可见的左侧地址的下一条)

valA, valB:从rA和rB读出的值

valE:经过运算得到的值(一般有ALU的运算或者栈针的移动)

Cond, Cnd:检查跳转码和跳转条件时是否选择分支产生的信号与判断

valM:写入存储器或从存储器写出的值

dstE, dstM:写回寄存器文件的最多是两个

PC:下一条指令地址(指令地址)

6.存储器层次结构

局部性:倾向于引用(邻近于其他最近引用过的数据项的)数据项,或者最近引用过的数据项本身。

良好的时间局部性:被引用过一次的存储器位置可能在不远的将来再被多次引用。

良好的空间局部性:被引用过一次的存储器位置可能在不远的将来引用附近的一个存储器位置。

另外的知识点:存储技术、存储器层次结构、高速缓存(了解就行)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值