首页 > 其他分享 >计算机组成原理408第五章中央处理器知识点快速回顾二轮复习

计算机组成原理408第五章中央处理器知识点快速回顾二轮复习

时间:2024-09-25 13:49:27浏览次数:3  
标签:知识点 二轮 指令 当中 寄存器 执行 CPU 单元 408

CPU由运算器和控制器这样的两大部件来组成,


那么运算器由ACC累加寄存器,乘商寄存器,还有若干个通用寄存器以及算术逻辑单元alu来组成。


那除了这些寄存器,还有alu之外,还会有一些其他的重要的寄存器,我们在之前没有介绍过。
运算器主要负责对数据进行处理,也就是算术运算和逻辑运算,
那CPU的另一个重要的部件叫控制器。控制器由控制单元cu还有指令寄存器IR和程序计数器PC由这样的三个部分组成,那同样的,除了这三个部分之外。还会有一些其他的重要的寄存器。


在控制单元的指挥之下CPU会执行一系列的指令序列,每一条指令的执行可以分为取指令,
分析指令和执行指令这样的三个部分。

 



CPU工作的过程就是在执行一条一条指令的过程,
那程序计数器PC会指向下一条应该执行的指令。因此。每一次要执行一条指令之前CPU会把PC程序计数器所存储的指令存放地址把它传送到mar地址寄存器当中,然后主存会根据mar所指明的地址取出这一次要执行的指令。那么,这条指令会首先被放到mdr当中,接下来又从mdr传到指令寄存器IR当中。
经过这样的四个步骤就完成了取指令的一个过程。


并且每取出一条指令之后,PC都会自动的加一,指向下一条应该执行的指令,而当前需要执行的这条指令此时已经被放到IR指令寄存器当中了。
接下来,我们会把这个指令的操作码送到CU控制单元当中,然后控制单元可以根据操作码来判断这条指令是什么样的一条指令,接下来应该执行什么样的一些操作,那对于我们这儿的第一条指令来说,我们要执行的是一个取数的操作,因此接下来在控制单元的协调之下我们会从地址码所指向的这个地址当中取出相应的数据,
把它放到ACC累加寄存器当中。

具体的做法就是我们会把当前这条指令的地址码部分送到mar地址寄存器当中,接下来根据地址寄存器指明的地址去存储体当中找到相应的数据把它放到mdr当中。


现在已经取出我们想要的这个数了,然后再把这个数通过一个数据通路,把它从mdr放到ACC累加寄存器当中,这样就完成了一条指令的执行。
也就是这儿的六到九这几步。


那这是第一条指令取数指令的执行。我们把变量a放到了ACC累加寄存器当中,
而第二条要执行的是一个乘法指令。那前面几个步骤取指令和分析指令所需要做的事情都是一样的,


当控制单元CU检测到当前要执行的指令操作码是是一个乘法的操作码,那接下来要做的一些动作就和上一条取数指令不太一样。
 


总之,控制单元CU会根据当前要执行的是一条什么样的指令。根据这个操作码来决定接下来要完成的一系列微操作,这些一个一个的小步骤分别要做一些什么事情,
我们可以看到这些步骤都是一步一步顺序的进行的。
有的小步骤是完成了寄存器之间的一个数据的流动,有的步骤又需要把当前寄存器里已经存放好的操作数把它送给ALU和累加寄存器。

 

现在问题来了,控制单元cu是如何控制着这些部件之间的数据流动的呢?
除了数据在各个部件之间的流动之外CU又是如何确定我们每一步应该做一些什么事情的呢?

 


这一章内容的学习,分为这样的五个部分,
第一个部分介绍CPU的功能与结构。通过这个小部分的学习,我们也能够知道各个部件之间数据流动是如何控制的。
第二个部分会介绍指令执行的过程。之前的例子中,我们只介绍了取指令,分析指令和执行指令这几个步骤,
分别需要做一些什么事。但事实上,除了这些步骤之外,指令执行的过程当中还有一些细节也需要进行补充,
所以这是第二个部分。
而第三个部分我们会着重探讨数据通路的功能和基本结构。那所谓数据通路就是各个部件之间的数据流通如何实现,它们之间应该如何进行连线?另外,控制单元CU如何通过电信号来控制这些数据在各个路径之间的传输?这是第三个部分要探讨的问题。
第四个部分,是最难的一个部分,学习控制器如何指挥整个系统的工作,像之前我们提到的所需要的这些指挥的信号是如何发出的。
这一章的最后一个部分,我们要介绍指令流水线,也就是对指令执行过程的一个优化,
采用这种技术,我们可以让CPU执行指令的速度达到一个质的飞跃。

 

