计算机组成指的是系统结构的逻辑实现,包括机器机内的数据流和控制流的组成及逻辑设计等。计算机由什么组成的,有什么原理呢?下面yjbys小编为大家分析一下!
【计算机性能指标】
计算机的性能指标主要是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的运算器中特意设置若干运算结果缓冲寄存器,暂时保留运算结果,以便于后继指令直接使用,这称为“向前”或定向传送技术。控制相关冲突是由转移指令引起的。当执行转移指令时,依据转移条件的产生结果,可能为顺序取下条指令;也可能转移到新的目标地址取指令,从而使流水线发生断流。为了减小转移指令对流水线性能的影响,常采用以下两种转移处理技术:由编译程序重排指令序列来实现的延迟转移法、硬件方法来实现的转移预测法。