第一阶段:(1946-1957)电子管计算机
1.背景:第二次世界大战是电子管的计算机产生的催化剂
2.埃尼阿克(ENIAC)诞生背景:
射击参数需要几千次才能运算出来
3.特点:
第二阶段:(1957-1964)晶体管计算机
1.背景:贝尔实验室的三名科学家发明了晶体管
2.第一台晶体管计算机(TX-0)来自麻省理工大学林肯实验室
3.PDP-1晶体管计算机,4KB内存,每秒200000指令,配备512*512显示器
4.特点:
集成度相对较高,占用空间小
功耗相对较低,运行速度较快
操作相对简单,交互更加方便
第三阶段:(1964-1980)集成电路计算机
1.背景:德州仪器工程师发明了集成电路(IC)
2.特点
3.IBM推出了System/360
第四阶段:(1980-现在)超大规模集成电路计算机
1.特点;
一个芯片集成了上百万个晶体管
速度更快,体积更小,价格更低,更能被大众接收
用户丰富:文本处理,表格处理,高交互的游戏
微型计算机发展历史:
1.受限于性能
单核CPU:
1971-1973:500KHz频率微型计算机(字长8位)
1973-1978:高于1MHz频率微型计算机(字长8字)
1978-1985:500MHz频率的微型计算机(字长16字)
1985-2000:高于1GHz频率的微型计算机(字长32位)
2000-现在:高于2GHz频率的微型计算机(字长64位)
多核CPU:
2005:Intel奔腾系列双核CPU,AMD速龙系列
2006:Intel酷睿四核CPU
Intel酷睿系列十六核CPU
Intel至强系列五十六核CPU
网络速度:
100M/s=100Mbps=100Mbit/s
CPU速度:
1.CPU的速度一般体现为时钟频率
2.CPU的时钟频率的单位一般是赫兹(Hz)
3.Hz其实就是秒分之一,每秒中周期性变动的重复次数的计量
ASCII码:
1.使用7个bits就可以完全表示ascll码
2.包含95个可打印字符
3.33个不可打印字符(包含控制字符)
Extended ASCll码:
GB2312:
1.《信息交换用汉字编码字符集-----基本集》
2.一共收录了7445个字符
3.包括6763个汉字和682个其它符号
GBK:
1.《汉字内码扩展规范》
2.向下兼容GB2312,向上支持国际ISO标准
3.收录了21003个汉字,支持全部中日韩汉字
Unicode:
1.兼容全球的字符编码集
2.统一码,万国码,单一码
3.Unicode定义了世界通用的符号集,UTF-*实现了编码
4.UTF-8是以字符为单位对Unicode进行编码
解决不同设备的通信问题
1.片内总线:
1.芯片内部的总线
2.寄存器与寄存器之间
3.寄存器与控制器,运算器之间
2.系统总线:
数据总线:
1.双向传输各个部件的数据信息
2.数据总线的位数(总线宽度)是数据总线的重要参考
3.一般与CPU位数相同
地址总线:
1.指定源数据或者目的数据在内存中的地址
2.地址总线的位数与存储单元有关
3.地址总线位数=n,寻址范围:0-2的n次方
控制总线:
1.控制总线是用来发出各种控制信号的传输线
2.控制信号经由控制总线从一个组件发送给另外一个组件
3.控制总线可以监视不同组件之间的状态(就绪/未就绪)
解决不同设备使用总线的优先顺序
总线仲裁的方法:
1.链式查询
好处:电路复杂度低,仲裁方式简单
坏处:优先级低的设备难以获得总线使用权
对电路故障敏感
2.计时器定时查询
仲裁控制器对设备编号并使用计数器累计计数
接收到仲裁信号后,往所有设备发出计数值
计数值与设备编号一致则获得总线使用权
3.独立请求
每个设备均有总线独立连接仲裁器
设备可单独向仲裁器发送请求和接收请求
当同时接收到多个请求信号,仲裁器有权按优先级分配使用权
好处:响应速度快,优先顺序可动态改变
坏处:设备连线多,总线控制复杂
数据线
是I/O设备与主机之间进行数据交换的传送线
分类:单向传输线
双向传输线
状态线
I/O设备状态向主机报告的信号线
查询设备是否已经正常连接并就绪
查询设备是否已经被占用
命令线
CPU向设备发送命令的信号线
发送读写信号
发送启动/停止信号
设备选择线
主机选择I/O设备进行操作的信号线
对连在总线的设备进行选择
程序中断
当外围IO设备准备就绪时,向CPU发出中断信号,CPU有专门的电路响应中断信号。
提供低速设备通知CPU的一种异步的方式,CPU可以高速运转同时兼顾低速设备响应。
DMA(直接存储器访问)
DMA直接连接主存与IO设备
DMA工作时不需要CPU参与
当主存与IO设备交换信息时,不需要中断CPU,可以提高CPU效率
半导体存储器:
内存,U盘,固态硬盘
磁存储器:
磁带,磁盘
随机存储器(RAM)
可读可写,随机读取
串行存储器:
与位置有关,按顺序查找
只读存储器(ROM)
只读不写
缓存-主存层次
原理:局部性原理
主存-辅存层次
原理:局部性原理
主存储器---内存
RAM(随机存取存储器:Random Access Memory)
RAM通过电容存储数据,必须隔一段时间刷新一次
如果断电,那么一段时间后将丢失所有数据
辅助存储器----磁盘
移动磁头径向运动读取磁道信息
调度算法:
先来先服务算法
最短寻道时间优先:
与磁头当前位置有关,优先访问磁头最近的磁道
扫描算法(电梯算法)
每次只往一个方向移动,到达一个方向需要服务的尽头再反方向移动
循环扫描算法
字:是指存放在一个存储单元中的二进制代码组合,是存储单元最小的单位
字块:存储在连续的存储单元中而被看作是一个单元的一组字
字的地址包含两个部分,前m位指定字块的地址,后b位指定字在字块中的地址
命中率h:
访问效率e:访问主存时间:tm 访问缓存时间:tc
访问Cache-主存系统平均时间:ta=htc+(1-h)tm
e=tc/ta
随机算法:
先进先出算法(FIFO):
把高速缓存看作是一个先进先出队列
优先替换最先进入队列的字块
最不经常使用算法(LFU):
优先淘汰最不经常使用的字块
需要额外的空间记录字块的使用频率
最近最少使用算法(LRU):
优先淘汰一段时间内没有使用的字块
有多种实现方法,一般使用双向链表
把当前访问节点置于链表前面(保证链表头部节点是最近使用的)
机器指令主要由两部分组成:操作码和地址码
操作码指明指令所要完成的操作
地址码直接给出操作数或者操作数的地址,分为三地址指令,二地址指令和一地址指令
零地址指令:
在机器指令中无地址码
空操作,停机操作,中断返回操作等
数据传输:
寄存器之间,寄存器与存储单元之间,存储单元之间传送
包括数据读写,交换地址数据,清零置一等操作
算术逻辑操作:
操作数之间的加减乘除运算
操作数的与或非等逻辑运算
移位操作:
数据左移,数据右移
完成数据在算术逻辑单元的必要操作
控制指令:
等待指令,停机指令,空操作指令,中断指令
指令寻址:
顺序寻址:
跳跃寻址:
数据寻址:
立即寻址
指令直接获得操作数
无需访问存储器
直接寻址
直接给出操作数在主存中的地址
间接寻址
指令地址码给出的是操作数地址的地址
是协调和控制计算机运行的
程序计数器:
存储下一条指令的地址的
时序发生器:
电气工程领域,用于发送时序脉冲的
指令译码器:
翻译操作码对应的操作以及控制传输地址码对应的数据
指令寄存器:
从主存或者高速缓存取计算机指令
主存地址寄存器:
保存当前CPU真要访问内存单元的地址,使用地址总线和主存通信
主存数据寄存器:
保存当前CPU正要读或写的主存数据,使用数据总线和主存通信
通用寄存器:
用于暂时存放或传输数据或者指令的
可保存ALU的运算中间结果
容量比一般专用寄存器大
数据缓冲器:
分为输入缓冲和输出缓冲
输入缓冲暂时存放外设送过来的数据
输出缓冲暂时存放送往外设的数据
算术逻辑单元(ALU):
常见位运算(左右移,与或非等)
算术运算(加减乘除)
状态字寄存器:
存放运算信息(条件码,进位,溢出,结果正负)
存放运算控制信息(调试跟踪标记位,允许中断位)
通用寄存器:
用于暂时存放或传输数据或者指令的
可保存ALU的运算中间结果
容量比一般专用寄存器大