第一部分 计算机组成原理-------机器
(1)计算机系统的基本概念
(2)总线
(3)存储器
(4)输入输出系统
第二部分 计算机组成原理------数字
(1)计算机中数的表示
(2)计算机的运算方法和运算器
第三部分 计算机组成原理------CPU
(1)指令系统
(2)CPU的结构和功能
(3)控制单元
(4)控制单元的设计
第一章 计算机的基本组成
1、冯.诺依曼计算机的特点
(1)五大部分组成:运算器,控制器,存储器,输入设备,输出设备
(2)指令和数据以同等地位存于存储器,可按地址寻访
(3)指令和数据用二进制表示
(4)指令由操作码和地址码组成
(5)存储程序---(核心特点)
(6)以运算器为中心
黑色实线:数据通路
虚线:控制状态反馈
运算器:算术运算,逻辑运算
存储器:存放数据和程序
控制器:指挥程序运行
输入设备:将信息转换成机器能识别的形式
输出设备:将结果转换成人们熟悉的形式
冯诺依曼结果问题:
1,以运算器位中心导致运算器为这个系统的瓶颈
2,不具有层次化的特征
改进
双线表示数据的传输
(1)ALU(Arithmetic & Logical Unit)算术逻辑单元---运算器
(2)CPU(Cenreal Processing Unit)中央处理器
(3)CU(Control Unit)控制处理器
3、系统复杂性管理的方法(3’Y)
(1)层次化(Hierachy):将被设计的系统划分为多个模块或子模块
(2)模块化(Modularity):有明确定义(well-defined)的功能和接口
(3)规则性(Regularity):模块更容易被重用
左边满右边快
指令格数举例
16位数据
前6位表示操作码,后十位地址码
存储器的基本组成
存储体(大楼)由若干个存储单元(房间)组成,存储单元由若干个存储元件(床位,有人1/无人0)组成
存储单元:存放一串二进制代码,指令和数据都存放在存储单元当中。
存储字:存储单元中二进制代码的组合。
存储字长:存储单元中二进制代码的位数。
每个存储单元赋予一个地址,一个存储单元中存储一个存储字
可以通过地址对存储单元进行访问
MAR(Memory Address Regist)---存储器地址寄存器,反映存储单元的个数
MDR(memory data register)---存储器数据寄存器,反映存储字长
存储体用来存放01代码可能是指令也可能是数据,被分为多个存储单元每个存储单元保存若干个01,01的个数为存储字长。每个存储单元中保存的数据为存储字。
6、运算器的基本组成及操作过程
Alu通常是组合电路组合电路的特点是如果输入撤销输出结果也会相应的撤销,为了使alu能完成操作并保存结果必须在alu输入端加上寄存器,寄存器保存参与运算的数据,需要两个寄存器保存输入
分别为ACC和X(数据寄存器)
ALU核心算罗运算单元,ACC和X运算输入,ACC也用保存运算结果像乘法这样的操作由于运算结果的长度要增加一倍,那我们把出来的部分保存在MQ中
注:MQ(Multiple-Quotient Register)只有在执行乘法除法才会用到,称为乘商寄存器
MQ在乘除法中用到,在乘中保存乘数,在除法中保存商
控制器的功能:解释指令,保证指令的按序执行
(1)控制器功能:解释指令;保证指令的按序执行
(2)控制器完成一条指令:取指令(PC)---分析指令(IR)---执行指令(CU)
(3)PC(Program Counter):程序计数器
---PC存放当前欲执行指令的地址,具有计数功能(PC)+1->PC
(4)IR(Instruction Register):指令寄存器---存放当前欲执行的指令
完成指令的三个阶段
1,取址令
2,分析指令
3,执行指令
1,取指令:要取指令就要知道指令的地址,要执行指令的地址保存在PC中,指令保存在存储体当中所以取指令的第一个操作,就就PC把指令的地址送给MAR再由MAR送给存储体,在控制器的控制下存储体把指令存储单元当中保存的那条取数指令取出送入MDR,取出的指令要送给IR,IR的功能就是保存当前正在执行的指令,经过这4步操作,取址的工作已经完成下一步分析指令,
2,分析指令:指令寄存器当中保存的指令操作码部分送入CU经过译码,取数指令的功能是把保存在M单元的那个数据把他取到ACC这个寄存器中,为了完成这个操作在控制器的控制之下要把指令当中的地址部分送给存储器以便把数据从存储体当中取出,从IR中取出地址码送入MAR,然后在送给存储体,在控制器的控制之下从存储体当中,把我们取数指令要取的那个数取出,存入到MDR,然后送入ACC
存数指令:是把ACC当中保存的数据给它放到存储体当中指定的单元中,
执行:1,取指令,2,
1,取指令:要取指令就要知道指令的地址,要执行指令的地址保存在PC中,指令保存在存储体当中所以取指令的第一个操作,就就PC把指令的地址送给MAR再由MAR送给存储体,在控制器的控制下存储体把指令存储单元当中保存的那条取数指令取出送入MDR,取出的指令要送给IR,IR的功能就是保存当前正在执行的指令,经过这4步操作,取址的工作已经完成下一步分析指令,
2:分析指令:把IR当中保存的数据操作码部分交给CU,由CU对指令进行分析,通过分析我们知道执行要做什么操作,CU会发生相应的控制信号来完成指令要求的操作,我们这条指令是存数指令,首先CU控制把IR当中地址码的部分送给MAR由MAR在送入存储体,告诉存储体有个数据要存入,地址是多少下一步操作,就是把ACC里的内容送入MDR,这个地方保存了从存储体当中输入和输出的数据。进而在控制器的控制之下把MDR数据给保存在存储体当中。
这就是一个程序在计算机中的执行过程。