第01章概论

Download Report

Transcript 第01章概论

※ 微机原理
:
※ 接口技术:


微机基础
80x86微处理器
80x86指令系统
汇编语言程序设计
半导体存储器
输入/输出与中断
输入/输出接口芯片及应用
<<微型计算机原理及应用>> 周杰英等编
机械工业出版社
《微型计算机系统原理及应用》(第三版
上册) 周明德 编 ,清华大学出版社
《微计算机原理》潘名莲,马争,惠林 编
电子工业出版社
《汇编语言》 王爽 编,清华大学出版社
第一节 微型计算机的发展及应用
第二节 数据的表示方法
第三节 微型计算机系统结构概述
一、计算机的发展历程
自1946年第一台电子计算机问世以来,计算
机科学和技术的发展突飞猛进,已深入到人类生
活的各个方面。半个世纪以来,伴随着电子管、
晶体管、集成电路和超大规模集成电路的发展,
计算机的发展可分为四代。
第一代电子计算机时代。从1946年第一台计
算机研制成功到50年代后期,其主要特点是采用
电子管作为基本器件,使用机器语言。在这一时
期,计算机主要为军事与国防尖端技术的需要而
研制的。
二、微处理器发展概述
1. 第一代微处理器
• Intel4004、Intel4040 — 4位微处理器
• Intel8008 — 低档8位微处理器
2. 第二代微处理器
• Intel8080、MC6800、6501、6502 —
8位微处理器
• Intel8085、Z80、MC6809 — 高档8位
微处理器
• 指令比较完善,有了中断与DMA
• 汇编、BASIC,FORTRAN、PL/M
• 后期配备CP/M操作系统
3. 第三代微处理器
• Intel8086 、Z8000、MC68000 — 16位
- 8086数据总线16位、地址总线20位
• Intel8088 — 准16位
- 外部数据总线8位,内部数据总线16位
- IBM PC、IBM PC/XT
• Intel80286、MC68010 — 高档16位
- 数据总线16位,地址总线24位
- IBM PC/AT
- 实地址模式、虚地址保护模式
- 虚地址模式可寻址16MB物理地址和1GB的虚
拟地址空间
4. 第四代微处理器
• Intel80386 — 32位微处理器
- 数据总线32位,地址总线32位
- 实地址模式、虚地址保护模式、虚拟8086模式
- 虚地址模式可寻址4GB(232)物理地址和64TB(246)的
虚拟地址空间
• Intel80486 — 32位微处理器
- 80386+80387+8KB的Cache
- 部分采用RISC技术、突发总线技术
- 使用时钟倍频技术
5. 第五代微处理器
• Pentium(奔腾)— 32位微处理器
• Pentium MMX(多能奔腾) — 32位微处理器
- 增加了57条MMX指令
- 采用了SIMD技术
- 同时处理8个字节的数据
6. 第六代微处理器 (P6核心结构)
• Pentium Pro(高能奔腾) — 32位微处理器
- 64条数据线、36条地址线(区别Pentium的32条地址线)
- 实现了动态执行技术(乱序执行)
• Pentium II(奔腾2)— 32位微处理器
• Pentium III(奔腾3) — 32位微处理器
7. 第六代之后的微处理器
• Pentium 4 — 32位微处理器(非P6核心结构)
• Itanium — 64位微处理器
- 采用EPIC技术、RISC技术和CISC技术
- 具有显式并行功能
- 具有断定执行功能
- 具有数据预装的功能
- 采用三级高速缓存
• AMD64 — 64位微处理器
- AMD 使用x86结构并扩展到64位来获得x86-64结构
- 处理器能全速高性能地运行x86和x86-64程序
- 64位模式不采用分段模式
- 具有长模式,包括64位模式和兼容模式(允许现有
程序无需修改就运行在长模式下)
• 微型化─ 便携式、低功耗
• 巨型化─ 尖端科技领域的信息处理,需要超大容量、高速度
• 智能化─ 模拟人类大脑思维和交流方式,多种处理能力
• 系列化、标准化─ 便于各种计算机硬、软件兼容和升级
• 网络化─ 网络计算机和信息高速公路
• 多机系统─ 大型设备、生产流水线集中管理(独立控制、
故障分散、资源共享)
科学计算 ;
数据处理和管理 ;
计算机控制 ;
计算机辅助设计/计算机辅助制造
(CAD/CAM);
智能模拟 ;
第二节 数据的表示方法
重点理解
 特点;
 表示方法;
 相互间的转换。
