Computer组成原理功底,怎样去询问CPU

到60年代中期,随着集成电路的出现,计算机的功耗、体积、价格等不断下降,硬件功能不断增强,指令系统也越来越丰富。

主要通过这四个寄存器,CPU就可以和主存交换信息。//因为程序以及程序需要的数据都存在主存中。

  • 存储器

在这里我想到,很多同学并没有学习过数字逻辑这门课,简单介绍一下。我们高中物理就学过“与门”、“或门”和“非门”,也就是通过电路可以实现逻辑上的“与”、“或”和“非”运算。同时呢,有一个门叫做“与非门”,也就是A和B先做与运算,再做非运算取反。通过布尔代数的运算法则可以把所有“门”的运算都用“与非门”表示出来,也就是等价变换。这样我们就有了异或、同或、或非等各种门电路。

  • 软件的组成与分类

图片 1 执行步骤

解释:PC中存储着我们将要执行的指令的地址,将现行指令地址存入地址寄存器MAR,然后进行命令存储器读操作,现行指令从存储器中读到数据寄存器MDR中,再将现行指令从MDR送至指令寄存器IR,接下来就进行译码执行部分了,后面根据指令的操作码,由CU译码去执行。

  1. 字符表示:ASCII
  2. 汉字的输入:国标码、区位码、拼音码、五笔字型、机内码

在70年代,高级语言己成为大、中、小型机的主要程序设计语言,计算机应用日益普及。由于软件的发展超过了软件设计理论的发展,复杂的软件系统设计一直没有很好的理论指导,导致软件质量无法保证,从而出现了所谓的“软件危机”。人们认为,缩小机器指令系统与高级语言语义差距,为高级语言提供很多的支持,是缓解软件危机有效和可行的办法。计算机设计者们利用当时已经成熟的微程序技术和飞速发展的VLSI技术,增设各种各样的复杂的、面向高级语言的指令,使指令系统越来越庞大。这是几十年来人们在设计计算机时,保证和提高指令系统有效性方面传统的想法和作法。

操作控制,产生完成每条指令所需的控制命令。//根据指令的要求对硬件产生操作控制信号序列,通俗来讲,就是把指令转化为对硬件的直接操作。

  1. 操作码
  2. 操作数的地址
  3. 操作结果的存储地址
  4. 下一条指令的地址

一条指令就是机器语言的一个语句,它是一组有意义的二进制代码,指令的基本格式如:操作码字段+地址码字段,其中操作码指明了指令的操作性质及功能,地址码则给出了操作数或操作数的地址。

指令周期简单来讲,分为两个阶段:取指周期执行周期

小数点的位置不固定,是浮动的。

发展历程

数据加工,对数据进行算数运算和逻辑运算。//这里主要是靠ALU。

字符串占用主存中连续的多个字节,每个字节存储一个字符。

① CPU发出指令地址。将指令指针寄存器的内容——指令地址,经地址总线送入存储器的地址寄存器中。

MDR:存储器数据寄存器,用于存放数据。这些数据将要被存放到存储单元或者刚从存储单元中读出。

指令和数据存储:

图片 2简介

一、总述

  1. 只要增加少数几个校验位,并把数据的每一个二进制位分配在几个奇偶校验组中,当某一位出错后,就会引起有关的几个校验组的值发生变化,这不但可以发现错误,还能指出哪一位出错,为自动纠错提供了依据。

⑤ 按指令操作码执行。

By JackKing_defier

  1. 补码运算的优点:可将减法运算转化为加法运算,从而简化机器内部硬件电路的结构。
  2. 补码运算的特点:符号位和数值位一起参与运算,只要结果不发生溢出,得到的就是本次运算的结果。
  3. 补码的减法运算公式:[x]补-[y]补=[x+(-y)]补=[x]补+[-y]补
  4. 对一个数作取补的运算:对该数各位(含符号位)取反,然后在末位+1
  5. 补码性质:对[y]补 作取补运算得[-y]补;对[-y]补 作取补运算得[y]补。

② 从地址寄存器中读取指令。将读出的指令暂存于存储器的数据寄存器中。

CPU取出并执行一条指令所需的时间称为指令周期,也就是CPU完成一条指令的时间。

  1. 指令寻址
  2. 数据寻址

有效性

