计算机组成原理

1.概述篇

1.1计算机的发展历史

1.1.1计算机发展的四个阶段

第一阶段:(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

计算机组成原理_第1张图片

1.5计算机的计算单位

1.5.1容量单位

计算机组成原理_第2张图片

1.5.2速度单位

网络速度:

100M/s=100Mbps=100Mbit/s

CPU速度:

1.CPU的速度一般体现为时钟频率

2.CPU的时钟频率的单位一般是赫兹(Hz)

3.Hz其实就是秒分之一,每秒中周期性变动的重复次数的计量

1.6计算机的字符与编码集

1.6.1字符编码集的历史:

ASCII码:

1.使用7个bits就可以完全表示ascll码

2.包含95个可打印字符

3.33个不可打印字符(包含控制字符)

Extended ASCll码:

1.6.2中文编码集:

GB2312

1.《信息交换用汉字编码字符集-----基本集》

2.一共收录了7445个字符

3.包括6763个汉字和682个其它符号

GBK:

1.《汉字内码扩展规范》

2.向下兼容GB2312,向上支持国际ISO标准

3.收录了21003个汉字,支持全部中日韩汉字

Unicode:

1.兼容全球的字符编码集

2.统一码,万国码,单一码

3.Unicode定义了世界通用的符号集,UTF-*实现了编码

4.UTF-8是以字符为单位对Unicode进行编码

2.组成篇

2.1计算机总线

2.1.1总线的概述

解决不同设备的通信问题

1.片内总线:

1.芯片内部的总线

2.寄存器与寄存器之间

3.寄存器与控制器,运算器之间

计算机组成原理_第3张图片

2.系统总线:

数据总线:

1.双向传输各个部件的数据信息

2.数据总线的位数(总线宽度)是数据总线的重要参考

3.一般与CPU位数相同

地址总线:

1.指定源数据或者目的数据在内存中的地址

2.地址总线的位数与存储单元有关

3.地址总线位数=n,寻址范围:0-2的n次方

控制总线:

1.控制总线是用来发出各种控制信号的传输线

2.控制信号经由控制总线从一个组件发送给另外一个组件

3.控制总线可以监视不同组件之间的状态(就绪/未就绪)

计算机组成原理_第4张图片

2.1.2总线的仲裁

解决不同设备使用总线的优先顺序

总线仲裁的方法:

1.链式查询

计算机组成原理_第5张图片

好处:电路复杂度低,仲裁方式简单

坏处:优先级低的设备难以获得总线使用权

           对电路故障敏感

2.计时器定时查询

仲裁控制器对设备编号并使用计数器累计计数

接收到仲裁信号后,往所有设备发出计数值

计数值与设备编号一致则获得总线使用权

计算机组成原理_第6张图片

3.独立请求

每个设备均有总线独立连接仲裁器

设备可单独向仲裁器发送请求和接收请求

当同时接收到多个请求信号,仲裁器有权按优先级分配使用权 

计算机组成原理_第7张图片

好处:响应速度快,优先顺序可动态改变

坏处:设备连线多,总线控制复杂

2.2计算机的输入输出设备

2.2.1输入输出设备的通用接口设计

数据线

是I/O设备与主机之间进行数据交换的传送线

分类:单向传输线

           双向传输线

状态线

I/O设备状态向主机报告的信号线

查询设备是否已经正常连接并就绪

查询设备是否已经被占用

命令线

CPU向设备发送命令的信号线

发送读写信号

发送启动/停止信号

设备选择线

主机选择I/O设备进行操作的信号线

对连在总线的设备进行选择

2.2.2CPU与I/O设备的通信

程序中断

当外围IO设备准备就绪时,向CPU发出中断信号,CPU有专门的电路响应中断信号。

提供低速设备通知CPU的一种异步的方式,CPU可以高速运转同时兼顾低速设备响应。

DMA(直接存储器访问)

DMA直接连接主存与IO设备

DMA工作时不需要CPU参与

当主存与IO设备交换信息时,不需要中断CPU,可以提高CPU效率

2.3计算机存储器概述

2.3.1存储器的分类

半导体存储器:

内存,U盘,固态硬盘

磁存储器:

磁带,磁盘

随机存储器(RAM)

可读可写,随机读取

串行存储器:

与位置有关,按顺序查找

只读存储器(ROM)

只读不写

2.3.2存储器层次结构

计算机组成原理_第8张图片

缓存-主存层次

原理:局部性原理

主存-辅存层次

原理:局部性原理

计算机组成原理_第9张图片

2.4计算机的主存储器与辅存储器

主存储器---内存

RAM(随机存取存储器:Random Access Memory)

RAM通过电容存储数据,必须隔一段时间刷新一次

如果断电,那么一段时间后将丢失所有数据

辅助存储器----磁盘

移动磁头径向运动读取磁道信息

调度算法:

先来先服务算法

最短寻道时间优先:

       与磁头当前位置有关,优先访问磁头最近的磁道

扫描算法(电梯算法)

        每次只往一个方向移动,到达一个方向需要服务的尽头再反方向移动

循环扫描算法

2.5计算机的高速缓存

2.5.1高速缓存的工作原理

字:是指存放在一个存储单元中的二进制代码组合,是存储单元最小的单位

字块:存储在连续的存储单元中而被看作是一个单元的一组字

字的地址包含两个部分,前m位指定字块的地址,后b位指定字在字块中的地址

命中率h:

访问效率e:访问主存时间:tm  访问缓存时间:tc

                    访问Cache-主存系统平均时间:ta=htc+(1-h)tm

                    e=tc/ta

2.5.2高速缓存的替换策略

随机算法:

先进先出算法(FIFO):

         把高速缓存看作是一个先进先出队列

         优先替换最先进入队列的字块

最不经常使用算法(LFU):

         优先淘汰最不经常使用的字块

         需要额外的空间记录字块的使用频率

最近最少使用算法(LRU):

         优先淘汰一段时间内没有使用的字块

         有多种实现方法,一般使用双向链表

         把当前访问节点置于链表前面(保证链表头部节点是最近使用的)

2.6计算机的指令系统

2.6.1机器指令形式

机器指令主要由两部分组成:操作码和地址码

操作码指明指令所要完成的操作

地址码直接给出操作数或者操作数的地址,分为三地址指令,二地址指令和一地址指令

零地址指令:

在机器指令中无地址码

空操作,停机操作,中断返回操作等

2.6.2机器指令操作类型

数据传输:

寄存器之间,寄存器与存储单元之间,存储单元之间传送

包括数据读写,交换地址数据,清零置一等操作

算术逻辑操作:

操作数之间的加减乘除运算

操作数的与或非等逻辑运算

移位操作:

数据左移,数据右移

完成数据在算术逻辑单元的必要操作

控制指令:

等待指令,停机指令,空操作指令,中断指令

2.6.3机器指令的寻址方式

指令寻址:

     顺序寻址:

     跳跃寻址:

计算机组成原理_第10张图片

数据寻址:

      立即寻址

           指令直接获得操作数

           无需访问存储器

      直接寻址

           直接给出操作数在主存中的地址

      间接寻址

           指令地址码给出的是操作数地址的地址

计算机组成原理_第11张图片

2.7计算机的控制器

是协调和控制计算机运行的

程序计数器:

存储下一条指令的地址的

时序发生器:

电气工程领域,用于发送时序脉冲的

指令译码器:

翻译操作码对应的操作以及控制传输地址码对应的数据

指令寄存器:

从主存或者高速缓存取计算机指令

主存地址寄存器:

保存当前CPU真要访问内存单元的地址,使用地址总线和主存通信

主存数据寄存器:

保存当前CPU正要读或写的主存数据,使用数据总线和主存通信

通用寄存器:

用于暂时存放或传输数据或者指令的

可保存ALU的运算中间结果

容量比一般专用寄存器大

2.8计算机的运算器

数据缓冲器:

分为输入缓冲和输出缓冲

输入缓冲暂时存放外设送过来的数据

输出缓冲暂时存放送往外设的数据

算术逻辑单元(ALU):

常见位运算(左右移,与或非等)

算术运算(加减乘除)

状态字寄存器:

存放运算信息(条件码,进位,溢出,结果正负)

存放运算控制信息(调试跟踪标记位,允许中断位)

通用寄存器:

用于暂时存放或传输数据或者指令的

可保存ALU的运算中间结果

容量比一般专用寄存器大

2.9计算机指令执行过程

2.9.1指令执行过程

计算机组成原理_第12张图片

 计算机组成原理_第13张图片

2.9.2CPU流水线设计

计算机组成原理_第14张图片

 

 

 

 

 

 

 

 

你可能感兴趣的:(计算机组成原理)