十进制——符合人们的习惯
二进制——便于物理实现
十六进制——便于识别、书写
八进制
1. 十进制
(标识:后缀D或省略)
特点:以十为底,逢十进一;
共有0-9十个数字符号(数码)
表示: (权展开式)
D  Dn  1  10
n 1
 Dn  2  10
 D1  10
n 1


i  m
Di  10
i
n2
1
     D0  10
0
     D m  10
m
2. 二进制
(标识:后缀B)
特点:以2为底,逢2进位;
只有0和1两个数字符号
表示: (权展开式)
n 1
(B )2  Bn1  2
n 2
 Bn 2  2
     B0  2
0
 B1  21      B m  2 m

n 1

i  m
Bi  2i
3. 十六进制
(标识:后缀H)
特点:以16为底,逢16进位;
有0--9及A--F共16个数字符号
表示: (权展开式)
(H )16  Hn 1  16n 1  Hn2  16n 2    H0  160
 H1  161    H m  16 m

n 1

i  m
Hi  16i
按进位的方法进行计数,称为进位计数制。在进位制中每个
数规定使用的数码符号的数量,称为进位基数,用R表示。使
用R为基数的计数制称为R进制数,常用的有十进制数、二进
制数、十六进制数、八进制数等。若每位数码用ai来表示(下
标i指示位数),则进位计数制表示的方法如下:
N=(an-1 ,an-2 ,…,ai,…, a1, a0 )R (数码)
Rn-1, Rn-2 , …,Ri,…, R1,R0 (权值)
建立了权值的概念后,对任意一个R进制数N都可表示
为:
(N )k  an1  R
n 1
 an 2  R
n 2
     a0  R
0
 a 1  R  1      a  m  R  m

n 1