先从计算机的结构说起,在现代计算机中,CPU是核心,常常被比喻为人的大脑。现在的计算机都为“冯·诺依曼机”,“冯诺依曼机”的一个显著的特点就是由运算器、存储器、控制器、输入设备和输出设备组成。CPU是运算器和控制器合起来的统称,因为运算器和控制器在逻辑关系和电路结构上联系十分紧密,尤其在大规模集成电路制作工艺出现之后,所以这两个部件就集成在同一芯片上。

  1. 当两个端口同时存取存储器同一存储单元时,便发生读写冲突,为解决这个问题,特别设置了BUSY标志。在这种情况下:

一条指令的执行过程按时间顺序可分为以下几个步骤。

PC:程序计数器,存放现行指令的地址,有计数功能。//一般下一条指令地址就是PC+1,即为顺序执行。直接修改这个值就是转移类指令,跳转到其他位置继续执行。

整数部分:

⑥ 修改程序计数器的值,形成下一条要取指令的地址。若执行的是非转移指令,即顺序执行,则指令指针寄存器的内容加1,形成下一条要取指令的地址。指令指针寄存器也称为程序计数器。

取指令,控制器必须具备能自动地从存储器中取出指令的功能。

字符:ASCII码,7位+1位校验位,共128个,10个数字及2个英文字母大小写。

兼容性

ALU就是这样一个满足我们运算功能的部件。由于ALU功能很多,你可以理解为能做各种基本算术运算和基本逻辑运算。

  1. 原码表示法:原码=符号+绝对值
  2. 真值0:根据原码的定义,小数0的原码有正负两种形式。
  3. 原码表示的特点:数的真值与它的原码之间的对应关系简单、直观、转换容易,但用原码实现加、减运算很不方便。
  4. 补码表示法:正数等于原码;负数,按位求反再+1。
  5. 真值零的补码是唯一的。
  6. 补码表示的特点:由于零有唯一的编码,因此,n位二进制数能表示2^n个补码,采用补码表示比用原码表示可多表示一个数。补码在机器中常用于作加、减运算。
  7. 反码表示法:正数等于原码;负数将原码按位取反。
  8. 真值零:用反码表示时,正数全0,负数全1。

指用汇编语言编写各种程序时,指令系统直接提供的指令足够使用,而不必用软件来实现。完备性要求指令系统丰富、功能齐全、使用方便。

五、CPU的结构

  • 段页式虚拟存储器

③ 将指令送往指令寄存器。将指令从数据寄存器中取出,经数据总线送入控制器的指令寄存器中。

指令控制,控制程序的顺序执行。//程序运行时,指令一般是顺序执行的。

十进制转二进制

指令系统的性能决定了计算机的基本功能,它的设计直接关系到计算机的硬件结构和用户的需要。一个完善的指令系统应满足如下四方面的要求:

六、指令周期

容量(存储单元、存储单元地址、容量单位)

至少要能做到“向上兼容”,即低档机上运行的软件可以在高档机上运行。

上面一段话的内容也就是说:我们利用计算机做的所有操作,本质上都被还原成一个个指令。

MIPS表示每秒执行多少百万条指令

指令系统的发展经历了从简单到复杂的演变过程。早在20世纪50-60年代,计算机大多数采用分立元件的晶体管或电子管组成,其体积庞大,价格也很昂贵,因此计算机的硬件结构比较简单,所支持的指令系统也只有十几至几十条最基本的指令,而且寻址方式简单。

CPU主要由四大部分组成:ALU、CU、寄存器、中断系统。

  1. 应用CRC码的关键是如何从k位信息位简便地得到r位校验位(编码)的值,以及如何从k+r位信息码判断是否出错。
  2. CRC的编码方法:模2运算是指以按位模2相加为基础的四则运算,运算时不考虑进位和借位。
  3. 模2加减:即按位加,可用异或逻辑实现,模2加和模2减的结果相同,两个相同数据的模2和为0。

完备性

这里可以举例,CPU从主存中取指令的通路。/MM代表存储器/

按存取方式:随机/顺序存取

④ 指令译码。指令寄存器中的操作码部分送指令译码器,经译码器分析产生相应的操作控制信号,送往各个执行部件。

IR:指令寄存器,存放当前将要执行的指令。

Cache的命中率

是指利用该指令系统所编写的程序能够高效率地运行。高效率主要表现在程序占据存储空间小、执行速度快。

说到现在,你现在应该清楚CPU内部有一个专职做运算的部件ALU了,而且由电路就可以实现。用电路可以很方便地表达出二进制信息,比如高电平为“1”,低电平为“0”。CPU处理的数据都为二进制,可以通过原码、反码和补码完成加减乘除运算,这样就把一切运算通过电路实现。

  1. 除二取余法
  2. 减权定位法

