1.1 计算机发展概述
1.2 微型计算机概述
1.3 微型计算机系统的组成
微型计算机系统是指以微型计算机为中心,配备相应的外围设备以及“指挥”微型计算机工作的软件系统所构成的系统
硬件系统
根据冯·诺依曼型计算机原理所构成的微机硬件由运算器、控制器、存储器、输入设备和输出设备五个基本部分组成。
在主机箱中,最重要也是最复杂的一个部件就是主板。主板集中了全部的系统功能,控制着整个系统中各个部件之间的指令流和数据流,从而实现对微机系统的监控与管理。
1.4 微机硬件系统结构基础
1946年,冯诺尔曼和他的同事在普林斯顿高级研究院开始设计一种新的存储程序计算机(简称IAS计算机)。IAS计算机的普通结构包括算术逻辑单元、控制单元、存储器及输入输出设备。
下图显示的是具有冯诺尔曼结构(存储程序结构)特点的微型计算机硬件组成框图:
从大的功能模块来看,都是由三个主要子系统组成:
- 微处理器CPU,其中包括运算器和控制器
- 存储器(如RAM和ROM)
RAM:随机存取存储器(Random Access Memory)也叫主存,是与CPU直接交换数据的内部存储器。
ROM:只读内存(Read-Only Memory),ROM所存数据,一般是装入整机前事先写好的,整机工作过程中只能读出,而不像随机存储器那样能快速地、方便地加以改写。
- 输入输出设备(I/O外设及其接口)
1.4.1 总线结构简介
CPU通过总线实现读取指令,并实现与内存、外设之间的数据交换,在CPU、内存和外设确定的情况下,总线速度是制约计算机整体性能的关键。
根据总线结构组织方式的不同,采用的总线结构可分为单总线、双总线和双重总线三类。
- 单总线结构:系统存储器M和I/O接口均使用同一组信息通路,因此,CPU对M的读写和对I/O接口的输入输出操作只能分时进行。
- 双总线结构:存储器M和I/O接口各有一组连接CPU的总线,所以CPU可以分别在两组总线上同时与M和I/O交换信息。
- 双重总线结构:拥有局部总线和全局总线双重总线。
总线有多种分类方式。
- 按传送信息的类别:地址总线(Address Bus —AB)、数据总线(Data Bus—DB)和控制总线(Control Bus—CB)。分别用于传送存储器地址吗或输入输出设备地址码、指令或数据 和 各种控制信号。
- 按传送信息的方向,总线可分为单向总线和双向总线。AB是单向总线,DB是双向总线,CB是混合型总线,即每根控制线方向是单向的,但各种控制线的方向有进有出。
- 按层次结构,可分为CPU总线、存储总线、系统总线和外部总线。
其中,系统总线又称I/O控制总线,是主机系统与外围设备之间的通信道路。
计算机系统都已使用多重总线,通常布置为层次结构,下图左是传统多重总线系统,右是高性能多重总线系统,它不仅有连接处理器和高速缓存控制器的局部总线,而且高速缓存控制器又连接到支持主存储器的系统总线上,并且还有专门支持大容量I/O设备的高速总线。这种配置的好处是,高数总线使高需求的设备与处理器有更紧密的集成,同时又独立于处理器。
1.4.2 微处理器模型的组成
一个简单的微处理器主要由运算器、控制器和内部寄存器阵列三个基本部分组成。
在这里主要介绍一下CPU中具有的一些最基本的寄存器:
- 累加器A
是用的最频繁的一个寄存器。在进行算术逻辑运算时,他有双重功能:运算前,用来保存一个操作数;运算后,用来保存结果。 - 数据寄存器DR
用来暂存数据或指令。从存储器读出时,若是指令,则通过内部数据总线送到指令寄存器IR;若是数据,则送到有关的寄存器或运算器。
向存储器写入数据时,数据是经数据寄存器DR,再经数据总线DB写入存储器的。 - 程序计数器PC
用来存放正待取出的指令的地址。具有自动加一的功能。 - 地址寄存器AR
用来存放正要取出的指令的地址或操作数的地址。
在取指令时,将PC中存放的指令地址送到AR,并根据此地址从存储器中取出指令。
在取操作数时,将操作数地址通过内部数据总线送到AR,再根据此地址从存储器中取出操作数;存数据类似。 - 标志寄存器F
用来存放执行指令时所产生的结果或状态的标志信号。
1.4.3 存储器概述
一个完善的计算机存储系统,是按层次结构组成的。
最顶层是处理器中的寄存器,下一层是一级或多级高速缓存,再下一层是主存,通常由动态随机存取存储器(DRAM)构成,所有这些为系统内部存储器。再往下就是外部存储器(外存)。
这里主要讨论内存,内存分为很多存储单元,每个单元一般存放一个字节(8位)的二进制信息。存储器单元的总数目称为存储容量,具体数目取决于地址线的根数。如在32位计算机中,有32根地址线,其寻址范围是232B=4GB。
存储单元中的内容为数据或指令,为识别不同单元,赋予每个单元一个编号即地址。
1.存储器组成
下图的随机存取存储器(Random Access Memory — RAM)由存储体、地址编译器和控制电路组成。
- 由八位地址线连接的存储器共有256个存储单元,即00000000~11111111 或用十六进制表示:00H~FFH。
- 地址译码器接受从地址总线AB送来的地址码,经译码器译码选中相应的某个存储单元。
- 控制电路用来控制存储器的读写操作过程。
2.读写操作过程
注意读操作完成后,04H单元的内容97H仍保持不变,即非破坏性读出。
1.4.4 输入输出接口简介
CPU与I/O设备进行数据交换时,存在以下问题:
- 速度不匹配
- 时序不匹配
- 信息格式不匹配
- 信息类型不匹配
因此CPU与外设之间的数据交换必须通过接口来完成,以解决以上问题。
1.5 微机的工作原理与程序执行过程
计算机的工作原理是:“存储程序” + “程序控制”
即先把处理问题的步骤和所需的数据转换成计算机能识别的指令和数据存入存储器,工作时由计算机的处理器将这些指令逐条取出执行。
当计算机要从停机状态进入运行状态时,首先应把第一条指令的地址赋予PC,机器就进入取指阶段。
取值阶段都是一系列相同操作,时间总是相同,所以又称为公操作。
指令通常包括操作码和操作数。操作码表示具体操作,操作数表示操作数本身或操作数的地址,也称地址码。
因此,在执行一条指令时,可能要处理不等长的代码信息,包括操作码、操作数或地址码。
杂知识点
- 要求指令执行的时长一样,便于流水线操作或者并行运行
- intel 的指令最短一个字节 最长十二个字节
- SPARC son MIPS 定长字指令(都是四个字节)
- 取指-缓冲
- 为了防止十六进制的指令被误解成变量,会在十六进制前加0
- BCD码即用四位二进制表示十进制,即10-15的这六个状态舍弃不用。BCD码可用于高精度计算。
为了将二进制编码的十进制(二-十进制或BCD码)与二进制区分,必须在每四位之间留一空格
1.6 计算机的运算基础
1.6.1 二进制的运算
二进制减法
向前借位,如果前一个仍不是1,就继续向前借位,只到有1
如:
1010001
-0001010
----------
1.最后1位1-0=1
2.倒数第二位0-1,向前借位,借到第三位,
此时被减数
10 1000 1可以看作
10 0112 1
(因为0112完成进位后就是1000)
注意二进制中是没有2的,此处这么写是为了便于理解
然后进行相减就行了
1001121
-0001010
---------
1000111
3.结果为1000111
二进制乘法
因为一次相乘时会出现多项相加的情况,所以就将乘法分解成了多次乘法和加法的结合,用乘数的每一位乘上被乘数,乘得的结果的最低有效位与相应的位置对齐然后相加。
对齐的方法有部分积右移和被乘数左移,效果一样,但部分积右移需要处理的进位会比较少。
二进制除法
______
除数--> 101 )100011 <---被除数
1.从被除数最高位往后看,只到前x位大于除数,此时商计1
2.接下来就是和十进制一样,做减法然后继续找商。
逻辑运算
或、与、非、异或
数值转换&带符号数的表示法
浮点数
- 首先第一点,将二进制小数转换成十进制数:
1.1101B=(1*20)+(1*2-1)+(1*2-2)+(0*2-3)+(1*2-4) - 第二点,二进制数乘2就像等于左移一位,与十进制乘十左移一位一样:
101B(=5)*2=1010B(=10) - 这样就好理解,N=2P *S 就相当于科学计数法
- 然后注意,为了提高运算的精度,会采用浮点规格化,即尾数S绝对值小于1而大于等于1/2,也就是小数点后第一位要是1(2-1=1/2)
尾数0.1换成二进制就是0.10000… 这里在后面补0直至够23位
阶码-4:4的原码是100,前面补零补够8位——00000100,然后求补码——11111100