i m
ai  R i
其中:
ai -- N的第i位数码,可以是R个符号中任何一个;
n,m – 整数和小数的位数;
R -- 基数;
Ri -- K进制数的权
表1-1
计数法
二进
制
进位规则
基数R
所用符号
权
数制标识
逢二进
一
2
0,1
2i
B
四种计数法的表示
八进制
十进制
十六进制
逢八进一
8
0,1,2,…,7
8i
Q
逢十进一
10
0,1,2,…,
9
10i
D
逢十六进一
16
0,1,2, …,9,A,B,
…,F
16i
H
表1-2
四种计数法表示数的对应关系
十进制数
二进制
数
八进制
数
十六进制
数
十进制
数
二进制
数
八进制
数
十六进制数
0
1
2
3
4
5
6
7
8
0
1
10
11
100
101
110
111
1000
0
1
2
3
4
5
6
7
10
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
1001
1010
1011
1100
1101
1110
1111
10000
11
12
13
14
15
16
17
20
9
A
B
C
D
E
F
10
微型计算机的常用术语和指标
1.位和字节
• 位(bit)是计算机所能表示的最小的数据单位
,可缩写成b。
• 字节(byte)由8个位二进制位组成,通常用作
计算存储容量的单位。字节可记作B。
K 是 kelo 的缩写,1K=1024=210;
M是 mega的缩写,1M=1024K=220;
G 是 giga 的缩写,1G=1024M=230;
T 是 tera 的缩写,1T=1024G=240 ;
P 是 Peta 的缩写,1P=1024T=250 。
2.字长
• 字长是微处理器
与 存 储 器 、 I/O
接口间一次传送
二进制数据的位
数(总线宽度)
。
• 微处理器的字长
有1位、 4位、8
位、16位和32位
半字节
3
0
字节
7
43
0
字
F
87
0
双字
1F
1817
10F
87
0
3.字(Word) 字是计算机中CPU处理和传送信息的最
基本单位。它通常与寄存器、运算器、传输线的宽度一致。
4.存储容量 存储单元以字节为单位。存储容量是指CPU
构成的系统所能访问的存储单元数。通常由地址总线AB的宽
度决定。如AB = 16 ,所能寻访的地址码有216 = 65536种,因此可区分
65536个存储单元。计算机中210 = 1024规定为1K,则216 = 65536 =
64KB,220 =1024K×1024K = 1MB(兆),230
=1024K×1024K×1024K = 1GB。
5 .指令 计算机能够识别和执行的基本操作命令。计算机
指令有两种表示方式:机器码和助记符。机器码又称指令码,
是机器能够接受的指令,但设计人员使用不便。助记符便于编
写程序,在运行前须转换为机器码。通常一条指令由操作码和
操作数两部分组成。前者说明进行何种操作,后者指出参与操
作的数据的来源。
7.指令系统
计算机所能执行的全部指令的集合,
称为该计算机的指令系统。微处理器的主要功能是由它的
指令系统来体现的,不同的微处理器有不同的指令系统,
其中每条指令对应着微处理器的一种基本操作。计算机的
指令系统一般含有几十到几百条指令。
8.程序
为完成某一任务所作的指令(或语句)
的有序集合称为程序。
9.运算速度
计算机完成一个具体任务所用的时
间就是完成该任务的时间指标,计算机的速度越高,时间
越短。以每秒执行基本指令的条数来大致反映计算机的运
算速度。单位为百万条指令/秒(MIPS)。另一个衡量指标是
计算机的主频,即CPU的时钟频率,单位为兆赫(MHz)或吉赫
(GHz)。
(1)任意进制数的表示。
例如:十进制数309.84可根据按权展开式写成:
3×102 + 0×101 + 9×100 + 8×10-1 + 4×10-2
对于八进制数 ( 406 )8 = 4×82 + 6×80
二进制数
( 110101 )2 = 1×25 + 1×24+1×22 + 1×20
十六进制数
( AC7.B )16 = 10×162+12×161+7×160+11×16-1
(2)二进制与十进制数的相互转换
1)二进制数转换为十进制数:可直接按权展开。
例 把二进制数 (11011)2转化为十进制数。
解:(11011)2 = 1×24 + 1×23 + 1×21 + 1×20 = 16 + 8 + 2 + 1 = 27
例 把二进制数 (111.011)2转化为十进制数。
解:(111.011)2 = 1×22 + 1×21 + 1×20 + 1×2-2 + 1×2-3= 4 + 2 + 1 + 0.25 +
0.125= 7.375
2)十进制数转换为二进制数:方法是:整数除以2取余,小数
乘以2取整。
例 将十进制数37.375转换为二进制数,其方法如下。
解:0 ← 1 ← 2 ← 4 ← 9 ← 18 ← 37 . 375 →.75 → .5 → 0
↓÷2 ↓÷2 ↓÷2 ↓÷2
1
0
0
1
故:37.375 = (100101.011)2
↓÷2 ↓÷2
0
1
↓×2 ↓×2
0
1
↓×2
1
另外,也可采用记权值的方法转换为二进制数,例如 (86.625)10转换为二
进制数。我们知道,二进制数权值依次为:
27 26 25 24 23 22 21 20 2-1 2-2 2-3 二进制权值
↓ ↓ ↓ ↓ ↓ ↓
↓ ↓ ↓
↓
↓
128 64 32 16 8 4
2 1 0 0.5 0.125 十进制数
(3)二进制数与十六进制数的相互转换
1)二进制数转换为十六进制数:从小数点开始,分别向左、向右
每4位二进制数划为一段,不足4位者填0补足。每段二进制数用1位
十六进制数替代。
2)十六进制数转换成二进制数:将十六进制数的整数部分和小数
部分用相应的4位二进制数替代即可。
例 将 (1011011100011.0011011)2转换成十六进制数。
解:0001 0110 1110 0011 . 0011 0110 (带下划线的数字是分组后添加的)
↓ ↓ ↓ ↓
↓
↓
1
6
E
3 .
3
6
故:(1011011100011.0011011)2 = (16E3.36)16
例 将 (AE7.D2)16转换成二进制数。
解:
A
E
7 .
D
2
↓
↓
↓
↓
↓
1010 1110 0111 . 1101 0010
故: (AE7.D2)16 = (101011100111.1101001)2
注:为了便于区分不同数制所表示的数,规定在数字尾部用B表示二进制数,用Q表
示八进制数,用D表示十进制数(也可不加),用H表示十六进制数。如78H、756Q、
853D、1101101B分别表示十六进制、八进制、十进制和二进制数。
三、数值数据的表示方法
计算机处理的数据分为数值型和非数值型两类。
非数值型用于表示各种符号
数值型用于表示数量的多少
数值数据通常是带符号的,把二进制数的最高位定义为
符号位,其余为数值位
• 符号位为 0 表示正数,符号位为 1 表示负数
机器数:连同符号位一起数值化了的数,称为机器数
真值:机器数所表示的真实的数值,称为真值
机器数也有不同的表示方法,通常用原码、反码和补码
三种方式表示,主要是用来解决加、减、乘、除运算。
真值
机器数
+52 = +0110100 B = 0 0110100 B
符号位 数值位
-52 = -0110100 B = 1 0110100 B
1.原码、反码和补码的表示方法
(1)原码。在数值的前面直接加一符号位的表示法称为原码
表示法。
若字长为8位,则原码的表示范围为 -127 —+127;若字
长为16位,则原码的表示范围为-32767 — +32767。
(2)反码。正数的反码与原码相同;负数的反码,符号位仍
为“1”,数值部分“按位取反”。
字长为8位和16位时,反码的表示范围分别为-127 ~
+127和-32767 ~ +32767。
反码的例子
真值
X=+18=+0010010
X=-18=-0010010
反码
[X]反 =0 0010010
[X]反 =1 1101101
数0的原码
数0的反码
[+0 ]原= 0 0000000
[- 0]原= 1 0000000
[+0]反 = 0 0000000
[- 0]反 = 1 1111111
即:数0的原码不唯一
即:数0的反码也不唯一
(3)补码 正数的补码与原码相同;负数的补码则是符号位为
“1”,数值部分按位取反后再在末位(最低位)加1。
例. +7和-7的补码分别为:
[+7]补 = 00000111B = 07H;[-7]补 = 11111001B = F9H
数值0的补码只有一个,即[0]补=00000000B = 00H。
若字长为8位,则补码所表示的范围为 –128 ~ +127;若字长为16位,
则补码所表示的范围为-32768 ~ +32767。
数0的补码:
[+0]补= [+0]原=00000000
[-0]补 = [-0]反+1=11111111+1
=1 00000000
∴[+0]补= [-0]补= 00000000
即:数0的补码是唯一的。
对8位字长,进位被舍掉
1) [X]补 = 0 0101110B
真值为:+0101110B
正数
所以:X=+46
2) [X]补 = 1 1010010B
负数
X = [[X]补]补 = [11010010]补
= - 0101110B
所以:X = - 46
通过引进补码,可将减法运算转换为加法运算。规则如下:
和:
[X+Y]补=[X]补+[Y]补
差:
[X-Y]补=[X]补- [Y]补
或 [X-Y]补=[X]补+ [-Y]补
其中X,Y为正负数均可,符号位参与运算
模(module)就是一个计数系统的最大容量,其大小
等于以进位计数制基数为底,以位数为指数的幂。凡是用
器件进行的运算都是有模运算,运算结果超过模的部分被
运算器自动丢弃。因此,当器件为n位时,有:
X=2n+X (mod 2n)
不难验证,
[X]补=2n+X (mod 2n)
因此,
[XY]补= 2n+ (XY) (mod 2n)
= (2n+ X)+ (2n  Y) (mod 2n)
= [X]补+ [Y]补
[例]:
X=-0110100,Y=+1110100,求[X+Y]补
[X]原=10110100
[X]补= [X]反+1=11001100
[Y]补= [Y]原=01110100
所以: [X+Y]补= [X]补+ [Y]补
=11001100+01110100
=01000000
定点数和浮点数
依照小数点的不同表示方法,计算机中的
数可分为两类:定点数和浮点数。下面说明这两种数的表示方法。
(1)定点数。 所谓定点数是指小数点的位置固定不变的数,定点数
又分为定点整数和定点小数。
D7 D6 D5 D4 D3 D2 D1 D0
符
号
位
数
值
位
D7 D6 D5 D4 D3 D2 D1 D0
·
小
数
点
·
小
符 数
号 点
位
a)
图1-1 定点数的格式
a)定点整数 b)定点纯小数
数
值
位
b)
定点整数:其小数点的位
置固定在数据的最低位之
后,见图1-4a。
定点小数:其小数点的位
置固定于符号位与数据位
之间,见图1-1b。
例5 已知某数X的补码为10111011B,若将它理解为定点整数,它对应的
十进制数是多少;若理解为定点小数,它对应的十进制数是多少?
解:
1)若理解为定点整数则X=[10111011]补= -1000101B= -69
2)若理解为定点小数则X=[10111011]补=-0.1000101B= -69/128
(2)浮点数。 与定点数相反,若小数点的位置不固定,是浮动可变的,称
这类数为浮点数。浮点数的引入克服了定点数所能表示的数的范围太小这一
缺点。
计算机中的浮点数由尾数和阶码两部分组成:尾数是带符号的定点纯小
数,它的符号称为数符,表示这个浮点数的正负;阶码是一个带符号的整数,
其符号称为阶符。图1-2给出了一种浮点数的格式。
规格化浮点数:尾数的最高数值位不等于零
X1 = 2101×0.11001;X2 = -2101×0.1011
非规格化的数 :尾数的第一位不是1的浮点数
X3 = 2111×0.011001
D7 D6 D5 D4 D3 D2 D1 D0
阶符
阶
码
数符
尾数高7位
尾数低8位
要使浮点数规格化,只要移动小数点同时调整
阶码即可。例如:
X4 = 2100×0.00101=2110×0.10100
图1-2 三字节浮点数
例6 将十进制数24.09375化为二进制形式的规格化浮点数,
用图的格式表示。
解:
1)先将该数化为二进制数
24.09375D = 11000.00011B(×20)
2)将此数规格化,将它的尾数变成最高位为1的纯小数。不难
看出,要做到这一点,须将尾数中的小数点向左移动5位,每
左移一位阶码加1,移位的次数便是该浮点数阶码的大小。于
是,所得规格化浮点数的尾数和阶分别为:
阶
码
阶符
k = + 0.1100000011B
b = + 5 = + 101B 0 0 0 0 0 1 0
3)将该数表示为图1-3浮点数的格式。
1
数符
0
1
1
0
0
0
0
0
尾数
0
1
1
0
0
0
0
图1-3 例5浮点数格式表示
0
进(借)位——
 在加法过程中,符号位向更高位产生进位;
 在减法过程中,符号位向更高位产生借位。