包括指令系统的对称性、匀齐性、指令格式和数据格式的一致性。对称性是指:在指令系统中所有的寄存器和存储器单元都可同等对待,所有的指令都可使用各种寻址方式;匀齐性是指:一种操作性质的指令可以支持各种数据类型;指令格式和数据格式的一致性是指:指令长度和数据长度有一定的关系,以方便处理和存取。

通过若干个输入的信号通过各种门电路之后会产生一个或多个结果,满足我们需要的功能。比如加法器、移位器、触发器、寄存器、译码器。

  1. 输入程序和数据。
  2. 程序首地址。(程序计数器PC)
  3. 启动运行程序
  4. 取指令(PC-地址寄存器MAR-读内存M-地址寄存器MDR-指令寄存器IR)
  5. 分析指令OP(IR)-CU
  6. 执行指令Ad(IR)-MAR-M-MDR-运算器ACC,之后取指令PC+1
  7. 。。。
  8. 打印结果
  9. 停机

性能要求

在第二小节中,我说了CPU的运算,这一段主要阐述CPU的控制。CPU的实质包含运算器和控制器两部分。对于冯·诺依曼结构的计算机来说,一旦程序放入存储器后,就可以通过计算机自动完成取指令和分析指令的任务,控制器就是专门做这个工作的。它负责协调并且控制计算机各部件执行程序的指令序列,其基本功能是取指令、分析指令和执行指令。

  1. 假设页表已调入主存储器中,在访问存储器时,先访问一次主存去查页表,再访问主存才能取得数据,这就相当于主存速度降低了一倍。
  2. 因此,把页表的最活跃的部分放在快速存储器中组成快表,这是减少时间开销的一种方法。
  3. 快表由硬件组成,通常称为转换旁路缓冲器,它是慢表的小小副本。

规整性

根据上文的内容,可以得出CPU必须有的功能:

  1. 给定的芯片字长位数较短,不满足设计要求的存储器字长,此时需要用多片给定芯片扩展字长位数。
  2. 三组信号线中,地址线和控制线公用而数据线单独分开连接。
  3. 所需芯片数量d=设计要求的存储器容量/选择芯片存储器容量

指令系统是指计算机所能执行的全部指令的集合,它描述了计算机内全部的控制信息和“逻辑判断”能力。不同计算机的指令系统包含的指令种类和数目也不同。一般均包含算术运算型、逻辑运算型、数据传送型、判定和控制型、移位操作型、位操作型、输入和输出型等指令。指令系统是表征一台计算机性能的重要因素,它的格式与功能不仅直接影响到机器的硬件结构,而且也直接影响到系统软件,影响到机器的适用范围。

这里要提到一个比较重要的概念:中断

直接映射方式(一对多):

除此之外,控制器还有其它控制的功能,全部罗列会让人头大。简短地讲,就是控制!

  • 非数值数据的表示

我回顾了一下,我貌似就是把这本教材极致简化了,很多都是一笔带过,我真是不敢写多,一是太细了怕你绕,二是写多了就成抄书给你看了。

  • 多模块交叉存储器

MAR:存储器地址寄存器,用于存放将要被访问的存储单元的地址。

字位扩展

根据前面提到的CPU必须有的功能,要取指令,必须有一个寄存器专用存放当前指令的地址,告诉你从哪里取出现在需要执行的指令;要分析指令,必须有存放当前指令的寄存器和对指令操作码进行译码的部件,即为分析出这一个指令对应着什么操作,需要干什么;要执行指令,必须有一个能够发出各种操作命令序列的控制部件CU;要完成算术运算和逻辑运算,必须要有存放操作数的寄存器和实现运算的部件ALU;为了处理一些异常情况和特殊请求,还需要有中断系统。

  • TLB(快表)

CPU部件之间传输数据也是依靠总线,总线扩展也很多,你可以简单理解为传输数据。

定点数的移位运算

你就可以理解为一点,CPU对时间把控的很紧,一切按照时间步骤来。

一直反码求真值:

指令存储在存储器中,也就是我们平常说的内存。

  • 运算器的结构

四、CPU的控制器

  1. 将补码的符号位求反。

处理中断,//即为CPU被打断的操作,后面会提到中断,在CPU也是挺重要的一个概念。

图片 3

在周期这一块有很多划分和概念,比如机器周期,节拍周期等。不说太多,怕你绕。

海明码校验:

分析指令,第一,要分析完成什么操作,即为控制器需要发出什么样的操作命令;第二要分析参与这次操作的操作数的有效地址。

  1. 参加运算的数都用补码表示。
  2. 数据的符号与数据一样参加运算。
  3. 求差时将减数取补,用加法代替减法。
  4. 运算结果为补码。
  5. 符号位的进位丢掉。

中断比较好理解,就是CPU执行过程中被打断。这里面讲太细了就太多了。我可以用我的语言通俗地让你理解一下:这就好比你去网吧上网,是按照时间计费的,这个时间可以理解为指令周期。在你还正玩着的时候,有人不小心把网线拔了,你就得中断,你得去把网线插好继续玩。这里面就涉及到你得保留之前的位置,不要被别人占了,游戏不退出,让你能够在处理完之后还能继续玩。由于你也比较喜欢玩这个游戏,一般的事情是叫不动你的,这时候哥们叫你去打球,你就说正忙着呢,打完游戏再去打球。这个就说明有个优先级排序,打球的优先级不如玩游戏,所以你屏蔽掉了这个可以干扰你的中断,继续你目前的操作,去玩游戏。

逻辑结构

取指令:PC–>MAR–>MM–>MDR–>IR

设计主要围绕ALU、寄存器、数据总线之间如何传送操作数和运算结果进行。

执行指令,这一阶段就是根据分析指令产生的“操作命令”和“操作数地址”的要求,形成操作控制信号序列(不同的指令有不同的操作控制信号序列),通过对运算器、存储器以及I/O设备的操作,执行每一条指令。

  1. 特点:速度快的存储器价格贵、容量小;价格低的存储器速度慢、容量大。
  2. 存储器三个主要特性的关系:

因为在CPU中也会被各种情况打断,可以软件调控的就按照规矩来了,如果是断电什么的,那就是不可操作的了。

  • 闪速存储器

二、CPU的运算

  • 存储器与CPU的连接&存储器容量的扩充

三、指令系统

数的浮点表示法

在数字逻辑中学到,寄存器就可以存放二进制信息。CPU中一些主要的寄存器和它们的功能:

  1. CPU将要访问的信息在Cache中的比率。
  2.  图片 4

ALU即为一个芯片,有相应的输入,会给出相应的输出,由逻辑运算功能表可确定不同针脚会有的相应的运算输出。//这里可以类比于数字逻辑中的74LS138芯片,只不过74181给出的是相应输入的运算结果。

  1. 上溢:当一个浮点数规格化后的阶码大于机器最大阶码时,产生上溢,机器进行中断处理。
  2. 下溢:当一个浮点数规格化后的阶码小于机器码最小阶码,或尾数为0时,产生下溢,机器将该数当做零处理。

机器能做解题的运算是因为人们利用了机器语言,机器语言能被机器自身识别,同时也可以被人理解。机器语言是由一条条语句构成的,每一条语句有一定的含义。比如,它可以规定机器做什么操作,指出参与操作的数或其他信息在什么地方等。我们习惯把每一条机器语言的语句称为机器指令,全部机器指令系统的集合称为机器的指令系统。计算机的设计者主要研究如何确定机器的指令系统,如何用硬件电路、芯片、设备来实现机器指令系统的功能。计算机使用者则是依据指令系统,使用汇编语言来编制各种程序。

溢出问题:

控制单元CU提供微操作命令序列,以完成计算机的全部指令操作。

  1. LFU(最近不经常使用):被访问的行计数器增加1,换值小的行,不能反映近期Cache的访问情况。
  2. LRU(近期最少使用):被访问的行计数器置0,其他的计数器增加1,换值大的行,符合Cache的工作原理。
  3. 随机替换:随机替换策略从特定的行位置中随机地选择去一行换出即可。

首先说明一下,本文内容主要是简单说明CPU的大致原理,所需要的前提知识我会提出,但是由于篇幅我不会再详细讲解需要的其他基础知识。默认学过工科基础课。

字符与字符串:

指令是由操作码和地址码组成的。也就是分为不同的字段。操作码来指明要进行的操作,地址码来指出该指令的源操作数的地址、结果的地址以及下一条指令的地址。(这里又涉及到指令的格式,指令以及数据的寻址方式等,容易绕而且限于篇幅,略)一条指令包含的信息:它是干什么的,它需要的参数在哪里。

  • 数制与编码

了解CPU怎么工作就转化为了解运算器和控制器的作用和功能。

机器数:在机器中使用的连同数符一起数值化的数

时间控制,对各种操作加以时间上的控制。//计算机的操作对时间比较敏感,后面会提到周期的概念。

