快考试了,微机学的一塌糊涂,准备好好复习
微型计算机的组成
- 硬件系统
流行的实际微型机硬件系统一般都是由主机板(CPU ,主存储器RAM,CPU外围芯片组,总线
插槽),外设接口卡,外部设备(硬盘,显示器,键盘,鼠标)以及电源等部件组成。 - 软件系统
软件系统的主要功能如下
a.控制和管理硬件资源,协调各组成部件的工作,以便使计算机更高效的运行。
b.为用户尽可能的提供方便,灵活而富于个性化的计算机操作使用界面。
c.为专业人员提供开发各种应用软件所需的各种工具和环境。
d.为用户完成特定信息处理任务提供各种处理软件。
总结:硬件系统和软件系统是相辅相成的,共同组成微型机系统。而且人是通过软件系统与硬件
系统发生关系的。
微处理器模型的组成
- 运算器
用来进行算术或逻辑运算以及位移循环等操作。 - 控制器
a.指令寄存器 用来存储从存储器取出的将要执行的指令(实际为操作码)
b.指令译码器 用来对指令寄存器IR中的指令进行译码,以确定指令应执行什么操作。 - 内部寄存器
- 累加器A 是使用频率最高的一个寄存器,在进行算术逻辑运算时,运算前用来存储操作
数,运算后用来存储结果。 - 数据寄存器DR 用来暂存数据和指令,存储器进行读操作时,往往先存储指令下一步存储数
据,因为一个指令是由操作码和操作数组成的,操作码告诉机器接下来该执行什么操作,一般
会从数据寄存器DR送到指令寄存器IR再送到指令译码器ID,操作数会直接从数据寄存器DR送
到累加器A。 - 程序计数器 PC(program counter)
PC里面存放着正待取出的指令的地址,根据PC的指令地址,准备从存储器中取出将要执行的
指令,在任何时候,PC 都要指示要取的下一个字节或下一条指令所在的地址,因此PC有自动
加1的功能。 - 地址寄存器AR
顾名思义就是用来存放地址的,不过它是用来存放正要取出的指令的地址或者操作数的地址,在取指令时,将PC存放的指令地址送到AR中,根据此地址在存储器中取出指令。取操作数时,将操作数的地址通过内部总线送到AR,再根据此地址从存储器中取出操作数。在向存储器存入数据时,也要先将待写入数据的地址送到AR,再根据此地址向存储器写入数据。 - 标志寄存器
用来寄存执行指令时所产生的结果或状态的标志信号。
- 累加器A 是使用频率最高的一个寄存器,在进行算术逻辑运算时,运算前用来存储操作
存储器概述
1.基本概念
>存储器是微机中的存储和记忆芯片,用来存放数据,这些数据和程序在计算机内部都是用0,1二进制代码 的形式表示的
>字节是计算机中存储容量的基本单位。
>存储单元的总数目称为存储容量
>为了方便计算机管理内存的方便,给每个内存单元赋予一个不同的编号,这个编号称为地址单元号,简称地址,C 语言中我们用%p得到的结果就是变量的地址。
2.读写操作过程
-
假定CPU要读出存储器04H单元的内容10010111
CPU的地址寄存器AR先给出地址04H并放到AB地址总线上,经地址译码器选中04H单元—
---->CPU发出‘读’信号给存储器,指示它准备将内容10010111放到数据总线上---->在
读 控制信号的作用下,存储器将04H单元的内容放到数据总线上,然后传到数据寄存器
上,- - >最后CPU 取出数据。 流程图如下:AR-------->AB------>AD----->存储器04H------>DR------>CPU取出
‘读’控制信号 _______________| -
假定CPU要把数据寄存器DR中的内容00100110写入08H单元
CPU的地址寄存器AR先把08H放到地址总线上,经地址译码器AD选中08H单元----->CPU 将
数据寄存器上的内容00100110放到数据总线上,------>CPU 向存储器发出‘写’的控制命令
将数据总线上的内容写入到地址总线上的08H单元处。
微机的工作原理与程序执行过程
- 现在的微机基本上都遵循冯·诺依曼型数字计算机的工作原理
a. 在机内采用二进制的形式来表示计算机中的指令和数据。
b. 把人们编写好的程序和原始数据预先输入计算机的主存储器中保存起来,当计算机工作时,它
的控制器就能连续自动高速的从存储器中逐一取出指令并执行之。
c. 由运算器,控制器,存储器,输入设备,和输出设备五大基本部件组成的计算机系统。 - 程序执行过程
a.微型机的工作过程就是程序执行过程,而程序由指令序列组成,因此程序指定的过程就是执行指令的过程。
b.指令主要由操作码和操作数组成,操作码存储了接下来要执行的动作,操作数存储了要被操作的数。
简单的加减汇编代码
MOV A ,3
ADD A,2
HLT
解释:将3送到累加器A中,第二句就是把2 送到累计器A中与3相加,HLT停止,此时操作的结果还存在累计器A中。
操作码和操作数如下
1011 0000:操作码(MOV A ,n)
0000 0011;操作数(3)
0000 0100;操作码(ADD A,n)
0000 0010;操作数(2)
1111 0100;操作码(HLT)
至于这段代码在内存中如何工作的书上讲解的非常清楚P16页
知识点:
- 操作数的地址紧跟指令操作码的地址,只要在某个地址取出操作码,则在下一个地址中立即取出操作数,这种立即确定操作数地址的方法就叫做立即寻址法。
- 并不是所有的指令都有操作码和操作数,也有单字节指令,比如上面写到的(HLT)