导航:首页 > 废水知识 > 计算机组成原理回写有什么用

计算机组成原理回写有什么用

发布时间:2022-12-10 06:08:24

⑴ pop在计算机组成原理中有什么用

pop在计算机组成原理中的作用:
op是opamplifier的缩写,指运算放大器。运算放大器简称运放是具有很高放大倍数的电路单元。在实际电路中,通常结合反馈网络共同组成某种功能模块。

⑵ 计算机组成原理,

计算机组成原理
这门学科告诉你什么是计算机。
首先,我们可以把计算机分解成最原始的部件——晶体管。晶体管是一种半导体材料,其最重要的作用就是半导:可以通过电流的变化,实现电路的切换。比如计算机最基础的与或非运算,都可以通过晶体管组成的电子元件实现。而通过晶体管的电位差不同,就可以体现"二进制数据",即0和1。再加上电容和电阻,就能把这种二进制数据临时保存起来。
综合这些特性,大牛们发现把晶体管用作精密的数学计算,可以极大的提高运算的效率。比如我有2个电容,分别是充满电和没有电,对他们同时释放电信号,电容就会把其中的电子放出来,经过特定的逻辑电路,如与门,得到了0的结果。要计算1+1,实际上也是类似的原理。我先设计一个加法电路,把若干电容组合成的"数字"流过这个电路,把结果存入目标电容,就得到了结果。大规模的复杂运算以此类推。
最早期的计算机真的就是用许多结晶体管实现的复杂电路结构,通过控制输入电流得到希望的输出结果。后来人们发现,这种计算可以用某些形式抽象成多种指令,不用针对每次计算设计复杂的电路,只要调用指令就可以实现任何一种计算组合,于是诞生了cpu。只有cpu,每次都要自己配置输入信号,实在太痛苦,就做了纸带输入给计算机。后来又发现纸带还是很麻烦,于是发明了输入终端和对应的存储设备。后来又发现很多数据要临时保存起来,供连续计算使用,于是发明了内存。再后来pc的发展经历了无数次的变革,让计算机一步步到了今天的地步,也就是你现在看到的这样。
其中的历程非常曲折,也许有机构能够把他们全部组织成一本漫长的历史,但个人肯定是无能为力的。

操作系统
综上所述,计算机发展到一定程度,什么东西都靠人工也未免太累了。
比如通过输入设备组织指令给cpu去计算,你希望能够找一个快速的输入设备(比如键盘),在能看到结果的地方输入(比如屏幕),然后再用很方便的方式提交给cpu(比如按键或者指令),让cpu去算好了,再把结果展示出来(比如屏幕)。
理想很美好,但是这么复杂的流程,人工管理起来不还是很麻烦吗?除非我构造一个设备,把这些所有设备都管理起来,于是主板就诞生了。

现在主板解决了我们大量的问题,但是我发觉我的需求还远远不够!
我希望我写过的程序能在任何一台机上运行。
我希望我能边听音乐边干活——即同一时间可以运行多个程序。
我希望别人写的傻×东西不要影响到我的工作——即多任务控制。
我希望计算机里面的各种资源都能得到良好的组织,更快的访问。
我希望我的用户界面更好看,使用更方便,功能更强大!
我是个小白用户,啥都不懂,别跟我扯这些有的没的,我就像随便操作两下就能达到我想要的!
如果这些需求全部都做在主板bios里面,那将是一场灾难!除非bios经过极大的调整和改动,划分出一大块区域存放操作系统,并且完成复杂的体系结构改革。
计算机发展到这种程度,早就已经有很多的机构和厂商介入其中,试图从中渔利。他们当然不会求着计算机标准委员会和主板生产厂商去做所谓的主板改革,而是编写自己的程序——操作系统,来解决这些所有的问题。

而操作系统问世之后,一方面接管了主板对于系统资源的管理,加入了自己的中间层——驱动程序,另一方面又充分发挥了人机交互的接口——gui界面,成为了计算机必不可少的组成部分。
操作系统通过bios引导,即作为应用程序开始运行。我们知道程序的本质上就是在cpu上运行种种指令,比如操作系统需要把硬盘上的模块放入内存,实际上就是运行了一系列复杂的cpu指令,cpu指令通过主板bus(实际上就是传递指令的电路)发送指令给硬盘(比如从哪个扇区偏移多少读多少数据),硬盘再通过芯片组转动磁头,把数据读到缓存中,完成后给cpu发送一个信号(即中断),cpu收到这个信号,就在寄存器中寻址该信号对应的地址(即我们说的中断向量表),运行该地址中的指令,发现该指令是发送拷贝指令给主板芯片组,主板就会在cpu的指导下不断的发送信号,告诉硬盘缓存放电,再把接收的电信号存到指定的内存位置去,如此反复,直到完成cpu的一系列指令为止。
操作系统说白了,就是这样通过种种cpu指令,实现自身的所有功能。
当然这些指令也不是一条条写进去的,而是通过编程语言完成人类较容易识别的逻辑,然后再通过编译器把这些逻辑翻译成cpu指令,这就涉及编译原理的东西了。