溢出——
 运算结果超出运算器所能表示的符号数范围
溢出的判断方法
方法1:
 同号相减或异号相加——不会溢出。
 同号相加或异号相减——可能溢出:
• 两种情况:
• 同号相加时,结果符号与加数符号相反——溢出;
• 异号相减时,结果符号与减数符号相同——溢出。
方法2:




两个带符号二进制数相加或相减时,若
C7C6=1,
则结果产生溢出。
C7为最高位的进(借)位;C6为次高位的进(借)
位。
有符号数运算,有溢出表示结果是错误的
无符号数运算,有进位表示结果是错误的
CASE1:
CASE2:
10110101
+ 10001111
101000100
01000010
+ 01100011
10100101
CASE3:
01000010
+ 11001101
100001111
【例1】 已知X=+1,Y=+18
求X-Y的值。
【例2】求(-120)+(-18)
解 [-120]原=11110000B,
解 X-Y=X+(-Y)
[-120]补=10001000B;
[X-Y]补=[X+(-Y)]补=[X]补+[-Y] [-18] =10010010B,
原
补
[-18] 补=11101110B;
[X]补=00001011B
[-120]补 10001000B
[-Y]原=[-18]原=10010010B
+ [-18] 补 11101110B
[-Y]补=11101110B
[-120] 补 + [-18] 补=100011010B
[X]补 00001011B
[-120] 补 + [-18] 补
+ [-Y]补 11101110B
[X]补 + [-Y]补=11111001B
=00011010B。最高位丢失。
[X-Y]补=11111001B
(-120) +(-18)=00011010B
X-Y=10000111B
运行结果完全正确。
两个负数相加结果却为正数,显然运算结果出错。(-120) +(-18)应
等于(-138),但由于有符号的8位二进制数最大表示范围是+127~-128。
(-138)超出有符号的8位二进制数的范围,因此产生溢出。在计算过程中,
溢出是可以判断出来的。判断溢出的方法可用次高位向高位的进位标志CS
和最高位的进位标志位CF的异或来判断,即CS⊕CF。如果异或的结果为1,
运算结果就产生溢出;如果异或结果为0,则运算结果没有溢出。计算机专
门设计一个标志位来描述运算结果是否有溢出,这个标志位叫溢出标志位,
用OF表示。(后续课将进行详细介绍)。上例中CS=0,CF=1,则CS⊕CF=1,
因此有溢出。
【例1-3】已知X=+120,Y=+20,求X+Y的值。
解 [X]补=[X]原=01111000B
[Y]补=[Y]原=00010100B
[X]补 01111000B
+ [Y]补 00010100B
[X]补 +[Y]补=11111001B
[X+Y]补=[X]补 +[Y]补=10001100B,
X+Y=11110100B。CS⊕CF=1,显然运算结果产生溢出。
计算机中常用的编码
编码是指对输入到计算机中的各种非数值型数据用二进制数进行编
码的方式。对于不同机器、不同类型的数据,其编码方式是不同的,
编码的方法也很多。为了使信息的表示、交换、存储或加工处理方便,
在计算机系统中通常采用统一的编码方式,因此制定了编码的国家标
准或国际标准。
1.二—十进制数编码
计算机中对数字的输入和输出是用十进制数进行的,用“0”和“1”
的不同组合形式来表示一个十进制数。采用4位二进制数码表示一位
十进制数的编码,称为二进制编码的十进制数,也就是BCD码(Binar
y Coded Decimal),简称二—十进制编码。表1十进制与8421 BCD
码的对应关系。
十进制数
BCD 码
十进制数
BCD 码
0
1
2
3
4
5
6
7
0000
0001
0010
0011
0100
0101
0110
0111
8
9
10
11
12
13
14
15
1000
1001
00010000
00010001
00010010
00010011
00010100
00010101
例1 将 ( 867.51 )10转换成BCD码。
解:( 867.54 )10 = (1000 0110 0111.0101 0100)BCD
例2 将 (1101010110.01010011011)BCD转换成十进制数。
解: (0011 0101 0110.0101 0011 0110)BCD = (356.536)10
BCD码分压缩BCD码和非压缩BCD码。
压缩的BCD码:每一位数采用4位二进制数来表示,即一个字节表示
2位十进制数。例如:二进制数10001001B,采用压缩BCD码表示
为十进制数89D。
非压缩BCD码:每一位数采用8位二进制数来表示,即一个字节表示
1位十进制数。而且只用每个字节的低4位来表示0~9,高4位为0。
例如:十进制数89D,采用非压缩BCD码表示为二进制数是:
00001000 00001001B
计算机中除了能够处理数值数据以外,还
可以处理文字、语音、图像等各种信息,
这些信息统称为非数值数据。
非数值数据在计算机中也必须以二进制形
式表示,非数值数据的表示本质上是编码
的过程。
ASCII码—美国标准信息交换代码
ASCII 字符表
H
000
001
010
L
0000
NUL
DLE
SP
0001
SOH
DC1
!
0010
STX
DC2
"
0011
ETX
DC3
#
0100
EOT
DC4
$
0101
ENG
NAK
%
0110
ACK
SYN
&
0111
BEL
ETB
'
1000
BS
CAN
(
1001
HT
EM
)
1010
LF
SUB
*
1011
VT
ESC
+
1100
FF
FS
,
1101
CR
GS
1110
SO
RS
.
1111
SI
US
/
注:H 表示高 3 位,L 表示低 4 位。
011
100
101
110
111
0
1
2
3
4
5
6
7
8
9
:
;
<
=
>
?
@
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
[
\
]


