计算机原理大纲.docx
《计算机原理大纲.docx》由会员分享,可在线阅读,更多相关《计算机原理大纲.docx(11页珍藏版)》请在冰豆网上搜索。
计算机原理大纲
冯·诺依曼计算机由运算器、控制器、存储器、输入设备、输出设备五部分组成,如图所示:
1.存储器
•计算机中的指令和数据都表现为二进制数码,他们必须被存入存储器的不同区域才能被区分。
•为了准确地对存储器进行读或写,通常以字节(或以字)为单位将存储器划分为一个个存储单元,并依次对每一个存储单元赋予一个序号(从零开始的无符号整数),该序号称为存储单元的地址。
•存储单元中存放的数据或指令称为存储单元的内容。
地址是识别存储器中不同单元的惟一标识。
存储器及其地址:
地址内容
M-3
M-2
M-1
0
1
2
3
4
•存储单元的地址和内容都是二进制数码,但它们是完全不同的两个概念,如高级语言中的变量名和变量的值。
•地址的位数由控制器地址线的位数确定,每个存储单元中内容(数据或指令)的位数由设计计算机时对存储器的编址方法确定。
•如果控制器有n条地址线,则它所能管理的存储单元最多为2n个。
每个存储单元的地址都是惟一的。
·每次读、写存储器时都必须先给出存储单元的地址,然后才能访问(读或写)存储单元中的内容。
2.运算器
•运算器是进行算术运算(如加、减、乘、除等)和逻辑运算(如非、与、或等)的装置.
•通常由算术逻辑部件ALU,专用寄存器X、Y和
Z,累加器,通用寄存器R0、R1、…、Rn-1以及标志寄存器F组成。
运算器的基本组成:
Rn-1
Y
Z
ALU
B
A
F
R0
X
内
部
总
线
·核心部件ALU用于完成算术运算和逻辑运算。
·X、Y是ALU的输入寄存器,Z则是ALU的输出寄存器。
·F用于存放运算结果的状态,例如,结果是否为零,是正还是负,有无进位,是否溢出,等等。
·ALU的功能是对X、Y中的数据进行运算,并将结果送到Z。
·X、Y、Z是与ALU不可分的一部分,通常称为ALU的数据暂存器。
·X、Y中的数据可来自通用寄存器,也可来自存储器。
Z中的数据可送往通用寄存器,也可送往存储器。
3.控制器
•为了实现对计算机各部件的有效控制,快速准确地取指令、分析指令和执行指令,控制器通常由
1.指令寄存器IR2.程序计数器PC3.存储器地址寄存器MAR
4.存储器数据寄存器MDR5.指令译码器ID6.控制电路等几部分组成
IR:
存放正在执行或即将执行的指令;
PC:
存放下一条指令的地址,具有自动增量计数的功能;
MAR:
在访存时缓存存储单元的地址;
MDR:
在访存时缓存对存储单元读/写的数据;
ID:
对IR中的指令进行译码,以确定IR中存放的是哪一条指令;
控制电路产生时序脉冲,在时序脉冲同步下对有关部件发出控制命令,以控制各个部件的动作。
控制器的基本组成
IR
PC
MAR
MDR
控制电路指令译码
控制
信号
内
部
总
线
存
储
器
CPU
存储器
I/O
接口
I/O
设备
ABDBCB
4.输入设备和输出设备
·输入设备是用来输入数据(通常是原始数据)和程序的装置,其功能是将外界的信息转换成机内的表示形式并传送到计算机内部。
常见的输入设备有键盘、鼠标、图形数字化仪、图像扫描仪、数字照相机和数字摄像机等。
·输出设备是用来输出数据(通常是处理结果)和程序的装置,其功能是将计算机内的数据和程序转换成人们所需要的形式并传送到计算机外部。
常见的输出设备有显示器、打印机、绘图机等。
1.2微型计算机的组成
•微型计算机=CPU+存储器+I/O接口+输入/输出设备
•主机:
包含了除输入/输出设备以外的所有部件,是一个能独立工作的系统,所以有时也将主机称为微型计算机。
总线
·CPU、存储器、I/O接口电路之间用三组总线相连:
地址总线(AB:
AddressBus)
数据总线(DB:
DataBus)
控制总线(CB:
ControlBus)
地址总线、数据总线、控制总线通常统称为系统总线。
·从传输方向上看,数据总线是双向的,即数据可以从CPU传送到其他部件,也可从其他部件传送到CPU。
·地址总线是单向的,即地址只能由CPU传送到存储器或I/O端口,用以给出CPU将要访问的部件的地址。
·控制总线中的信号线有的是单向的,也有的是双向的。
·1.3计算机的工作过程
假设某计算机的指令系统中设计有如下几条指令:
(1)LOADR1,M1
(2)STOREM3,R1(3)ADDR1,M2(4)JMPL
(1)是传送类指令,其含义是将M1中的内容装入R1。
(2)也是传送类指令,其含义是将R1的内容存入M3中。
(3)是运算类指令,其含义是将R1内容与M2内容相加后存入R1。
(4)是转移类指令,其含义是无条件转向L处。
•如果要求将M1的内容与M2的内容相加后存入M3,再将程序转向L处的指令继续执行,编写程序如下:
汇编语言程序机器语言程序程序的功能
LOADR1,M10000101100000101将M1的内容送入R1
ADDR1,M20001101100000110将R1内容加上M2内容再送回R1
STOREM3,R10010101100000111将R1的内容送入M3中
JMPL0011000000010001转向L处继续执行那里的指令
•汇编时,假设存储单元的地址M1、M2、M3分别为5、
6、7,其内容分别为12、34、0;地址L为17;R1寄存器的编号为1011;
•四条指令LOAD、ADD、STORE、JMP的操作码分别为
0000、0001、0010、0011。
•每条机器指令的第2个字节都是存储单元地址,第一个字节左边4位是操作码,右边4位是寄存器号或0000。
•
0000010100001100M1
0000011000100010M2
0000011100000000M3
0000100000001011“LOADR1,M1”的第一个字节
0000100100000101“LOADR1,M1”的第二个字节
0000101000011011“ADDR1,M2”的第一个字节
0000101100000110“ADDR1,M2”的第二个字节
0000110000101011“STOREM3,R1”的第一个字节
0000110100000111“STOREM3,R1”的第二个字节
0000111000110000“JMPL”的第一个字节
0000111100010001“JMPL”的第二个字节
00010000…………..第五条指令(只有一个字节)
00010001…………..第六条指令
上述机器语言程序可被计算机识别,但不能被执行,还需要为其分配存储器地址。
上述机器语言程序可能按如下方式分配存储器地址:
0000010100001100M1
0000011000100010M2
0000011100000000M3
0000100000001011“LOADR1,M1”的第一个字节
0000100100000101“LOADR1,M1”的第二个字节
0000101000011011“ADDR1,M2”的第一个字节
0000101100000110“ADDR1,M2”的第二个字节
0000110000101011“STOREM3,R1”的第一个字节
0000110100000111“STOREM3,R1”的第二个字节
0000111000110000“JMPL”的第一个字节
0000111100010001“JMPL”的第二个字节
00010000…………..第五条指令(只有一个字节)
00010001…………..第六条指令
计算机的内部结构(模型机)
•为了进一步说明计算机的基本工作过程,这里给出一个经适当简化的模型机结构(如图1.6所示),主要包括如下几个组成部分:
(1)运算器部分;
(2)控制器部分;
(3)存储器部分。
LOADR1,M1
ADDR1,M2
STOREM3,R1
JMP
L
L
M1
M2
M3
a
b
c
IR
PC
MAR
MDR
R0
Rn-1
Y
Z
ABUS
DBUS
控制电路指令译码
控制
信号
ALU
A
B
F
内
部
总
线
存储器
单总线CPU的计算机的基本结构
1.4指令及程序的执行过程
•计算机执行程序的过程可归纳如下:
①控制器把PC中指令地址送往存储器地址寄存器
②MAR,并发出读命令“M读”。
存储器按给定地址读出指令,经由存储器数据寄存器MDR送往控制器,保存在指令寄存器IR中。
③指令译码器ID对指令寄存器IR中的指令进行译码,分析指令的操作性质,并由控制电路向存储器、运算器等有关部件发出指令所需要的微命令。
④当需要由存储器向运算器提供数据时,控制器根据指令的地址部分,形成数据所在的存储单元地址,并送往存储器地址寄存器MAR,然后向存储器发出读命令“M读”,从存储器中读出的数据经由存储器数据寄存器MDR送往运算器。
⑤当需要由运算器向存储器写入数据时,控制器根据指令的地址部分,形成数据所在的存储单元地址,并送往存储器地址寄存器MAR,再将欲写的数据存入存储器数据寄存器MDR,最后向存储器发出写命令“M写”,MDR中的数据即被写入由
MAR指示地址的存储单元中。
一条指令执行完毕后,控制器要接着执行下一条指令。
为了把下一条指令从存储器中取出,通常控制器把
PC的内容加上一个数值,形成下一条指令的地址,但在遇到“转移”指令时,控制器则把“转移地址”送入PC。
控制器不断重复上述过程的
(1)到(5),每重复一次,就执行了一条指令,直到整个程序执行完毕。