游戏攻略 | 2024年05月13日 14:03:37 | 阅读:4984
本文目录
1、CPU的结构和工作原理。CPU的结构主要由运算器、控制器、寄存器三大块组成。
2、①运算器就是中央机构里负责执行任务的部门,也就是专门干活的;而控制器就是中央机构的领导小组,针对不同需要,给运算器下达不同的命令;寄存器可以理解为控制器和运算器之间的联络小组,主要工作就是协调控制器和运算器。
1、取指令:CPU的控制器从内存读取一条指令并放入指令寄存器。指令的格式一般是这个样子滴:操作码就是汇编语言里的mov,add,jmp等符号码;操作数地址说明该指令需要的操作数所在的地方,是在内存里还是在CPU的内部寄存器里。
2、指令译码(解码):指令寄存器中的指令经过译码,决定该指令应进行何种操作(就是指令里的操作码)、操作数在哪里(操作数的地址)。
3、执行指令(写回),以一定格式将执行阶段的结果简单的写回。运算结果经常被写进CPU内部的暂存器,以供随后指令快速存取。
4、修改指令计数器,决定下一条指令的地址。
英文Processinginstructions;这是指控制程序中指令的执行顺序。程序中的各指令之间是有严格顺序的,必须严格按程序规定的顺序执行,才能保证计算机系统工作的正确性。
英文Performanaction;一条指令的功能往往是由计算机中的部件执行一系列的操作来实现的。CPU要根据指令的功能,产生相应的操作控制信号,发给相应的部件,从而控制这
1、CPU是由晶体管组合而成的。简单而言,晶体管就是微型电子电子开关,它们是构建CPU的基石,你可以把一个晶体管当作一个电灯开关,它们有个操作位,分别代表两种状态:ON(开)和OFF(关)。
2、这一开一关就相等于晶体管的连通与断开,而这两种状态正好与二进制中的基础状态“0”和“1”对应!这样,CPU就具备了处理信息的能力。即“0”和“1”两种状态的计算。
对于没有硬件和电子相关知识的人来说,“计算机到底为什么能工作”这个问题确实比较深奥。
首先你需要明白计算机的CPU实际上和汽车的引擎是一个道理,只不过一个是机械的,一个是电子的。它们在飞速运转中遵循某些固定的状态,外界通过对其输入的控制来产生输出。对于CPU来说,带动其运转的东西叫“时钟”。时钟在0和1之间按特定频率变换,由此同步各个电路组件的状态变化,以便输出正确的值。(有些人没事儿就喜欢超频,说白了就是在加快这个时钟的变换频率。)时钟和寄存器有关,但是为了不跑题,我就不具体解释了。
为了便于理解,我们在此问题中只讨论MIPS架构的CPU。
首先,指令【instruction】由更上层的编程语言(比如C)编译而来,它在内存中是许多串由0和1组成的数列,本身代表的就是电路通断,不用再次进行编译。
由于早期的MIPS是基于“精简指令集”的32位计算机架构,因此每条指令长度一样,都是32位的,每条指令都是32个“0和1”。我们日常使用的CPU(比如酷睿i7)并不基于“精简指令集”,而是基于“复杂指令集”。它们所用的指令长度并不一样,因此它们的电路设计更加复杂,但基本原理还是一样的,同样是一堆“0和1”。
add$1$2$3这条指令在内存中应该长什么样?
000000|00010|00011|00001|00000|100000
这些0和1用竖线隔开后,每一块都用来控制不同的电路部件。
比如RsRt和Rd代表的是这次运算所需要的三个寄存器,
寄存器是比内存还要快许多,可以理解为计算机中最基本的储蓄部件(算完了您得就近找个地儿搁啊)
再比如funct指的是算术逻辑单元【ArithmeticLogicUnit】所进行的相关操作,100000对于算术逻辑单元,代表的是“加”。
因此,如果把00000000010000110000100000100000翻译成人话,是这个意思:
“将寄存器$2和寄存器$3的数进行相加,并把结果存入寄存器$1”
至于“它如何控制某个晶体管的通断状态”,
首先,电路中这些所需的部件,都是由晶体管所组成的。
比如,上面提到的算术逻辑单元【ALU】:
这是某个ALU的门级电路,尽管这不是MIPS所用到的ALU,但他们类似。
A和B是输入,Result是计算结果输出,Carry-out是进位输出。由于这部分电路不含任何寄存器,我们忽略电路做出反应所需要的时间,并且默认电路的输出会随着输入的改变而立即改变。
你可以看到ALUOpcode,这就是上文提到的funct,你输入三位不同的控制信号,它会进行不同的操作。比如ALUOpcode=000在这里代表将A和B相加。
电路中的逻辑门实现了程序中最基本的布尔逻辑,相信大家对最基本的编程都有一点了解。
举个比较笼统的例子,你在C语言中写了这么几行:
//判断变量x是否是100和30中间的一个数,&&(and)表示同时满足两个条件,and就是布尔逻辑的一种。
if((x<100)&&(x>30)){
那么这个“同时满足”到底应该由CPU的什么东西来判断?
答案是某种逻辑门或几种逻辑门的组合。
因此,我们再进一步放大,看这个ALU中的逻辑部件之一:与门【ANDgate】
简而言之,与门可以用来对比两个输入。因为对于它来说,只有当输入的A和B都为高电平(1)时,输出才会是高电平(1),否则输出低电平(0)。
最后,这个与门,其实是由
晶体管
相关文章
网友点评
博博常识网
www.kissing2lips.com