`
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
{
|
}
~
DEL
ASCII码
采用7位二进制代码对字符进行编码
数字0~9的编码是0110000~0111001(30H~39H)
,它们的高3位均是011,后4位正好与其对应的二进
制代码(BCD码)相符。
英文字母A~Z的ASCII码从1000001(41H)开始顺序
递增,字母a~z的ASCII码从1100001(61H)开始顺
序递增,这样的排列对信息检索十分有利。
最高位通常总为0,有时也用作奇偶校验位。
汉字编码
输入设备
输入码
汉字信息处理过程
主
机
输出设备
机内码
输出码
汉字的输入
输入
编码
国标
码
汉字
内码
存储
或处
理
微型计算机系统的三个层次
 微处理器(Microprocessor)
 微型计算机(Microcomputer)
 微型计算机系统(Microcomputer System)
一、微型计算机系统的三个层次
运算器
控制器
寄存器组
内存储器
总线
输入输出
接口电路
外部设备
软件
微 型
计算机
(主机)
微处理器
存储器
I/O接口
总线
ALU
寄存器
控制器
硬件系统
微 型
计算机
系 统
外 设
软件系统
系统软件
应用软件
键盘、鼠标
显示器
软驱、硬盘、光驱
打印机、扫描仪
微型计算机系统的三个层次--微处理器
 严格讲,微处理器≠ CPU
 CPU:由算术逻辑部件(ALU)和控制部件两大主
要部分组成,实现运算功能和控制功能
 微处理器 除算术逻辑部件和控制部件以外,还包
含一组寄存器(Registers)以及高速缓冲存储器
(Cache)等特殊的存储器。
微型计算机系统的三个层次--微型计算机
 以微处理器为核心,配上由大规模集成电路制
作的只读存储器(ROM)、读写存储器(RAM
)、输入/输出接口电路及系统总线等所组成
的计算机,称为微型计算机。
 将这些组成部分集成在一片超大规模集成电路
芯片上,称为单片微型计算机,简称单片机。
微型计算机系统的三个层次--微型计算机系统
 以微型计算机为中心,配以相应的外围设备以及
控制微型计算机工作的软件,就构成了完整的微
型计算机系统。
 微型计算机如果不配有软件,通常称为裸机
 软件分为系统软件和应用软件两大类。
地址总线 AB
CPU
存
储
器
I/O
接
口
输
入
设
备
I/O
接
口
输
出
设
备
数据总线 DB
控制总线 CB
各部件通过总线连接
总线——连接多个功能部件的一组公共信号线
总线——连接多个功能部件的一组公共信号线
※地址总线AB
 输出将要访问的内存单元或I/O端口的地址
 地址线的多少决定了系统直接寻址存储器的范围
※数据总线DB
 CPU读操作时,外部数据通过数据总线送往CPU
 CPU写操作时,CPU数据通过数据总线送往外部
 数据线的多少决定了一次能够传送数据的位数
※控制总线CB
 协调系统中各部件的操作,有输出控制、输入状态等
信号
Intel80x86
8086
8088
80286
80386
~Pentium4
地址条数 存储容量
20
1MB
20
1MB
24
16MB
32
4GB
返回
Intel 80x86
8086
8088
80286
80386~Pentium 4
数据位数
16
8
16
32
返回
主机硬件系统
 CPU--计算机的控制中心,提供运算、判断能力
构成:ALU、CU、Registers
 例:Intel 8088/8086、PIII、P4、Celeron、 AMD K7(Athlon
、Duron)
 存储器--存放程序和要操作的各类信息(数据、文字、图像、。
。。)
 内存--内存包含有很多存储单元(每个内存单元包含8bit),为区分
不同的内存单元,对计算机中的每个内存单元进行编号,内存单
元的编号就称为内存单元的地址。
 输入/输出接口—CPU与外部设备间的桥梁
•由运算器、控制器、存储器、输入设备和输出设备五大部分组成
微型计算机软件系统

软件系统是指为计算机运行工作服务的全部技术资料和
各种程序,它可以保证计算机硬件的功能得以充分发挥。
微机的软件系统是由系统软件、应用软件组成。

系统软件通常包括:操作系统、语言处理程序、诊断
调试程序、设备驱动程序以及为提高机器效率而设计的各
种程序。在系统软件中,最重要的软件当属操作系统,即
OS(Operating System),所有的应用程序,包括系统
软件中的一些程序,都要在操作系统构筑的平台上运行。

应用软件是为了解决各类应用问题而编写的程序。它
直接面向用户,为用户服务。应用软件也可以逐步标准化
、模块化、逐步形成了解决各种典型问题的应用程序的组
合,称为软件包。
微型计算机的工作原理
1.计算机执行程序的过程
程序
从内存中取出一条指令
分析指令
执行指令
结束
图1 程序执行过程
计算机执行指令的过程又分为取指令、分析指令和执行指
令三步。
2.计算机的工作过程
外部设备
读
程序/原始数据
运行结果
主机
写
程序/数据
结果
读
写
命
令
指
令
存
取
命
令
取
数
据
存
数
据
操作命令
输入/输出命令
图2 微型计算机的工作原理
从程序的执行过程可以看出,在计算机工作中有三种信息在流动:数
据信息、指令信息和控制信息。
冯诺依曼存储程序工作原理
存储程序工作原理是指把程序存储在计
算机内,使计算机能像快速存取数据一样地
快速存取组成程序的指令。为实现控制器自
动连续地执行程序,必须先把程序和数据送
到具有记忆功能的存储器中保存起来,然后
给出程序中第一条指令的地址,控制器就可
依据存储程序中的指令顺序周而复始地取指
令、译码、执行,直到完成全部指令操作为
止,即控制器通过指令流的串行驱动实现程
序控制。
典型微处理器的基本结构
典型微处理器的基本结构
C程序:
int A;
A=1;
A=A+2;
汇编程序:
汇编语言程序
对应的机器指令
对应的操作
MOV AL, 1
10110000
00000001
ADD AL, 2
00000100
00000010
MOV [0008], AL 10100010
00001000
00000000
将立即数1传送到累加寄存器AL中
HLT
停机
11110100
计算两个数的和,结果存放到AL中
将AL中的数传送到地址单元0008
第一步:从程序到指令
编程器(editor)
编译器(complier)
汇编器(assembler)
链接器(linker)
程序设计(流程图)
高级语言编程
汇编语言
待装配的指令代码
C程序:
int A;
A=1;
A=A+2;
注:A是变量
汇编语言:
A
EQU AL
MOV
A,1
ADD
A,2
注:A是寄存器
存
储
器
指令代码
汇编语言
10110000
MOV A,1
00000001
00000100
00000002
┊
ADD A,2
第二步:存储程序
指令代码
存
储
器
10110000
00000001
00000100
00000002
┊
10110000
10110000
0001
0002
0000
0000
0001
AB
00000001
10110000
10110000
00000001
DB
CB
83