有冲突读写控制

运算器由ALU(算术逻辑单元)和若干通用寄存器组成。//寄存器需要数字逻辑知识

无冲突读写控制

七、FINAL

  • 编程语言

大多数情况下,CPU就是“取指–执行–取指–执行·······”的顺序自动工作。刚才提到过取指令的通路,所有的指令取指令都是这个通路,所以取指周期都相同。根据指令情况,执行周期长短不一,有的甚至没有,直接就是转移指令。

按存储器系统中的作用:主/辅/缓/控

给一个非计算机专业同学的科普文~

一个主存储器所能存储的全部信息量称为主存容量。

这里面有很多我都没细说,细说肯定扯不完,因为我一开始写就发现,这其中各个部分都是有联系的。我不可能只说一部分,所以基本就把计算机组成原理都说了一下,CPU是计算机的核心,CPU是怎么工作的,详细内容还是来自《计算机组成原理》。

表示法:

字存储容量扩展

  • 虚拟存储器
  • 运算器
  1. 操作系统的形成和发展使程序员摆脱了主存和辅存之间的地址人工定位,通过软件、硬件结合,把主存和辅存统一成了一个整体,形成了一个存储层次。
  2. 从整体看,其速度接近于主存的速度,其容量接近于辅存的容量,而每位平均价格也接近于廉价的慢速的辅存平均价格。
  3. 这种系统不断发展和完善,就逐步形成了现在广泛使用的虚拟存储系统。
  1. 奇偶校验码。
  2. 海明校验码。
  3. 循环冗余校验码(CRC码)
  • 页式虚拟存储器
  1. 高字节地址:高位字符。
  2. 低字节地址:低位字符。

根据小数点的位置是否固定,又可分为定点表示和浮点表示。

校验码:

  • 计算机工作全过程

移码:

指令和程序:指令的形式(操作码和地址码、存储程序的概念、指令中程序和数据的存放、指令系统)

  1. 功能:解决CPU和主存之间的速度不匹配问题

真值:正、负号加绝对值。

  1. 按权展开法:先写成多项式,然后计算十进制结果。

存储数据和程序(指令)

3种有符号数的表示方法:原码、补码、反码。

补码加、减法运算规则

寻址方式:确定本条指令的操作数地址及下一条欲执行指令的指令地址。

扩展操作码指令格式:操作码长度可变,且分散的放在指令字的不同字段中,操作码长度不固定将增加指令译码和分析的难度,使控制器的设计复杂化,因此对操作码的编码至关重要。

  1. 以字节数来表示存储容量。
  2. 也可以用字数乘以字长来表示存储容量。

基本原理

指令的基本格式

  1. 最底层:微程序设计级
  2. 机器级
  3. 操作系统级
  4. 汇编语言级
  5. 高级语言级

数据校验码:是一种常用的带有发现某些错误或自动改错能力的数据编码方法。

CPI:是指每条指令执行所用的时钟周期数。

  • 段式虚拟存储器

由于Cache的内容只是主存部分内容的拷贝,它应当与主存内容保持一致,而CPU对Cache的写入更改了Cache的内容。

按信息的可保存性:永久/非永久

  1. 字存储单元:存放一个机器字的存储单元,相应的单元地址叫字地址。
  2. 字节存储单元:存放一个字节的单元,相应的地址称为字节地址。
  3. 存储容量:指一个存储器中可以容纳的存储单元总数。存储容量越大,能存储的信息就越多。
  4. 存储器带宽:单位时间内,存储器所存取的信息量,通常以位/秒或字节/秒 做度量单位。
  5. 存取时间:又称存储器访问时间:指一次读操作命令发出到该操作完成,将数据读出到数据总线上所经历的时间。通常取写操作时间等于读操作时间,故称为存储器存取时间。
  6. 存储周期:指连续启动两次读操作所需要的最小时间间隔。通常,存储周期略大于存取时间,其实践单位为ns

CPU主频:又称为时钟频率,表示在CPU内数字脉冲信号振荡的速度。

二地址指令:第一个源操作数的存储器地址和寄存器地址,第二个源操作数和存放操作结果的存储器地址或寄存器地址。

小数部分:

循环冗余校验(CRC)码

  1. 静态读写存储器(SRAM):由双稳态管做存储元件,不掉电的前提下,信息不会丢失,存取速度快,但不宜构造大容量存储器。
  2. 动态读写存储器(DRAM):由电容做存储元件,即使不掉电也需要通过刷新保持所存储的信息,存取速度慢,易构造较大容量存储器。