既然操作系统对硬件的访问都是通过cpu指令来完成的,那为什么大家都感觉是操作掌管了硬件呢?这就涉及操作系统最本质的功能之一:对系统资源的管控了。
我们运行的所有程序,实际上都是操作系统帮我们运行的。操作系统背后进行了很多的工作,如虚拟地址空间的分配,cpu分时调度,硬件中断信号的响应等。这样对于硬件资源的访问,也是通过操作系统安排的。比如操作系统会通过把短时间内硬盘读写合并成顺序的方式,以提高磁头的利用率,降低磁头转向的时间。再比如对内存地址的访问也是由操作系统管控的,某个程序中的内存地址具体落到内存条的哪个位置,还是硬盘中的虚拟内存,就看操作系统的心情了。

至此,操作系统和硬件的交互也介绍的差不多了,更详细的东西建议参考操作系统相关的书籍吧,比如《深入理解计算机系统》,《linux内核设计与实现》,《unix环境高级编程》之类的。

数据结构
数据结构的作用,就是为了提高硬件利用率。
比如操作系统需要查找用户应用程序"office"在硬盘的哪个位置,盲目的搜索一遍硬盘肯定是低效的,这时候搞个b+树作为索引,搜索office这个单词就很快,然后就能很快的定位office这个应用程序的文件信息,再找到文件信息中对应的磁盘位置了。

数据结构的东西找本《算法导论》,《数据结构与算法分析》之类的看吧。

计算机网络
计算机网络分为3块:
1. 硬件
网卡,网线,交换机这些,用来处理数据的。
2. 协议
数据在网络中通信如何组织?如何识别?如何保证数据的正确性?
这2块我就不多说了。

3. 操作系统
这就是如何把计算机网络和操作系统结合起来的问题了。
对于操作系统来说,网卡也是一种硬件资源。但是网络不单只是一种硬件,而是一种媒体入口。比如操作系统管理硬盘,当然不是简单的记一下硬盘有多大,然后一切操作都交给硬盘芯片去做,更多的需要组织硬盘的扇区,分区,记录文件和扇区/偏移的关系等等。
操作系统对于网络来说也是如此,要记录自身在网络的标识(ip),可被他人访问的入口(port),以及对方的信息(remote ip/port)。连接,断开,数据确认等操作也是由协议控制。
传递自身消息给对方,类似访问硬盘一样把内存中的数据传递给网卡缓存,再发消息给网卡让网卡去传数据,而是否发送成功这些保证不再由硬件中断信号反馈,而是通过网络协议完成。接收对方消息,也是接收到网卡中断,再把数据从网卡缓存移动到内存中,再通过协议给予对方反馈。

⑶ 计算机组成原理-03-计算机的组成(一)

总线(Bus)是计算机各种功能部件之间传送信息的公共通信干线,它是cpu、内存、输入、输出设备传递信息的公用通道,主机的各个部件通过总线相连接,外部设备通过相应的接口电路再与总线相连接,从而形成了计算机硬件系统。

假设没有总线这种设计,计算机设备都是分散连接的,如下图:

此时如果新增了一个输入设备2,此时需要分别连接存储器、控制器、运算器,设备一多线路就会十分复杂。

有了总线之后,设备直接连接总线,使得计算机内部结构变得十分清晰,设备的添加和卸载也变得容易。

系统中多个设备或模块可能同时申请对总线的使用权,为避免产生总线冲突,需由总线仲裁机构合理地控制和管理系统中需要占用总线的申请者,在多个申请者同时提出总线请求时,以一定的优先算法仲裁哪个应获得对总线的使用权。

总线授权信号BG串行地从一个I/O接口传送到下一个I/O接口。假如BG到达的接口无总线请求,则继续往下查询;假如BG到达的接口有总线请求,BG信号便不再往下查询,该I/O接口获得了总线控制权。离中央仲裁器最近的设备具有最高优先级,通过接口的优先级排队电路来实现。

好处:只用很少几根线就能按一定优先次序实现总线仲裁,很容易扩充设备。

