本文最后更新于 2023-10-11,文章内容可能已经过时。

计算机组成原理

1.目录:

QQ截图20230204152953

2.冯诺依曼计算机模型:

2.1 基本组成:

运算器,存储器,输入单元,输出单元,控制器.

QQ截图20230204153113

改进型:以存储器为中心:

QQ截图20230204153233

2.2 基本特征:

组成,存储器,程序.

QQ截图20230204153137

二进制,相同,pc

QQ截图20230204153151

3.计算机基本组成:

QQ截图20230204153312

3.1 硬件:

QQ截图20230204153355

3.1.1 辅存:

QQ截图20230204153432

3.1.2 处理单元:PU

运算单元+控制单元+暂存单元等于处理单元.

QQ截图20230204153709

QQ截图20230204153812

QQ截图20230204153842

3.2 软件:

QQ截图20230204154038

QQ截图20230204154050

3.3 计算机组成与计算机实现:

QQ截图20230204154155

3.4 指令集:

QQ截图20230204154509

3.5 计算机性能评价:

3.5.1 机器字长

QQ截图20230204154530

3.5.2 主存储器容量

QQ截图20230204154550

3.5.3 处理速度:

QQ截图20230204154603

3.5.4 主频:

QQ截图20230204154615

4. 总线技术:

4.1 概述:

QQ截图20230204154939

4.2 特性:

4.2.1 功能特性

QQ截图20230204155020

4.2.2 物理特性:

QQ截图20230204155035

4.2.3 电气特性:

QQ截图20230204155047

QQ截图20230204155113

4.2.4 时间特性:

QQ截图20230204155227

4.2.5 收发特性(最重要):

QQ截图20230204155322

QQ截图20230204155346

4.3 分类:

4.3.1 位置分类:

片内总线.cpu芯片内.

系统总线.各个部件之间信息传输.

4.3.2 功能分类:

数据总线:db:双向.

地址总线:一组用来指出数据总线上的数据所对应的内存单元地址或I/O外设地址的总线。单向,由cpu发出.

控制总线:发送控制信号.单/双向.

外总线:用于两个系统之间的连接通信.

4.3.3 总线小结:

QQ截图20230206151023

4.4 总线结构:

4.4.1 单总线结构:

QQ截图20230206151155

4.4.2 双总线结构:

QQ截图20230206151231

4.4.3 三总线结构:

QQ截图20230206151300

4.5 总线控制:

4.5.1 总线的基本特性:

电子计算机的总线具有两个特性:发送的互斥性和接受的共享性。

为了协调总线上各个部件对总线的争用、避免发生总线冲突,必须有一个总线控制器来对总线的使用进行分配和管理。

拥有总线控制权的总线部件,称为总线的主部件/主设备. 被主部件访问的部件称为从部件/从设备。

4.5.2 总线仲裁:

当总线上有多个候选的主部件同时申请使用总线时,必须有一个总线控制机构按照某种策略(优先次序)对申请进行裁决,这就叫做总线仲裁。

QQ截图20230206151503

4.5.2.1 链式查询方式:

QQ截图20230206151624

4.5.2.2 计数器定时:

QQ截图20230206151719

4.5.3 通信控制:

总线通信中,发出数据的部件称为源部件, 接收数据的部件称为目的部件。

为了完成一次有效的通信,源部件与目的部件之间需要进行一系列有时序限制的操作。

基于“无须感知”观点进行总线通信控制的通信称为同步通信.

基于“需要感知”观点进行总线通信控制的通信称为异步通信.

QQ截图20230206152301

QQ截图20230206152316

4.5.3.1 半同步通信:

QQ截图20230206152407

QQ截图20230206152428

4.5.3.2 分离式通信:

QQ截图20230206152636

QQ截图20230206213009

4.5.3.3 总结:

QQ截图20230206213130

4.6 总线的性能指标:

位宽:总线一次同时传送的信息位数或所需的线数。即一次操作可以传输的数据位数。主要是指数据总线的数目。

总线宽度不会超过微处理器外部数据总线的宽度。

工作时钟频率:控制总线中的时钟信号线所提供的时钟频率。 ISA和EISA总线为8MHz, PCI总线为33.3 MHz。

标准传输率:总线带宽。总线本身所能达到的最高传送速率。

总线带宽=总线位宽×总线工作频率/8。

QQ截图20230206213511

4.7 总线标准:

QQ截图20230206213548

ISA(Industrial Standard Architecture)工业标准结构总线。工作频率为8MHz左右,数据线为16位(即16位插槽);地址线为24位。EISA(Extended Industrial Standard Architecture)扩展工业标准结构总线.

QQ截图20230206213753

4.8 总线重点题:

QQ截图20230206213942

QQ截图20230206214014

QQ截图20230206214021

QQ截图20230206214142

总线带宽=总线位宽×(总线工作频率(位数))/8。

QQ截图20230206214414

5. 存储系统:

5.1 存储器的分类:

QQ截图20230210093233

QQ截图20230210093255

QQ截图20230210093453

QQ截图20230210093528

QQ截图20230210093553

主存可以直接被cpu访问,辅存无法直接被CPU访问.

5.2 存储器性能评价:

5.2.1 容量:

QQ截图20230210093729

5.2.2 速度:

QQ截图20230210093817

存储周期=存取时间+间隔时间.

带宽:

QQ截图20230210093956

5.2.3 功耗与可靠性:

QQ截图20230210094031

5.3 存储器访问的局部性原理:

经过对处理器访问主存储器情况的统计发现,无论是取指令还是存取数据,处理器访问的存储单元趋向于聚集在一个相对较小的连续存储单元区域内.

这种现象称为存储器访问的局部性原理。

分为时间局部性和空间局部性.

QQ截图20230210094159

时间局部性是访问程序,空间局部性是访问连续大容量存放的数据.QQ截图20230210094239

QQ截图20230210094416

5.3.1 层次访问存储系统:

频繁访问的抽出来,放到特定的存储模块内.

QQ截图20230210094611

QQ截图20230210094646

QQ截图20230210094743

如果不采用这种策略,那么所有的数据都会通过m1读到,命中率自然也就是百分百了.

QQ截图20230210094936

尽量要让周期要短,而价格更低.

5.4 半导体存储器:

QQ截图20230210095050

半导体存储器都是随机访问型的,访问任何一块地址所有的时间都是相等的,与单元地址的大小无关,根据地址进行搜索.

QQ截图20230210095206

5.4.1 sRAM:

主要分两种类型.双极型和MOS型.

存储1和0的原理:导通:

QQ截图20230210095512

存储并联拓展.

QQ截图20230210095529

举例:

QQ截图20230210095630

组成与地址译码:

QQ截图20230210095753

单译码:

QQ截图20230210095835

双译码:

QQ截图20230210095916

典型芯片:

QQ截图20230210100000

5.4.2 dRAM:

动态RAM.

QQ截图20230210100341

用电容的充电,放电来表示0.1.

QQ截图20230210100428

刷新:

QQ截图20230210100506

集中式刷新是在一个刷新间隔内,集中一段时间对全部存储单元进行逐行 刷新,在此期间正常的读/写操作将被停止,所以这段时间称为死时间。

分散式刷新是指将存取周期分为两段,读写时间+刷新时间,即将刷新分散到每个读/写周期内完成。

把这两者结合起来,就形成了异步刷新。不是每次刷新全部数据,而是一次刷新一部分数据。

QQ截图20230210111756

二者的区别:

QQ截图20230210112004

QQ截图20230210112016

静态存储大数据,动态存储热点数据。

5.5 只读半导体:ROM.

QQ截图20230210112202MROM:以晶体管(如二极管、双极型三极管或MOS管)的“有/无”来代表“0/1”,即每个存储基元的信息是由制造集成电路的掩模来决定的,制造完成后无法改变.

QQ截图20230210112249

可编程:

QQ截图20230210112332

只能写一次.

所谓“编程”就是选择某些PN结将其击穿,使其导通。烧断熔丝或击穿PN结,都是不可逆的,所以PROM只允许1次编程。

可擦除可编程:

一种可由用户进行编程并可用紫外光擦除的只读存储器。存储在EPROM中内容能够长期保存达几十年之久,而且掉电后其内容也不会丢失。QQ截图20230210112620

5.6 主存储器:

5.6.1 构成:

QQ截图20230210112744

QQ截图20230210113040

位扩展:

多片芯片同时工作,只增加存储字长.

QQ截图20230210113309

看看在类似时序图的图中,是否是同在进行工作.

字扩展:

增加拓展字的容量.

QQ截图20230210113548

在时序图中分部工作.

一部分芯片连接同一个译码器的接口.

QQ截图20230210113657

同时扩展:

QQ截图20230210113734

5.6.2 与CPU连接:

CPU与存储器通过三总线(即系统总线)的连接!

地址总线,数据总线,控制总线.

片选信号形成方法:

全译码:

除了将地址总线的低位地址直接连至各存储芯片的地址线外,将所有余下的高位地址全部用于译码,译码输出作为各存储芯片片选信号.

高位全部译码.

部分译码:

只选用地址总线的一部分进行译码.

线选法:

高位每一根线代表一块芯片.

QQ截图20230210114324

特点:

线选方式的突出优点是无须使用片选译码器

缺点是存储地址空间被分成了相互隔离的区段,造成地址空间的不连续。(片选线多于一位为“0”以及片选线为全“1”的地址空间不能使用)

QQ截图20230211213651

5.7 高速缓冲存储器: Cache.

提升速度.

QQ截图20230210114804

Cache所体现的是一种思想: “缓存” ,即将经常被用到的东西,放到更加容易方便获取的地方。

没有Cache,计算机照常工作,有了Cache, 计算机工作得快一点!

工作原理:

QQ截图20230210114927

块:

若干个存储单元被称之为一块.

内存与Cache之间是以数据块为单位进行交换的。通常在主存与Cache之间设置一条多字宽的局部数据线。

当Cache不命中时,CPU将在访问目标数据的同时,一并从主存读出来的M 个字,并将其作为一个 块 传送给Cache。这样CPU的下一次访问基本上能够在Cache中命中了.

QQ截图20230210115134

命中率:

命中率:——CPU访问的信息在Cache中的比率。

QQ截图20230210115233

QQ截图20230211214246

6.输入输出(I/O)接口:

6.1 概述:

接口是两个系统或两个部件之间的衔接部分.主要分为软件接口和硬件接口.

IO接口是连接主机与I/O设备之间的中间电路或部件,由硬件电路,控制软件构成,是信息传送的桥梁和纽带.

QQ截图20230210134116

接口与端口:

端口(Port):I/o接口电路中可通过编程寻址并进行读/写的寄存器.CPU对接口的访问基本上可以认为是对端口的读/写。

接口包含端口.

QQ截图20230210134229

QQ截图20230210134520

QQ截图20230210134601

6.2 程序查询方式:

QQ截图20230210134707

中断:

QQ截图20230210134825

不管一个程序在执行的过程中,是否被中断, 中断多少次,其最终的运行结果必须是唯一的。

当有多个中断源向CPU提出中断请求时,CPU必须坚持的原则是:在任何一个时刻只能为一个中断源的请求提供服务!

中断系统:

QQ截图20230210135138

处理过程:

QQ截图20230210135227

QQ截图20230210135220

流程:

QQ截图20230210180027

单重中断与多重中断:

在处理中断的过程中,可能有新的、优先级更高的中断请求到来。当这种现象发生时,若允许CPU暂停现行的中断服务程序,转去处理新的中断请求,这种现象称为多重中断或中断嵌套,否则为单重中断。

QQ截图20230210180202

中断屏蔽:

QQ截图20230210180324

6.3 DMA 技术:

DMA (Direct Memory Access):直接内存访问。

CPU暂时让出总线的控制权,由专用接口芯片DMAC——DMA控制器,全权控制存储器与I/O之间直接进行高速的数据传送。

QQ截图20230210180555

工作过程:

QQ截图20230210180718

共享方式:

7. 信息的表述与运算:

7.1 数据表示:

定点数: 默认小数点在数值的最前方或者最后方。

真值:真正的数值,即带“+”、“-”号的数.

机器数: 将符号数字化之后的数。

定点数表示:

原码:

QQ截图20230210181556

规律: 正数不变,负数加一.

QQ截图20230210181707

QQ截图20230210181748

补码:

QQ截图20230210182301

反码:

QQ截图20230210220326

移码:

QQ截图20230210220505

最小真值的移码为全 0.

浮点数表示:

借助于数学中的“科学记数法”,把浮点数转化成定点数。

个浮点数N将被表示成:N = M *R的E次方 。

M为尾数,是一个定点小数.

R为基值,是一个整数.

E为阶码,是一个整数.

QQ截图20230210220853

QQ截图20230210220933

QQ截图20230210221020

左移减,右移加。

下溢:

QQ截图20230210221107

上溢:

QQ截图20230210221206

7.2 定点数运算:

7.2.1 逻辑运算:

逻辑运算的特点是按位进行,每一位运算后得到一个独立的结果,对其他位 没有影响。因此,逻辑运算不存在进位、借位、溢出等问题。

非:

按位取反.

加:

按位求或.

乘:

按位求与.

异或:

按照位置异或.

7.2.2 移位运算:

QQ截图20230210221640

总原则:符号位不变。QQ截图20230210221726

QQ截图20230210221755

7.2.3 加减法运算:

计算机通过引入补码将定点数的加、减运算都统一成加法运算,所以参加加、减运算的操作数都必须表示成补码。

采用补码进行计算还有一个好处,结果的符号位不用单独处理,它是在运算过程中自然形成的。这是采用原码进行计算所不具有的,大大简化了硬件设计。

公式:

QQ截图20230210221916

和的补码等于补码的和。