标签:知识点,二轮,指令,当中,寄存器,执行,CPU,单元,408
From: https://blog.csdn.net/qq_56249308/article/details/142452070

相关文章

  • AI大模型知识点梳理:大模型是什么?大模型发展历程、底层原理、优点和不足、如何学习大模
    一、AI大模型是什么AI大模型是指具有巨大参数量的深度学习模型,通常包含数十亿甚至数万亿个参数。这些模型可以通过学习大量的数据来提高预测能力,从而在自然语言处理、计算机视觉、自主驾驶等领域取得重要突破。AI大模型的定义具体可以根据参数规模来分类。根据OpenAI的分类方法,可以......
  • vue3开发中易遗漏的常见知识点
    组件样式的特性ScopedCSS之局部样式的泄露示例(vue3):父组件:<template><h4>AppTitle</h4><hello-world></hello-world></template><script>importHelloWorldfrom'./HelloWorld.vue';exportdefault{name:'App......
  • 2023CSP-J 普及组第二轮试题及解析( 第三题一元二次方程)
    参考程序代码:#include<bits/stdc++.h>usingnamespacestd;intt,m,a,b,c;intaa,bb,gd1,gd2;intgcd(inta,intb){ if(a%b==0)returnb; returngcd(b,a%b);}intmain(){ scanf("%d%d",&t,&m); while(t--) { scanf("%d%d%d"......
  • 408OS_PV操作大题总结
    咸鱼今年压了读者写者问题,前几年没考过。死锁的四个条件是:禁止抢占(nopreemption):系统资源不能被强制从一个线程中退出。持有和等待(holdandwait):一个线程在等待时持有并发资源。持有并发资源并还等待其它资源,也就是吃着碗里的望着锅里的。互斥(mutualexclusion):资源只能同时......
  • Vuex 和 Vue-router 知识点
    Vuexactions里面才能做异步操作(访问后端APIajax请求访问数据库中的数据)mutations原子操作,同步操作Vue-routermode:history路由配置该怎么配置就怎么配置route:[...]配置:path和component懒加载:component:对应一个函数,import导入这个组件。前面说过用import......
  • 16年408-数据结构
    第一题:解析:经过查表可知:a的链接地址是1010H,而1010H正是表中e所在的位置。由题可知f存放的位置是1014H,要将f链接在a和e的中间,则a后面要链接f,f后面要链接e,e的链接地址不变因此答案是1014H,1004H,1010H,答案选D第二题:解析:选D。p->next->prev:p的后一个节点的prev指针......
  • 13年408计算机考研-计算机网络
    第一题:解析:OSI体系结构OSI参考模型,由下至上依次是:物理层-数据链路层-网络层-运输层-会话层-表示层-应用层。A.对话管理显然属于会话层,B.数据格式转换,是表示层要解决的问题,很显然答案选B。C.路由选择,是属于网络层要解决的问题D.可靠数据传输,TCP协议使用的是有连接可靠的......
  • 15年408-数据结构
    第一题解析:栈第一次应该存main的信息。然后进入到main里面,要输出S(1),将S(1)存入栈内,进入到S(1)中,1>0,所以还要调用S(0)S(0)进入栈中,此时栈内从下至上依次是main(),S(1),S(0)答案选A第二题:解析:先序序列个数为0时,二叉树个数是1:先序序列个数为1时,二叉树个数是1:......
  • JavaScript 对象的基本操作及相关知识点详解
    在JavaScript中,对象是一种基本的数据结构,以键值对形式保存数据且数据没有顺序,它可以包含多种数据类型的属性和方法。1.创建对象的方法字面量写法: let自定义对象名={}构造函数写法:let自定义对象名=newObject();//字面量写法letperson={};//构造函数......
  • Python知识点:如何使用Python与Java进行互操作(Jython)
    开篇,先说一个好消息,截止到2025年1月1日前,翻到文末找到我,赠送定制版的开题报告和任务书,先到先得!过期不候!Jython是一种完全兼容Java的Python实现,它将Python代码编译成Java字节码,这样就可以在Java虚拟机(JVM)上运行。使用Jython,你可以无缝地调用Java类库和P......