坏处:对询问链的电路故障很敏感,如果第i个设备的接口中有关链的电路有故障,那么第i个以后的设备都不能进行工作。查询链的优先级是固定的,如果优先级高的设备出现频繁的请求时,优先级较低的设备可能长期不能使用总线。

总线上的任一设备要求使用总线时,通过BR线发出总线请求。中央仲裁器接到请求信号以后,在BS线为“0”的情况下让计数器开始计数,计数值通过一组地址线发向各设备。每个设备接口都有一个设备地址判别电路,当地址线上的计数值与请求总线的设备地址相一致时,该设备 置“1”BS线,获得了总线使用权,此时中止计数查询。

每次计数可以从“0”开始,也可以从中止点开始。如果从“0”开始,各设备的优先次序与链式查询法相同,优先级的顺序是固定的。如果从中止点开始,则每个设备使用总线的优先级相等。

计数器的初值也可用程序来设置,这可以方便地改变优先次序,但这种灵活性是以增加线数为代价的。

每一个共享总线的设备均有一对总线请求线BRi和总线授权线BGi。当设备要求使用总线时,便发出该设备的请求信号。中央仲裁器中的排队电路决定首先响应哪个设备的请求,给设备以授权信号BGi。

独立请求方式的优点:响应时间快,确定优先响应的设备所花费的时间少,用不着一个设备接一个设备地查询。其次,对优先次序的控制相当灵活,可以预先固定也可以通过程序来改变优先次序;还可以用屏蔽(禁止)某个请求的办法,不响应来自无效设备的请求。

缺点:设备连线多,总线控制复杂。

鼠标、键盘、扫描仪、显示器等。

CPU和IO设备的速度是不一致的

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

当外围IO设备准备就绪时,向CPU发送中断信号,CPU内部有专门的电路响应中断信号,CPU收到中断信号后就会中断当前工作转为处理外围设备的工作。待工作完成后,CPU加载之前的工作,继续处理。

当主存与IO设备交换信息时,不需要中断CPU,可以提高CPU的效率。一般计算机的硬盘与显卡都有DMA设备。

利用了局部性原理,在CPU和主存之间增加了一层速度快(容量小)的Cache,目的是为了解决主存速度不足的问题。

将程序经常访问的内存置换到高速缓存即可。

利用了局部性原理,在主存之外增加辅助存储器,目的是解决主存容量不足的问题。

将程序当前使用的数据加载到主存,不使用的数据加载到辅存。

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

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

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

32位系统主存大小为:2^32 =4×2^30 =4𝐺𝐵

64位系统主存大小为:2^64 = 234 × 2^30 = 2^34𝐺𝐵

表面是可磁化的硬磁特性材料

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

先来先服务算法 :按顺序访问进程的磁道读写需求

最短寻道时间优先:与磁头当前位置有关,优先访问离磁头最近的磁道

扫描算法(电梯算法) :每次只往一个方向移动,到达一个方向需要服务的尽头再反方向移动

循环扫描算法:每次只往一个方向移动,到尽头后回到初始位继续扫描

在存储器的层次结构中,高速缓存在CPU和主存之间,主要是为了解决CPU和主存速度不匹配的问题。

在往下看之前,先了解下下面的概念:

高速缓存的结构和主存类似,但是主存的容量是远大于缓存的容量。

缓存中存储的数据是主存中的一份复制,当CPU需要的数据在缓存中,直接从缓存里拿,当CPU需要的数据不在缓存中,则需要从主存里拿。

所以就有了两个量化指标:

命中率 :命中缓存的次数占CPU访问次数的比例

访问效率 :访问缓存时间和访问缓存-主存平均时间之比

当CPU所需要的数据不在高速缓存中时,就需要从主存载入数据到高速缓存。一般有四种替换策略。

随机选取高速缓存中的一个位置再替换

把高速缓存看做是一个先进先出的队列,优先替换最先进入队列的字块

优先淘汰最不经常使用的字块,需要额外的空间记录字块的使用频率

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

有多种实现方法,一般使用双向链表,把当前访问节点置于链表前面(保证链表头部节点是最近使用的)

⑷ 学计算机组成原理有什么作用

计算机组成原理是计算机专业的核心主干课之一,是在我国开设最早的一门必修专业课程,也是学习计算机的其它后续课(如微机系统与接口、计算机系统结构、操作系统等)的重要的专业基础课。它在先导与后续课程之间起着承上启下和继往开来的作用。也是从事计算机设计、开发、应用与维护等工作的基础。

计算机组成原理主要讨论计算机单机系统的组成原理及其内部工作机制,包括各大部件的工作原理、逻辑实现、设计方法及其互连构成计算机整机的技术。主要强调计算机的基本原理、基本知识和基本技巧的训练。

