1.1 计算机发展概述
1.1.1 计算机的发展简史
第一台计算机:ENIAC
第一代:电子管数字计算机(1946-1958)
- 逻辑元件:真空电子管
- 体积大,功耗高,可靠性差速度慢,维护困难,价格昂贵,应用领域以军事和科学计算为主
第二代:晶体管数字计算机(1958-1964)
第三代:集成电路数字计算机(1964-1970)
- 逻辑元件:中小规模集成电路(MSI,SSI)
- 速度更快,可靠性更高,产品走向通用化,系列化和标准化,应用领域开始进入文字处理和图形图像处理
第四代:大规模集成电路计算机(1974至今)
- 逻辑元件:大规模,超大规模集成电路(LSI,VLSI)
1971年世界上第一台微处理器在美国硅谷诞生,开创了微型计算机的新时代。
1.1.2 计算机的主要应用
- 科学计算
- 计算机控制
- 测量和测试
- 信息处理
- 计算机辅助设计/计算机辅助制造/计算机辅助教学
- 人工智能
- 计算机模拟
- 多媒体应用
1.2 微型计算机概述
1.2.1 微型计算机的发展阶段
第一阶段(1971-1973)
- 4位和8位低档位处理器时代
- Intel4004,Intel8008以及七组成的MCS-4和MCS-8微机
第二阶段(1971-1977)
- 8位中、高档微处理器时代
- Intel8080/8085、Motorola公司的M6800和Zilog公司的Z80
第三阶段(1978-1984)
- 16位微处理器时代
- Intel8086/8088、Motorola公司的M68000和Zilog公司的Z8000
第四阶段(1985-1992)
- 32位微处理器时代
- Intel80386/80486、Motorola公司的M69030/68040等
第五阶段(1993-2005)
- 奔腾(Pentium)系列微处理器时代
- Intel奔腾系列芯片以及与之兼容的AMD的K6系列微处理器芯片
第六阶段(2005至今)
1.2.2 微处理器的发展
- 摩尔定律
- Intel合作伙伴高登·摩尔于1965年提出
1.2.3影响计算机性能设计的因素
- CPU的速度
- 性能平衡
- 芯片组成和体系结构的改进
为提升计算机性能已经采取的主要策略如下
- 提高处理器芯片硬件的速度(减小逻辑门尺寸,提升时钟频率)
- 提升处理器芯片内部高速缓存的容量与速度,显著降低CPU对cache的存取时间
- 改进处理器的组成和体系结构,更加重视处理器的流水化与超标量化设计,以提高指令执行的有效速度
1.3 微型计算机系统的组成
1. 硬件系统
- 主机
- 输入设备
2. 软件系统
- 系统程序类
- 媒体工具类
- 硬件驱动类
- 网络工具类
- 管理软件类
- 安全类
1.4 微机硬件系统结构基础
- 各种计算机都是由微处理器CPU(包含运算器和控制器),存储器(RAM,ROM),输入输出折别(I/O外设及其接口)
1.4.1 总线结构介绍
- 传送信息类别:地址总线,数据总线和控制总线
- 传送信息方向:单向总线和双向总线.地址总线属于单向总线,方向总是从CPU或其他总线主控设备发往其他设备;数据总线属于双向总线;控制总线属于混合型总线,控制总线中的每一根总线都是单向的,而各种控制线的方向有进有出
- 层次结构:CPU总线,存储总线,系统总线和外部总线
1.4.2 微处理器模型的组成
- 运算器(算术逻辑单元)
- 控制器(可编程逻辑阵列PLA)
- 内部寄存器
- 累加器A
- 数据寄存器DR
- 程序计数器PC
- 地址寄存器AR
- 标志寄存器F
1.4.3 存储器概述
- 2¹⁶B=64KB,2²⁰B=1024KB,2³²B=4GB
- 存储器组成
- 读写操作过程
1.4.4 输入输出(I/O)接口简介
- 通常接口会有以下功能
- 设置数据的寄存,缓冲逻辑,以适应CPU与外设之间的速度差异
- 进行信息格式的转换
- 协调CPU和外设在信息的类型和电平的差异
- 协调时序差异
- 地址译码和设备选择功能
- 设置中断和DMA控制逻辑,以保证在中断和DMA允许的情况下产生中断和DMA请求信号,并在接收到中断和DMA应答之后完成中断处理和DMA传输
1.5 微机的工作原理与程序执行过程
1.6 计算机的运算基础
1.6.1 二进制数的计算
1. 二进制数的算术计算
- 二进制加法
- 二进制减法
- 二进制乘法(移位乘法)
- 二进制除法
2. 二进制的逻辑运算
1.6.2 数制转换综合表示法
1.6.3 二进制编码(代码)
- BCD码
- 用4位二进制数来表示十进制数中的0~9这十个数码的编码形式,简称为BCD码。
十进制数 | BCD码 |
---|
0 | 0000 |
1 | 0001 |
2 | 0010 |
3 | 0011 |
4 | 0100 |
5 | 0101 |
6 | 0110 |
7 | 0111 |
8 | 1000 |
9 | 1001 |
- 字符与字母的编码
- 7位ASCII码表
1.6.4 数的顶点和浮点表示
- 定点表示:又称整数表示,小数点在数中的位置是固定不变的
- 浮点表示:又称实数表示,小数点在数中的位置是浮动的
- 对于任意一个二进制数N,可用N=S*2P表示,其中S为尾数,P为阶码,2为阶码的底,P、S都用二进制数表示,S表示N的全部有效数字,P指明小数点 的位置,当阶码为固定值时,数的这种表示法称为定点表示,这样的数称为定点数;当阶码为可变时,数的这种表示法称为浮点表示,这样的数称为浮点数
- 通常定点数有两种表示法,均设P=0,小数点是隐含的,若数值部分为n位:当S为纯整数时,此时定点数只能表示整数);当S为纯小数时,此时定点数只能表示小数
1.6.5带符号数的表示法
1. 机器数与真值
- 计算机中的二进制数有无符号数与有符号数之分.之前所讨论的都是指无符号数,带符号的二进制数,是将数学上的+和-符号数字化,规定1个字节中的D₇位为符号位D₀~D₆为数值位.例如
N₁=01011011=+91D
N₂=11011011=-91D
2. 机器数的种类和表示方法
(1) 原码
- 原码表示方法:符号位用0表示正,用1表示负;其余数字位表示数值本身此机器数的数值部分为真值的绝对值
[+41]原=0 0101001
[-41]原=1 0101001
- 对于0,可以认为他是(+0),也可以认为他是(-0)
[+0]原=0 0000000
[-0]原=1 0000000
- 8位二进制原码可表示的数的范围为-127 ~ +127.16位二进制数原码所能表示的有符号数的范围为-32767~ +32767.n位二进制数原码可表示的有符号数的范围为-2^(n-1)-1 ~ +2 ^(n-1)-1
- 采用原码表示简单易懂,而且与真值的转换很方便,但是采用原码表示时在计算机中进行加减运算很麻烦,因此使用原码设计的计算机电路结构将会非常复杂,由此产生了反码和补码
(2) 反码
- 反码的表示方法:正数的反码和其原码相同,其符号位用0表示正,数值位为真值的绝对值.负数的反码其符号位用1表示负,数值部分为真值绝对值按位取反
[+41]反=0 0101001
[-41]反=1 1010110
[+0]反=0 0000000
[-0]反=1 1111111
- 8位二进制反码可以表示的数值范围为-127~ +127.n位反码可以表示的数值范围为-2 ^ (n-1)-1~+2^(n-1)-1
(3) 补码
- 微机中通常是用补码表示有符号数,因为采用补码之后,同一加法电路既可以用于有符号数相加,也可以用于无符号数相加,而且减法可用加法来代替,从而使运算逻辑大为简化
- 补码的表示方法:正数的补码与其原码相同,即符号位用0表示正,数值部分为真值的绝对值.复数的补码为它的反码加一(即在其最低位加1)
[+41]补=0 0101001
[-41]补=1 1010111
[+0]补=[-0]补=0 0000000
[+127]补=0 1111111
[-128]补=1 0000000
- 8位二进制补码所能表示的数值范围为-128 ~ +127
- 补码求真值时,要先将数值位取反,然后再在最低位+1
1.6.6 补码的加减法运算
1.6.7 溢出及其判断方法
1. 什么叫溢出
- 溢出是指在进行补码运算时候,运算结果超出了补码的最大范围
例如:X=01000000(+64),Y=01000001(+65) 相加得到的结果为10000001(-127的补码),显然X和Y都是正数,所以得到的结果是错的.同理10000001和11111110相加的结果也是错的
2. 如何判断溢出
- 写出结果,直接根据操作数判断(显然不太方便)
- 利用双进位的状态
利用判别式 V = D7c⊕ D6c
- D7c表示两个符号位D7相加产生的进位,D6c表示两数值部分最高位D6相加产生的进位,若V = 1,则表示有溢出
3. 溢出与进位
- 进位是指运算结果的最高位向更高位的进位,如有进位,则Cy=1;当Cy=1时,即D7c=1时,若D6c=1则V=0,表示无溢出,其他结果类似.可见进位和溢出十来个个不同的概念
- 对于16位二进制数,双进位式为:
V = D15c⊕ D14c
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)