DRAM存储器的存储位元是由一个MOS晶体管和电容器组成的记忆电路。

分类内存(ROM、RAM)、外存

  • 相联存储器

机器字节是指参与运算的数的基本位数,它是由加法器、寄存器的位数决定的。

应用软件

  • 冯·诺依曼型计算机
  1. 单总线结构运算器
  2. 双总线结构运算器
  3. 三总线结构运算器

原则2:当真值为正数,原码、补码和反码的表示形式均相同,即符号位用“0”表示,数值部分与真值相同。

  • 半导体随机存取存储器(RAM)
  1. 两个符号相同的数相加,其运算结果的符号应与被加数符号、加数符号相同,如相反就出现溢出现象。
  2. 异号相加不会出现溢出。
  3. 两个符号相异的数相减,其运算结果的符号位应与被减数的符号相同,如相反则有溢出发生。
  4. 同符号数相减不会出现溢出。

定点补码加、减法与溢出

  • 片上的判断逻辑可以决定对哪个端口优先进行读写操作。
  • 而对另一个被延迟的端口置BUSY标志(BUSY变为低电平)。暂时关闭此端口。

数据总线一次所能并行传送信息的位数,称为数据通路宽度。

  1. 数值部分:补码是原码的每位求反再+1。
  2. 数值部分:反码是原码的每位求反。
  3. 所谓的每位求反均不包括符号位,只是对数值部分进行求反,且原码除了符号位为“1”,数值部分与真值相同。
  • 计算机组成
  1. 立即寻址
  2. 直接寻址
  3. 隐含寻址(操作数地址隐含在操作码中)
  4. 间接寻址EA=(A)
  5. 寄存器寻址
  6. 寄存器间接寻址
  7. 基址寻址
  8. 相对寻址
  9. 堆栈寻址
  • 指令系统
  1. 操作系统。
  2. 分布式系统软件。
  1. 双符号位法(变形补码法)
  2. 进位判断法
  • Cache存储器

图片 5

CRC码可以发现并纠正信息串行读写、存储或传送过程中出现的一位、多位错误,因此在磁介质存储器读写和计算机之间通信方面得到广泛应用。

  1. 是一种开销最小,能发现数据代码中一位出错情况的编码。
  2. 实现原理:是使原来合法编码码距由1增加到2.
  3. 实现的具体方法:通常是为一个字节补充一个二进制位,称为校验位,通过设置校验位的值0或1的方式,使字节自身的8位和该校验位含有1值的位数一定为奇数或偶数。
  4. 在使用奇数个1的方案进行校验时,称为奇校验;反之是偶校验。
  5. 奇偶校验只能发现一位错或奇数个位出错,但不能确定是哪一位错。

定长操作码指令格式:操作码的长度决定了指令系统中完成不同操作的指令条数。若操作码长度为k位,最多只能有2^k条不同指令。

一地址指令:操作数的存储地址或寄存器名,指令只给出一个地址,该地址既是操作数的地址,又是操作结果的存储地址。

操作码用来表示该指令要完成的操作。

有效地址:操作数的真实地址称为有效地址,记作EA

  • 软件与硬件逻辑等价

根据信息存储的机理不同可以分为两类:

  1. 计算机系统由硬件和软件组成。
  2. 软件分为系统软件和应用软件。
  3. 硬件如图
  1. 控制器:操作控制功能。
  2. 运算器:计算功能。
  3. 存储器:记忆功能。
  4. 输入设备:交互接口、入。
  5. 输出设备:交互接口、出。

CRC码一般是指k位信息码之后拼接r位校验码。

常见的寻址方式:

通常是在指令字中用一个固定长度的字段来表示基本操作码,而对于一部分不需要某个地址码的指令,把他们的操作码扩充到该地址码字段。

系统软件:

  1. 有运算器、控制器、存储器、输入设备、输出设备组成。
  2. 采用存储程序的方式。
  3. 数据以二进制码表示。
  4. 指令由操作码和地址码组成。
  5. 指令在存储器中按执行顺序存放,有PC指明要执行的指令的单元地址,一般按顺序递增。
  6. 机器以运算器为中心。
  1. 实际存储器往往需要字向和位向同时扩充。
  2. 一个存储器的容量为M*N位,若使用L*K位存储器芯片,那么,这个存储器共需要(M/L)*(N/K)个存储器芯片。
  1. 顺序方式
  2. 交叉方式。
  1. 在段页式虚拟存储器中,把程序按逻辑结构分段以后,再把每段分成固定的页。
  2. 程序对主存的调入调出是按页面进行的,但他又可以按照实现共享和保护。
  3. 因此,它可以兼取页式和段式系统的优点。
  4. 缺点是在地址映射过程中需要多次查表。
  5. 在这种系统中,虚拟地址转换成物理地址是通过一个段表和一组页表来进行定位的。
  • 存储相关概念