(4)计算机组成原理回写有什么用扩展阅读:

计算机组成原理内容介绍:

《计算机组成原理》系统地介绍了计算机的基本组成原理和内部工作机制。《计算机组成原理》共分8章,主要内容分成两个部分第1、2章介绍了计算机的基础知识;第3~8章介绍了计算机的各子系统(包括运算器、存储器、控制器、外部设备和输入输出子系统等)的基本组成原理、设计方法、相互关系以及各子系统互相连接构成整机系统的技术。

《计算机组成原理》讲述了计算机的一般原理,并注意到与实际应用相结合。全书内容由浅入深,每章之后均附有习题,便于自学。

⑸ 计算机组成原理是什么

计算机组成原理是什么

计算机组成指的是系统结构的逻辑实现,包括机器机内的数据流和控制流的组成及逻辑设计等。计算机由什么组成的,有什么原理呢?下面我为大家分析一下!

【计算机性能指标】

计算机的性能指标主要是CPU性能指标、存储器性能指标和I/O吞吐率。

处理机字长:是指处理机运算器中一次能够完成二进制运算的位数。

总线宽度:一般指CPU中运算器与存储器之间进行互连的内部总线二进制位数。

存储器带宽:单位时间内从存储器读出事物二进制数信息量,一般用字节数/秒表示。

主频/时钟周期:CPU的工作节拍受主时钟控制,主时钟不断产生固定频率的时钟,主时钟的频率(f)叫CPU的主频。主频的倒数称为CPU的周期(T)。

CPI:表示每条指令周期数,即执行一般程序所占用的CPU时间,

CPU执行时间=CPU时钟周期数*CPU时钟周期

MIPS:表示平均每秒执行多少百万条定点指令数,

FLOPS:表示每秒执行浮点操作的次数,用来衡量机器浮点操作的性能。

FLOPS=程序中的浮点操作次数/程序执行时间(s)

【定点数的表示和运算】

一个定点数由符号位和数值域两部分组成。按小数点位置不同,定点数有纯小数和纯整数两种表示方法。在定点计算机中,两个原码表示的数相乘的运算规则是:乘积的符号位由两数的符号位按异或运算得到,而乘积的数值部分则是两个正数相乘之积。两个原码表示的数相除时,商的符号位由两数的符号按位相加求得,商的数值部分由两数的数值部分相除求得。

【算数逻辑单元ALU】

为运算器构造的简单性,运算方法中算数运算通常采用补码加、减法,原码乘除法或补码乘除法。为了运算器的高速性和控制的简单性,采用了先行进位、阵列乘除法、流水线等并行技术措施。ALU不仅具有多种算术运算和逻辑运算的功能,而且具有先行进位逻辑,从而能实现高速运算。

【存储器的分类】

按存储介质,用半导体器件组成的存储器称为半导体存储器,用磁性材料做成的存储器称为磁表面存储器;作为存储介质的基本要求,必须有两个明显区别的物理状态,分别用来表示二进制的代码0和1。另一方面,存储器的存取速度又取决于这种物理状态的改变速度。

按存取方式,存储器中任何存储单元的内容都能被随机存取,且存取时间和存储单元的位置无关的存储器称为随机存储器,存储器只能按某种顺序来存取,即存取时间和存储单元的物理位置有关的存储器称为顺序存储器;半导体存储器是随机存储器,RAM和ROM都是采用随机存取的方式进行信息访问,磁带存储器是顺序存储器。

按信息易失性,断电后信息消失的存储器称为易失性存储器,断电后仍能保存信息的存储器称为非易失性存储器;半导体读写存储器RAM是易失性存储器,ROM是非易失性存储器,磁性材料做成的存储器是非易失性存储器。

按存储内容可变性,有些半导体存储器存储的内容是固定不变的,即只能读出而不能写入,这种半导体存储器称为只读存储器(ROM),既能读出又能写入的半导体存储器称为随机读写存储器(RAM);

按系统中的作用,可分为内部存储器、外部存储器;又可分为主存储器、高速缓冲存储器、辅助存储器、控制存储器;半导体存储器是内部存储器,磁盘是外部存储器,又是辅助存储器。

【存储器的层次化结构】

