笔记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)
    
posted @ 2019-02-25 22:26  ChrisJJ  阅读(295)  评论(0)    收藏  举报
TOP