定点加、减法运算

  1. 当两个端口的地址不相同时,在两个端口上进行读写操作,一定不会发生冲突。
  2. 当任一端口被选中驱动时,就可对整个存储器进行存取,每一个端口都有自己的片选控制(CE)和输出驱动控制(OE)。
  3. 读操作时,端口的OE(低电平有效)打开输出驱动器,有存储矩阵读出的数据就出现在I/O线上。

原则1:3种机器数的最高位均为符号位,符号位和数值部分之间可用“.”或“,”隔开。

响应时间:是指系统对请求作出相应的时间,响应时间包括CPU时间、等待时间的总和。

当真值为负数,原码、补码、反码的符号位是“1”

  1. 2^10byte=1K
  2. 2^10K=1M
  3. 2^10M=1G
  4. 2^10G=1T
  1. FLASH存储器也可读作闪速存储器,它是高密度非失易失性的读/写存储器。
  2. 高密度意味着他具有巨大比特数目的存储容量。
  3. 非易失性意味着存放的数据在没有电源的情况下可以长期保存。
  4. 总之,它既有RAM的优点,又有ROM的优点,称得上是存储技术划时代的进展。
  1. 双端口存储器由于同一个存储器具有两组相互独立的读写控制电路而得名。
  2. 由于进行并行的独立操作,因而是一种高速工作的存储器,在科研和工程中非常有用。

多地址指令:大、中型机甚至高档小型机中,往往设置一些功能很强的,用于处理成批数据的指令,如字符串处理指令,向量、矩阵运算指令等。

指令的寻址方式:

分类:

三种结构形式:

  1. 除二取整法
  • 替换策略
  • 控制器

基本原理:加进一些冗余码,使合法数据编码出现某些错误时,就成为非法编码。

已知补码求真值:

  1. 正数:反码即真值。
  2. 负数:对负数的反码求反,再配以符号即真值。
  • 计数制

映射方法(多对多):主存块内容可以拷贝到Cache的任意行

  • 存储器的分级结构
  • 写操作策略

吞吐量:是指系统在单位时间内处理请求的数量。

  1. 左移:绝对值扩大
  2. 右移:绝对值缩小
  3. 带符号数的移位称为算数移位。
  4. 无符号数的移位称为逻辑移位。

SRAM存储器的存储位元是一个触发器,它具有两个稳定的状态。

  • 一般采用高速的SRAM构成。
  • CPU和主存之间的速度差别很大采用两级或多级Cache系统。
  • 早期的一级Cache在CPU内,二级在主板上。
  • 现在的CPU内带L1 Cache和L2 Cache
  • 全由硬件调度,对用户透明。
  • Cache的设计依据:CPU这次访问过的数据,下次有很大的可能也访问附近的数据,局部性原则。
  • CPU和Cache之间的数据传送是以块为单位。
  • CPU读主存时,便把地址同时送给Cache和主存,Cache控制逻辑依据地址判断此字是否在Cache中,若在此字立即传送给CPU,否则,则用主存读周期把此字从主存读出送到CPU,与此同时,把含有这个字的整个数据块从主存读出送到Cache
  1. 无符号数:指整个机器字长的全部二进制位均为数值位。没有符号位,相当于数的绝对值。若机器字长为8位,则数的表示范围是0~2^8-1,即0~255。
  2. 有符号数:需要将其符号数字化,即0为正,1为负。
  • 多级计算机系统

三地址指令:第一个源操作数的存储器地址或寄存器地址,第二个源操作数的存储器地址或寄存器地址,操作结果的存储器地址或寄存器地址。

  1. 手编程序:机器语言程序,手工编译二进制码。
  2. 汇编程序:符号语言程序,汇编程序汇编。
  3. 高级程序:算法语言/高级语言,机器编码程序/解释程序。
  • 数的定点表示
  • 存储器的分类:

如何与主存内容保持一致,可选用如下三种写操作策略:

零地址指令:只有操作码,没有地址码

存储器单位:

  1. 优点:比较电路少m倍线路,所以硬件实现简单,Cache地址为主存地址的低几位,不需变换。
  2. 缺点:冲突概率高(抖动)。
  3. 应用场合:适合大容量Cache