目前在计算机系统中,通常采用多级存储器体系结构,即使用高级缓冲存储器(cache)、主存储器和外存储器。CPU能直接访问的存储器称为内存储器,它包括cache和主存储器。CPU不能直接访问外存储器,外存储器的信息必须调入内存储器后才能为CPU进行处理。cache是计算机系统中的一个高速小容量半导体存储器,在计算机中利用cache来高速存取指令和数据。cache的工作原理基于程序运行中具有的空间局部性和时间局部性特征。cache能高速地向CPU提供指令和数据,从而加快了程序的执行速度。从功能上看,它是主存的缓冲存储器,由高速的SRAM组成。为追求高速,包括管理在内的全部功能由硬件实现,因而对程序员是透明的。与主存容量相比。cache的容量很小,它保存的内容只是主存内容的一个子集,且cache与主存的数据交换是以块为单位。主存储器是计算机系统的主要存储器,由MOS半导体存储器组成,用来存放计算机运行期间的大量程序和数据,能和cache交换数据和指令。外存储器是大容量辅助存储器,通常用来存放系统程序和大型数据文件及数据库。

存储器的技术指标有存储容量、存取时间、存储周期、存储器带宽。存取时间、存储周期、存储器带宽三个概念反映了主存的速度指标。

存取时间:指一次读操作命令发出到该操作完成,将数据读出到数据总线上所经历的时间。通常取写操作时间等于读操作时间,故称为存储器存取时间,存取时间又称存储器访问时间。

存储周期:指连续两次读操作所需间隔的最小时间。通常,存储周期略大于存取时间。

“位(bit)”是电子计算机中最小的数据单位,每一位的状态只能是0或1。8个二进制位构成一个“字节(Byte)”,字节是储存空间的基本计量单位,一个字节可以储存一个英文字母,2个字节可以储存一个汉子。“字”由若干字节构成,字的位数叫作字长,不同档次的机器有不同的字长。存储器的基本单位字节的长度是8 bit。表示主存容量的常用单位字节B,是基本单位。此外还有KB、MB、GB、TB。一个双稳态半导体电路或一个CMOS晶体管或磁性材料的存储元,均可以存储一位二进制代码。这个二进制代码位是存储器中最小的存储单位,称为存储位元。

所有的SRAM的特征是用一个锁存器(触发器)作为存储元,触发器具有两个稳定的状态,只要直流供电电源一直加在这个记忆电路上,它就无限期地保持记忆的1或0状态;如果电源断电,那么存储的数据(1或0)就会丢失。SRAM是易失性存储器。半导体静态存储器 SRAM 的存储原理是依靠双稳态电路。SRAM存储器的存储元是一个触发器,它具有两个稳定的状态。SRAM的优点是存取速度快,但存储容量不如DRAM大。动态MOS随机读写存储器DRAM的存储容量极大,通常用作计算机的主存储器。主存也可以用SRAM实现,只是成本高。与SRAM相比,DRAM成本低、功耗低,但需要刷新。动态RAM存储信息依靠的是电容。DRAM存储器的存储元是由一个MOS晶体管和电容器组成的记忆电路,其中MOS晶体管作为开关使用,而所存储的信息1或0则是由电容器上的电荷量来体现--当电容器充满电荷时,代表储存了1,当电容器放电没有电荷时,代表存储了0。读出过程也是刷新过程。输入缓冲期与输出缓冲器总是互锁的。这是因为读操作和写操作是互斥的,不会同时发生。与SRAM不同的是:DRAM增加了行地址锁存器和列地址锁存器,增加了刷新计数器和相应的控制电路。DRAM比SRAM集成度更高。DRAM读出后必须刷新,而未读写的存储元也要定期刷新,而且要按行刷新,所以刷新计数器的长度等于行地址锁存器。DRAM存储位元是基于电容器上的电荷量存储,这个电荷量随着时间和温度而减少,因此必须定期地刷新,以保持它们原来记忆的信息。DRAM是易失性存储器。一次读操作会自动地刷新选中行中的所有存储位元。然而通常情况下,人们不能准确地预知读操作出现的频率,因此无法阻止数据丢失。在这种情况下,必须对DRAM进行定期刷新。DRAM使用电容存储,所以必须隔一段时间刷新(refresh)一次,如果存储单元没有被刷新,存储的信息就会丢失。DRAM存储器有读周期、写周期和刷新周期,刷新周期比读/写周期有更高的优先权。DRAM存储器需要逐行进行定时刷新,以使不因存储信息的电容漏电而造成信息丢失。另外,DRAM芯片的读出是一种破坏性读出,因此在读取之后要立即按读出信息予以充电再生。动态MOS随机读写存储器DRAM的存储容量极大,通常用作计算机的主存储器。SRAM和DRAM都是随机读写存储器,它们的特点是数据可读可写。ROM叫作只读存储器,在它工作时只能读出,不能写入,其中存储的原始数据必须在它工作以前写入。FLASH叫作闪存存储器,是高密度非易失性的读/写存储器,高密度意味着它具有巨大比特数目的存储容量,非易失性意味着存放的数据在没有电源的情况下可以长期保存。FLASH存储元是在EPROM存储元基础上发展起来的。闪存存储器有三个主要的基本操作,它们是编程操作、读取操作和擦除操作。可编程ROM有PROM、EPROM、EEPROM。其中,PROM是一次性编程。EPROM叫作光擦除可编程只读存储器,它的存储内容可以根据需要写入,当需要更新时将原存储内容抹去,再写入新的内容。EEPROM叫作电擦除可编程只读存储器,其储存元是一个具有两个栅极的NMOS管,这种存储器在出厂时,存储器内容为全“1”状态。使用时,可根据要求把某些存储元写“0”。EPROM是可改写的,但它不能用作为随机存储器用。

【主存储器与CPU的连接】

主储存器和CPU之间增加cache的目的是解决CPU和主存之间的`速度匹配问题。程序和数据存储在主存中,主存通常采用多体交叉存储器,以提高访问速度。cache是一个高速缓冲存储器,用以弥补主存和CPU速度上的差异。指令部件本身又构成一个流水线,它由取指令、指令译码、计算操作数地址、取操作数等几个过程段组成。指令队伍是一个先进先出(FIFO)的寄存器栈,用于存放经过译码的指令和取来的操作数。它也是由若干个过程段组成的流水线。执行部件可以具有多个算数逻辑运算部件,这些部件本身又用流水线方式构成。为了使存储器的存取时间能与流水线的其他各过程段的速度匹配,一般采用多体交叉存储器。执行段的速度匹配问题,通常采用并行的运算部件以及部件流水线的工作方式来解决。一般采用的方法包括:将执行部件分为定点执行部件和浮点执行部件两个可并行执行的部分,分别处理定点运算指令和浮点运算指令;在浮点执行部件中,又有浮点加法部件和浮点乘/除部件,它们也可以同时执行不同的指令;浮点运算部件都以流水线方式工作。所谓资源相关,是指多条指令进入流水线后在同一机器时钟周期内争用同一个功能部件所发生的冲突。在一个程序中,如果必须等前一条指令 执行完毕后,才能执行后一条指令,那么这两条指令就是数据相关的。为了解决数据相关冲突,流水CPU的运算器中特意设置若干运算结果缓冲寄存器,暂时保留运算结果,以便于后继指令直接使用,这称为“向前”或定向传送技术。控制相关冲突是由转移指令引起的。当执行转移指令时,依据转移条件的产生结果,可能为顺序取下条指令;也可能转移到新的目标地址取指令,从而使流水线发生断流。为了减小转移指令对流水线性能的影响,常采用以下两种转移处理技术:由编译程序重排指令序列来实现的延迟转移法、硬件方法来实现的转移预测法。

【双口RAM和多模块存储器】

双端口存储器采用空间并行技术,能进行高速读/写操作。双端口存储器提供了两个相互独立的读写电路,可以对存储器中任意位置上的数据进行独立的存取操作。事实上双端口存储器也可以由DRAM构成。当两个端口的地址不相同时,在两个端口上进行读写操作,一定不会发生冲突。当两个端口同时存取存储器同一存储单元时,便发生冲突。总之,当两个端口均为开放状态且存取地址相同时,发生读写冲突。

一个由若干模块组成的主存储器是线性编址的,这些地址在各模块中的安排方式有两种:一种是顺序方式,一种是交叉方式。从定性分析,对连续字的成块传送,交叉方式的存储器可以实现多模块流水式并行存取,大大提高存储器的带宽,由于CPU的速度比主存快,假如能同时从主存取出n条指令,这必然会提高机器的运行速度。多模块交叉存储器是一种并行存储器结构。

【高速缓冲存储器(cache)】

cache是一种高速缓冲存储器,是为了解决CPU和主存之间速度不匹配而采用的一项重要技术。其原理基于程序运行中具有的空间局部性和时间局部性特征。cache能高速地向CPU提供指令和数据,从而加快了程序的执行速度。从功能上看,它是主存的缓冲存储器,由高速的SRAM组成。为追求高速,包括管理在内的全部功能由硬件实现,因而对程序员是透明的。当前随着半导体器件集成度的进一步提高,cache已放入到CPU中,其工作速度接近于CPU的速度,从而能组成两级以上的cache系统。cache除包含SRAM外,还要有控制逻辑。若cache在CPU芯片外,它的控制逻辑一般与主存控制逻辑合成在一起,成为主存/cache控制器;若cache在CPU内,则由CPU提供它的控制逻辑。CPU与cache之间的数据交换是以字为单位,而cache与主存之间的数据交换是以块为单位。一个块由若干字组成,是定长的。当CPU读取内存中一个字时,便发出此字的内存地址到cache和主存。此时cache控制逻辑依据地址判断此字是否在cache中:若是,此字立即传送给CPU;若非,则用主存读周期把此字从主存读出送到CPU,与此同时,把含有这个字的整个数据块从主存读出送到cache中。从CPU看,增加一个cache的目的,就是在性能上使主存的平均读出时间尽可能接近cache的读出时间。为了达到这个目的,在所有的存储器访问中由cache满足CPU需要的部分应占很高的比例,即cache的命中率应接近于1.由于程序访问的局部性,实现这个目标是可能的。运算器由算数逻辑单元(ALU)、通用寄存器、数据缓冲寄存器DR和状态条件寄存器PSW组成,它是数据加工处理部件。运算器接受控制器的命令而进行动作,即运算器所进行的全部操作都是由控制器发出的控制信号来指挥的,所以它是执行部件。运算器有两个主要功能:(1)执行所有的算数运算;(2)执行所有的逻辑运算,并进行逻辑测试,如零值测试或两个值的比较。通常,一个算数操作产生一个运算结果,而一个逻辑操作则产生一个判决。

与主存容量相比,cache的容量很小,它保存的内容只是主存内容的一个子集,且cache与主存的数据交换是以块为单位。为了把主存块放到cache中,必须应用某种方法把主存地址定为到cache中,称做地址映射。“映射”的物理含义是确定位置的对应关系,并用硬件来实现。这样当CPU访问存储器时,它所给出的一个字的内存地址会自动变换成cache的地址。由于采用硬件,这个地址变换过程很快,软件人员丝毫感觉不到cache的存在,这种特性成为cache的透明性。地址映射方式有全相联方式、直接方式和组相联方式三种。在全相联映射中,将主存中一个块的地址(块号)与块的内容(字)一起存于cache的行中,其中块地址存于cache行的标记部分中。这种带全部块地址一起保存的方法,可使主存的一个块直接拷贝到cache中的任意一行上。全相联映射方式的检索过程:CPU访存指令指定了一个内存地址(包括主存和cache),为了快速检,指令中的块号与cache中所有行的标记同时在比较器中进行比较。如果块号命中,则按字地址从cache中读取一个字;如果块号未命中,则按内存地址从主存中读取这个字。在全相联cache中,全部标记用一个相联存储器来实现,全部数据用一个普通RAM来实现。全相联方式的主要缺点是比较器电路难于设计和实现,因此只适合于小容量cache采用。直接映射方式也是一种多对一的映射关系,但一个主存块只能拷贝到cache的一个特定行位置上去。直接映射方式的优点是硬件简单,成本低。缺点是每个主存块只有一个固定的行位置可存放,如果块号相距m整数倍的两个块存于同一cache行时,就要发生冲突。发生冲突时就要将原先存入的行换出去,但很可能过一段时间又要换入。频繁的置换会使cache的效率下降。因此直接映射方式适合于需要大容量cache的场合,更多的行数可以减小冲突的机会。采用直接映射时,cache无需考虑替换问题。从存放位置的灵活性和命中率来看,全相联映射方式为优;从比较器电路简单及硬件投资来说,直接映射方式为佳。组相联映射方式将cache分成u组,每组v行,主存块存放到哪个组是固定的,至于存到该组哪一行是灵活的。组相联映射方式的比较器电路容易设计和实现,而块在组中的排放又有一定的灵活性,使冲突减少。全相联映射方式和组相联映射方式速度较低,通常适合于小容量cache。

cache工作原理要求它尽量保存最新数据。当一个新的主存块需要拷贝到cache,而允许存放此块的行位置都被其他主存块占满时,就要产生替换。对直接映射方式来说,因一个主存块只有一个特定的行位置可存放,所以只要把此特定位置上的原主存块换出cache即可。对全相联和组相联cache来说,就要允许存放新主存块的若干特定行中选取一行换出。cache的替换全部靠硬件实现。

如何选取就涉及替换策略,又称替换算法,硬件实现的常用算法主要有以下三种:1)近期最少使用(LRU)算法:将近期内长久未被访问的行换出;2)最不经常使用(LFU)算法:将一段时间内被访问次数最少的那行数据换出;3)随机替换:实际上是不要什么算法,从特定的行位置中随机地选出一行换出即可。在Cache替换算法中,近期最少使用法比较正确地利用了程序访存局部性原理,替换出近期用得最少的存储块,命中率较高,是一种比较好的替换算法;随机法是随机地确定替换的存储单元,先进先出法是替换最早调入的存储单元,它们都没有根据程序访存局部性原理,命中率较低;而后进先出法不是cache所使用的替换算法,此法在堆栈存储结构中使用。

【虚拟存储器】

常用的虚拟存储系统由主存-辅存两级存储器组成,其中辅存是大容量的磁表面存储器。在虚拟存储器中,主存的内容只是辅存的一部分内容。虚拟存储系统是为了提高存储系统的性能价格比而构造的分层存储体系,力图使存储系统的性能接近高速存储器,而价格和容量接近低速存储器。虚拟存储利用了程序运行时的局部性原理把最近常用的信息块从相对慢速而大容量的存储器调入相对高速而小容量的存储器。虚拟存储主要是解决存储容量问题,另外还包括存储管理、主存分配和存储保护等方面。虚存所依赖的辅存与CPU之间不存在直接的数据通路,当主存不命中时只能通过调页解决,CPU最终还是要访问主存。虚存管理由软件(操作系统)和硬件共同完成,由于软件的介入,虚存对实现存储管理的系统程序员不透明,而只对应用程序员透明(段式和段页式管理对应用程序员“半透明”)。主存未命中时系统的性能损失要远大于cache未命中时的损失。

【虚拟内存管理】

虚存机制也要解决一些关键问题:(1)调度问题:决定哪些程序和数据应被调入主存;(2)地址映射问题:在访问主存时把虚地址变为主存物理地址,在访问辅存时把虚地址变为辅存的物理地址,以便换页;(3)替换问题:解决哪些程序和数据应被调出主存;虚拟存储器的替换算法与cache的替换算法类似,有FIFO算法、LRU算法、LFU算法,虚拟存储器的替换有操作系统的支持(4)更新问题:确保主存和辅存的一致性。虚拟存储器分为页式、段式、段页式三种。

页式虚拟存储系统中,虚地址空间被分成等长大小的页,称为逻辑页;主存空间也被分成同样大小的页,称为物理页。相应地,虚地址分为两个字段:高字段为逻辑页号,低字段为页内地址(偏移量);实存地址也分为两个字段:高字段为物理页号,低字段为页内地址。通过页表可以把虚地址(逻辑地址)转换成物理地址。在大多数系统中,每个进程对应一个页表。现代的中央处理机通常有专门的硬件支持地址变换。每个进程所需的页数并不固定,所以页表的长度是可变的,因此通常的实现方法是把页表的基地址保存在寄存器中,而页表本身则放在主存中。由于虚地址空间可以很大,因而每个进程的页表有可能非常长。由于页表通常在主存中,因而即使逻辑页已经在主存中,也要至少访问两次物理存储器才能实现一次访存,这将使虚拟存储器的存取时间加倍。为了避免对主存访问次数的增多,可以对页表本身实行二级缓存,把页表中的最活跃部分存放在高速存储器中。这个专用于页表缓存的高速存储部件通常称为转换后援缓冲器(TLB),又称快表。而保存在主存中的完整页表则称为慢表。快表的作用是加快地址转换。TLB的作用和与主存与CPU之间的cache作用相似,通常由相联存储器实现,容量比慢表小得多,存储慢表中部分信息的副本,可以完成硬件高速检索操作。地址转换时,根据逻辑页号同时查快表和慢表,当在快表中有此逻辑号时,就能很快地找到对应的物理页号。根据程序的局部性原理,多数虚拟存储器访问都将通过TLB进行,从而有效降低访存的时间延迟。由于TLB的缓冲过程与cache的缓冲过程是独立的,所以在每次存储器访问过程中有可能要经历多次变换。

;
阅读全文

与计算机组成原理回写有什么用相关的资料

热点内容
大狗用什么牌子的饮水机好 浏览:39
回用泵轮换时间间隔设置 浏览:632
丙烯酸树脂聚氨酯树脂 浏览:903
饮水机不放水怎么办 浏览:351
100级史诗提升计算器网页 浏览:810
湖南uv树脂 浏览:86
做饮品用什么净水器比较好 浏览:278
怎么拆卸反渗透膜 浏览:598
污水厂员工申请班长 浏览:785
污水处理有什么法规 浏览:580
华为手机怎么添加小米空气净化器 浏览:170
汇通反渗透膜真假 浏览:577
从废水污染 浏览:753
超滤膜耐酸 浏览:934
2吨的净水设备多少钱 浏览:332
反渗透膜清洗剂厂家直销 浏览:324
济南废水检测诚荐天一检测专业 浏览:978
十一从新疆回北京用隔离吗 浏览:595
vray的图像过滤器是干什么的 浏览:859
一个污水井包清工一般多少钱 浏览:546