笔记1
组成原理初步
0x00 计算机组成

冯 - 诺依曼计算机特点:
- 计算机由五大部件组成,运算器,控制器,存储器,I/O设备
- 指令和数据同等地位,存放于存储器内,按址寻访
- 指令和数据以二进制表示
- 指令由操作码和地址码组成
- 存储程序的思想
- 以运算器为中心(现如今采用更好的以存储器为中心)
0x01计算机工作步骤
运算器

首先是相关的汇编指令:
- LDA 取数,MUL 乘,ADD 加,SUB 减,DIV 除,STD 存数,PIT 打印
ACC(Accumulator)累加器,MQ(Multiplier-Quotient Register)乘商寄存器,ALU算数逻辑单元
假设ACC存有前一刻数据,然后得到另一个数据X,与ACC通过ALU中的运算,最后得到结果,然后保留进ACC中。如果是乘,则高位保留入ACC,低位在MQ中,如果是除,商暂留在MQ中,余数保留在ACC中。
存储器

存储体:大小以A*D的形式,A是存储单元的个数,D是存储单元的位数(存储字长)
MAR(Memory Address Register)存储器地址寄存器
MDR(Memory Data Register)存储器数据寄存器
其实说白了,MAR是存地址的,MDR是存数据的
控制器

一条指令的完成:取指令PC,分析指令IR,执行指令CU
PC程序计数器,IR指令寄存器,CU控制单元,IR存放当前欲执行的指令。
IR中的操作码(OP)IR中的地址码(Ad)
0x02 以c=(a+b)*(a-b)为例
汇编指令
LDA a
ADD b
STD c
LDA a
SUB b
MUL c
STD c
机器指令
此处假设指令字长为16位,前6位为操作码。
| 地址 | 操作码 | 地址码 |
|---|---|---|
| 00 0000 0000 | 000001 | 00 0000 0111 |
| 00 0000 0001 | 000011 | 00 0000 1000 |
| 00 0000 0010 | 000010 | 00 0000 1001 |
| 00 0000 0011 | 000001 | 00 0000 0111 |
| 00 0000 0100 | 000111 | 00 0000 1000 |
| 00 0000 0101 | 000100 | 00 0000 1001 |
| 00 0000 0110 | 000010 | 00 0000 1001 |
| 00 0000 0111 | a | |
| 00 0000 1000 | b | |
| 00 0000 1001 | c |
微操作
所有的微指令,取指令和分析指令的步骤相同,所以只考虑执行指令这一部分
-
取指令
PC-->MAR M(0) CU-->读 M(0)-->MDR MDR-->IR PC+1-->PC -
分析指令
OP(IR)-->CU -
执行指令(以第一,二,三步为例)
1.Ad(IR)-->MAR MAR-->M(7) CU-->read M(7)-->MDR MDR-->ACC 2.Ad(IR)-->MAR MAR-->M(8) CU-->read M(8)-->MDR MDR-->X ACC+X-->ACC 3.Ad(IR)-->MAR MAR-->M(9) CU-->write ACC-->MDR MDR-->M(9)

浙公网安备 33010602011771号