按读写功能:ROM、RAM

全相联的映射方式

一条指令实际上包括两种信息,即操作码和地址码。

溢出判断法:

计算机中小数的小数点并不是用某个数字来表示的,而是用隐含的小数点的位置来表示的。

R进制转换成十进制的方法

  1. MIPS=指令条数/执行时间*10^6=主频/CPI=主频*IPC
  2. MFLOPS表示每秒执行多少百万次浮点运算

一条指令中必须包含以下信息

CPI参数经常用IPC表示,即每个时钟周期执行的指令数。

原则:

  1. 正数:补码即真值。
  2. 负数:求反+1,再配以符号,即真值。
  • 计算机性能指标

地址码用来描述该指令的操作对象。

奇偶校验码:

刷新操作

按存储介质:磁表面/半导体存储器

主频的倒数就是CPU时钟周期,这是CPU中最小的时间元素。每个动作至少需要一个时钟周期。

二进制转十六进制(查表)

  1. 集中式刷新:DRAM的所有行在每一个刷新周期的连续时间内都被刷新。
  2. 分散式刷新:每一行的刷新插入到正常的读/写周期之中,在刷新周期内分散进行
  1. 字扩展指的是增加存储器中字的数量。静态存储器进行字扩展时,将个芯片的地址线、数据线、读写控制线相应并联,而由片选信号区分个芯片的地址范围。
  2. 所需芯片数d=设计要求的存储器容量/选择芯片存储器容量
  1. 在页式虚拟存储系统中,把虚拟空间分成页,称为虚页或逻辑页,主存空间也分为同样大小的页,称为实页或物理页。
  2. 把虚拟地址分为两个字段,高位字段为虚页号,低位字段为页内字 地址。
  3. 虚页地址到主存实地址的变换是由页表来实现的。

位扩展

  • 数字计算机的基本组成
  1. 算数运算和逻辑运算。
  2. 在计算机中参与运算的数是二进制的。
  3. 运算器的长度一般是8、16、32、64位

码距:是根据任意两个合法码之间至少有几个二进制位不相同而确定的,若仅有一位不同,称其码距为1。

  1. 写回法:换出时,对行的修改位进行判断,决定是写回还是舍掉。
  2. 全写法:写命中时,Cache与内存一起写。
  3. 写一次法:与写回法一致,但是第一次Cache命中时写入主存。
  1. 原理:按内容存取的存储器,可以选择记录(关键字)的一个字段作为地址。
  2. 主要用途:在虚拟存储器中存放段表、页表、块表,也可以做Cache的行地址。

定点小数:把小数点固定在符号位d0之后,数值最高位d-1之前。

  1. 计算机系统的软、硬件界限已经变得模糊。
  2. 任何操作可由软件来实现也可以有硬件来实现。
  3. 固件的概念(功能上是软件,形态上是硬件)

二进制转八进制(查表)

刷新周期:DRAM存储位元是基于电容器上的电荷量存储,这个电荷量随着时间和温度而减少,因此必须定期的刷新,以保持他们原来记忆的正确信息。

判断溢出的方法:

  1. RAM:静态RAM(SRAM)、动态RAM(DRAM)
  2. ROM:ROM/PROM/EPROM/EEPROM

一个由若干个模块组成的主存储器是线性编址的。这些地址在各模块中如何安排,有两种方式:

定点整数:将小数点固定在数的最低位置后,这就是定点整数形式。

  • 双端口存储器
  1. 段是按照程序的逻辑结构划分的,各个段的长度因程序而异。
  2. 虚地址由段号和段内地址组成。段式虚拟存储器通过段表实现。
  1. 控制器的基本任务:按照一定的顺序一条接着一条取指令、指令译码、执行指令。取指周期和执行周期。
  2. 控制器完全可以区分开哪些是指令字,哪些是数据字。
  3. 一般来讲,取指周期中从内存读出的信息流是指令流,他流向控制器。
  4. 在执行周期中从内存读出的信息流是数据流,它由内存流向运算器。
  1. 地址变换:标记实际上构成了一个目录
  2. 优点:冲突概率小,Cache的利用率
  3. 缺点:比较器难实现,需要一个访问速度很快的相联存储器
  4. 应用场合:适用于小容量的Cache

本文由王中王开奖直播现场发布于中王全年开奖码,转载请注明出处:Computer组成原理功底,怎样去询问CPU

您可能还会对下面的文章感兴趣: