计算机原理学习(1)-- 冯诺依曼体系和CPU工作原理

前言



对于我们80后来说,最早接触计算机应该是在95年左右,那个时候最流行的一个词语是多媒体。 依旧记得当时在同学家看同学输入几个DOS命令就成功的打开了一个游戏,当时实在是佩服的五体投地。因为对我来说,屏幕上的东西简直就是天书。有了计算机我们生活发生了巨大的变化,打游戏,上网,聊天,甚至到现在以此为业。有时无不感叹计算机的强大。


人类总是聪明的而又懒惰的。即便是1+1这种简单的计算都不想自己做,1623年Wilhelm Schickard 制作了一个能进行六位以内数加减法,并能通过铃声输出答案的"计算钟"。通过转动齿轮来进行操作。 这已经相当高端了,说起计算器,我们5000年文明古国在东汉末年就有记载了---算盘。

 

计算机的发展也是随着科技的发展经历了机械计算机、电子计算机、晶体管计算机、小规模集成电路和超大规模集成电路计算机。我们无意讨论整个计算机的发展过程,主要还是介绍基于冯诺依曼体系结构的现代计算机。

 

 

1. 计算机的发展



计算机的发展包括了硬件和软件的发展,硬件的发展为计算机提供了更快的处理速度,而软件的发展为用户提供了更好的体验。两者相辅相成,密不可分。

 

  • 第一阶段: 60年代中期以前,是计算机系统发展的早期时代。在这个时期通用硬件已经相当普遍,软件却是为每个具体应用而专门编写的,大多数人认为软件开发是无需预先计划的事情。这时的软件实际上就是规模较小的程序,程序的编写者和使用者往往是同一个(或同一组)人;

  • 第二阶段:从60年代中期到70年代中期,是计算机系统发展的第二代。在这10年中计算机技术有了很大进步。多道程序、多用户系统引入了人机交互的新概念,开创了计算机应用的新境界,使硬件和软件的配合上了一个新的层次;

  • 第三阶段:计算机系统发展的第三代从20世纪70年代中期开始,并且跨越了整整10年。在这10年中计算机技术又有了很大进步。分布式系统极大地增加亍计算机系统的复杂性,局域网、广域网、宽带数字通信以及对“即时”数据访问需求的增加,都对软件开发者提出了更高的要求;

  • 第四阶段:在计算机系统发展的第四代已经不再看重单台计算机和程序,人们感受到的是硬件和软件的综合效果。由复杂操作系统控制的强大的桌面机及局域网和广域网,与先进的应用软件相配合,已经成为当前的主流。计算机体系结构已迅速地从集中的主机环境转变成分布的客户机/服务器。




2. 计算机基本原理


 

Copy了点计算机的发展历史,现在可以来看看计算机的基本工作原理了。现代计算机,大部分都是基于冯诺依曼体系结构,而我们这里谈论的也是此问前提。冯诺依曼的核心是:存储程序,顺序执行。所以不管计算机如何发展,基本原理是相同的。计算机程序实际上是告诉计算机做什么。


 

2.1 冯诺依曼体系结构



冯诺依曼体系结构有以下特点:

  1. 计算机处理的数据和指令一律用二进制数表示;
  2. 指令和数据不加区别混合存储在同一个存储器中;
  3. 顺序执行程序的每一条指令;
  4. 计算机硬件由运算器、控制器、存储器、输入设备和输出设备五大部分组成。


冯诺依曼体系结构的计算机必须具有如下功能:

  • 把需要的程序和数据送至计算机中;
  • 必须具有长期记忆程序、数据、中间结果及最终运算结果的能力;
  • 能够完成各种算术、逻辑运算和数据传送等数据加工处理的能力;
  • 能够根据需要控制程序走向,并能根据指令控制机器的各部件协调操作;
  • 能够按照要求将处理结果输出给用户。



 

2.2 计算机工作原理



对于我们现代计算机来说,最关键的2个部件就是CPU和内存。内存存储了要执行的程序指令,而CPU就是用来执行这些指令。CPU首先要知道这些指定存放在存储器的那个区域,然后才能执行,并且把执行的结果写入到执行区域。

 


2.2.1 CPU指令和编程语言


在了解CPU和存储器工作原理之前,先来了解一下CPU指令和我们编程语言之间的一些关系。

 


2.2.1.1 CPU指令

因为在计算机中指令和数据都用二进制来表示,也就是说它只认识0和1这样的数字。最早期的计算机程序通过在纸带上打洞来人工操操作的方式来模拟0和1,根据不同的组合来完成一些操作。后来直接通过直0和1编程程序,这种称之为机器语言。这里就会有一个疑问,计算机怎么知道你这些组合的意思


于是就出现了CPU指令,我们现在买CPU都会听到指令集这一说。CPU指令其实就对应了我们这里说的0和1的一些组合。每款CPU在设计时就规定了一系列与其硬件电路相配合的指令系统。有了CPU指令集的文档你就可以通过这个编写CPU认识的机器代码了。所以对于不同CPU来说可能会有不同的机器码。比如下面我们就定义了一套我们CPU硬件电路可以完成的CPU指令。


 指令               格式                   说明
0001[address][register]读取存储取值到寄存器 
0010[register][address]写入寄存器的值到存储器
0011[register1][register2]加法操作


随着计算机的发展,CPU支持的指令也越来越多,功能也越来越强,上图就是现在Core I5处理器支持的指令集。

 


2.2.1.2 汇编语言


使用0和1这样的机器语言好处是CPU认识,可以直接执行,但是对于程序本身来说,没有可读性,难以维护,容易出错。所以就出现了汇编语言,它用助记符(代替操作码指令,用地址符号代替地址码。实际是对机器语言的一种映射,可读性高。


指令汇编指令格式说明
0001READ[addLable][regLab]读取存储取值到寄存器
0010WRITE[addLable][regLab]写入寄存器的值到存储器
0011ADD[var1][var2]加法操作

 

 

 

 


把汇编语言转换为机器语言需要一个叫做汇编器的工具。对于目前的CPU厂商,在推出的CPU指令时都会同时退出新的汇编器。如果你还在使用老版本的汇编器那么只能使用机器码来使用新的指令了。

 


2.2.1.3 高级语言


汇编语言的出现大大提高了编程效率,但是有一个问题就是不同CPU的指令集可能不同,这样就需要为不同的CPU编写不同的汇编程序。于是又出现了高级语言比如C,或者是后来的C++,JAVA,C#。 高级语言把多条汇编指令合成成为了一个表达式,并且去除了许多操作细节(比如堆栈操作,寄存器操作),而是以一种更直观的方式来编写程序,而面向对象的语言的出现使得程序编写更加符合我们的思维方式。我们不必把尽力放到低层的细节上,而更多的关注程序的本身的逻辑的实现。


对于高级语言来说需要一个编译器来完成高级语言到汇编语言的转换。所以对比不同的CPU结构,只需要有不同编译器和汇编器就能使得我们的程序在不同CPU上都能运行了。如下图在VS2010中,我们可以选择程序编译的目标平台,X86,X64,ARM等。当然除了这些编译类的语言之外还有解释类型的语言如JS,就不在此讨论范围内。


到这里有一个疑问:当CPU的指令集更新后高级语言会有什么影响和变化?对于目前来说,一般出现了新的指令,会有对应的新的汇编器和编译器。所以编译器可以把一些高级语言的表达式编译成新的汇编指令,这样对于高级来说不会有任何变化; 当然还有一种情况就是高级语言会增加新的语法来对应一些新的汇编语言和指令。但是这种情况出现的几率很小。所以如果编译器不支持新的指令,那么只有只用汇编会来实现了。

 


2.2.1.4 小结


从上面的我们可以看出,我们写的程序最终都将变成机器认识的二进制可执行程序,然后加载到内存顺序的执行。 从机器码到汇编到高级语言,我们可以看到计算机中无处不在的分层,抽象的思想。不光光是软件,硬件同样适用。最后留下一个问题在这里: C#和JAVA程序编译出来的文件不是二进制的机器码,而是中间语言,那么他们又是怎么运行的呢?

 


2.2.2 CPU工作原理


前面已经了解了现代计算机的大致结构,也知道CPU是按照CPU指令来执行操作,那么就看看CPU的结构和他是如何执行顺序操作的。



2.2.2.1 CPU功能
  1. 指令控制: 指令控制也称为程序的顺序控制,控制程序严格按照规定的顺序执行。
  2. 操作控制: 将取出的指令的产生一系列的控制信号(微指令),分别送往相应的部件,从而控制这些部件按指令的要求进行工作。
  3. 时间控制: 有些控制信号在时间上有严格的先后顺序,如读取存储器的数据,只有当地址线信号稳定以后,才能通过数据线将所需的数据读出,否则读出的数据是不正确的数据,这样计算机才能有条不紊地工作。
  4. 数据加工: 所谓数据加工,就是对数据进行算术运算和逻辑运算处理。 所谓数据加工,就是对数据进行算术运算和逻辑运算处理



2.2.2.2 CPU基本组成


以前CPU主要由运算器控制器两大部分组成,随着集成电路的发展,目前CPU芯片集成了一些其它逻辑功能部件来扩充CPU的功能,如浮点运算器、内存管理单元、cache和MMX等。下面2张图分别是8086和Pentium CPU的结构图。

 .

 

对于一个通用的CPU来说,我们只需要关注他的核心部件算数逻辑单元和操作控制单元

 


1. 控制器的组成和功能: 控制器由程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器组成。它是计算机指挥系统,完成计算机的指挥工作。尽管不同计算机的控制器结构上有很大的区别,当就其基本功能而言,具有如下功能: 

    • 取指令 从内存中取出当前指令,并生成下一条指令在内存中的地址。 
    • 分析指令 指令取出后,控制器还必须具有两种分析的功能。一是对指令进行译码或测试,并产生相应的操作控制信号,以便启动规定的动作。比如一次内存读/写操作,一个算术逻辑运算操作,或一个输入/输出操作。二是分析参与这次操作的各操作数所在的地址,即操作数的有效地址。 
    • 执行指令 控制器还必须具备执行指令的功能,指挥并控制CPU、内存和输入/输出设备之间数据流动的方向,完成指令的各种功能。 
    • 发出各种微操作命令 在指令执行过程中,要求控制器按照操作性质要求,发出各种相应的微操作命令,使相应的部件完成各种功能。 
    • 改变指令的执行顺序 在编程过程中,分支结构、循环结构等非顺序结构的引用可以大大提供编程的工作效率。控制器的这种功能可以根据指令执行后的结果,确定下一步是继续按原程序的顺序执行,还是改变原来的执行顺序,而转去执行其它的指令。 
    • 控制程序和数据的输入与结果输出 这实际也是一个人机对话的设计,通过编写程序,在适当的时候输入数据和输出程序的结果。 
    • 对异常情况和某些请求的处理 当计算机正在执行程序的过程中,发生了一些异常的情况,例如除法出错、溢出中断、键盘中断等。

2. 运算器的组成和功能: 运算器由算术逻辑单元(ALU)、累加寄存器、数据缓冲寄存器和状态条件寄存器组成,它是数据加工处理部件,完成计算机的各种算术和逻辑运算。相对控制器而言,运算器接受控制器的命令而进行动作,即运算器所进行的全部操作都是由控制器发出的控制信号来指挥的,所以它是执行部件。运算器有两个主要功能: 

  • 执行所有的算术运算,如加、减、乘、除等基本运算及附加运算;
  • 执行所有的逻辑运算,并进行逻辑测试,如与、或、非、零值测试或两个值的比较等。



2.2.2.3 CPU工作流程

CPU的基本工作是执行存储的指令序列,即程序。程序的执行过程实际上是不断地取出指令、分析指令、执行指令的过程。几乎所有的冯•诺伊曼型计算机的CPU,其工作都可以分为5个阶段:取指令、指令译码、执行指令、访存取数和结果写回。

 



2.2.2.4 指令周期
  1. 指令周期: CPU取出一条指令并执行该指令所需的时间称为指令周期。指令周期的长短与指令的复杂程度有关。
  2. CPU周期:从主存读取一条指令的最短时间来规定CPU周期。指令周期常常用若干个CPU周期数来表示。
  3. 时钟周期:时钟周期是处理操作的最基本时间单位,由机器的主频决定。一个CPU周期包含有若干个时钟周期。



从上面的定义可以知道,对于CPU来说取出和执行任何一条指令所需的最短时间为两个CPU周期。所以频率越高,那么时钟周期越短,这样CPU周期和指令周期也就越短,理论上程序执行的速度也越快。但是频率不能无限的提高,而且频率的提高也带来了功耗,发热等问题,所以目前也有超线程,流水线等技术来提高CPU执行的速度。

 


2.2.2.5 时序发生器
  1. 时序信号: 在计算机高速运行的过程中,计算机内各部件的每一个动作都必须严格遵守时间规定,不能有任何差错。计算机内各部件的协调动作需要时间标志,而时间标志则是用时序信号来体现的。计算机各部分工作所需的时序信号,在CPU中统一由时序发生器来产生。
  2. 时序发生器: 时序信号发生器是产生指令周期控制时序信号的部件,当CPU开始取指令并执行指令时,操作控制器利用时序信号发生器产生的定时脉冲的顺序和不同的脉冲间隔,提供计算机各部分工作时所需的各种微操作定时控制信号,有条理、有节奏地指挥机器各个部件按规定时间动作。


在这里有一个疑问:指令和数据都存放在内存中,那么CPU怎么区分是指令还是数据呢?


从时间上来说,取指令事件发生在指令周期的第一个CPU周期中,即发生在“取指令”阶段,而取数据事件发生在指令周期的后面几个CPU周期中,即发生在“执行指令”阶段。从空间上来说,如果取出的代码是指令,那么一定送往指令寄存器,如果取出的代码是数据,那么一定送往运算器。

 


2.2.3 小结



通过以上我们了解了CPU的工作过程。简单来说就是CPU要顺序执行一个程序的指令,首先是控制器获得第一条指令的地址,当CPU取得这个指令并执行后,控制器需要生成下一条要执行的指令的地址。ALU单元负责一些运算操作。下面的FLASH演示了CPU执行一个加法操作的流程。

 

CPU工作流程FLASH: http://218.5.241.24:8018/C35/Course/ZCYL-HB/WLKJ/jy/Chap05/flash-htm/5.6.swf

 



3 总结



本文主要是简单介绍了计算机的一些发展历史和通用CPU的结构以及工作流程。加深了我们对冯诺依曼体系的储存程序,顺序执行的理解。无论硬件是什么样子,冯诺依曼计算机的基本原理就是这样。


当然了解了基本原理之后,会产生更多的问题,比如可执行文件又是如何被装载到内存的?CPU和内存之间是如何通信的呢?是如何根据地址找到指令的呢?内存结构又是什么样子? CPU如何和内存之外的设备通信呢?这些问题都会在后面给出答案。

 



参考:



http://software.intel.com/zh-cn/articles/book-Processor-Architecture_CPU_work_process


http://blog.sina.com.cn/s/blog_4d126a24010173ru.html


http://218.5.241.24:8018/C35/Course/ZCYL-HB/WLKJ/jy/Chap05/5-2-1.HTM


 

  • 92
    点赞
  • 351
    收藏
    觉得还不错? 一键收藏
  • 16
    评论
春福师《计算机原理与接口技术》在线作业二 一、 单选题( 共 30 道试题, 共 60 分。) 1. 计算机经历了从器件角度划分的四代发展历程, 但从系统结构来看, 至今为止绝大多数计算机仍是( ) 式计算机。 A. 实时处理 B. 智能化 C. 并行 D. 冯诺依曼 满分: 2 分 2. 外围设备的编址方式有( ) 。 A. 统一编址和独立编址 B. 直接编址和间接编址 C. 程序编址和硬件编址 D. 可编址和不可编址 满分: 2 分 3. 一家三口, 每人一把钥匙, 任何一个都能够把门打开。设三人为A、 B、 C, 则门可开启F(=1)的逻辑表示式为( ) 。 A. F=ABC B. F=A+B+C C. F=ABC补 D. F=( A+B+C) 补 满分: 2 分 4. 在定点二进制运算器中, 减法运算一般经过( ) 来实现 A. 原码运算的二进制减法器 B. 补码运算的二进制减法器 C. 补码运算的十进制加法器 D. 补码运算的二进制加法器 满分: 2 分 5. 可编程的只读存储器( ) 。 A. 不一定能够改写 B. 一定能够改写 C. 一定不能够改写 D. 以上都不对 满分: 2 分 6. 8位定点原码整数10100011B的真值为( ) 。 A. +0100011B B. -0100011B C. +1011101B D. -1011101B 满分: 2 分 7. 在堆栈数据结构及堆栈存储结构的计算机中, 所需的操作数默认在堆栈内, 因此, 入栈和出栈操作常见( ) 。 A. 零地址指令格式 B. 一地址指令格式 C. 二地址指令格式 D. 三地址指令格式 满分: 2 分 8. 逻辑式A+AB的最简式为( ) 。 A. A B. AB C. A+B D. 以上都不对 满分: 2 分 9. 下列不能做输出的是( ) 。 A. 磁带机 B. 显示器 C. 光学字符阅读机 D. 打印机 满分: 2 分 10. 在 CPU 的主要寄存器里, 为了保证程序能够连续地执行下去的寄存器是(   ) 。 A. PC B. IR C. DR D. AC 满分: 2 分 11. DMA数据传送控制的周期挪用方式主要适用的情况是( ) 。 A. I/O设备周期大于内存存储周期 B. I/O设备周期小于内存存储周期 C. CPU工作周期比内存存储周期长得多 D. CPU工作周期比内存存储周期小很多 满分: 2 分 12. 下面关于地址映像的叙述, 错误的是( ) 。 A. 任意逻辑页能够映像到主存中任意页面位置称为全相联映像 B. 直接映像方式规定每个逻辑页只能映像到一个特定物理页面 C. 全相联映像能够导致存储页面的抖动 D. 组相联映像是全相联映像和直接相联映像方法的结合 满分: 2 分 13. 若某数x的真值为-0.1010, 在计算机中该数表示为1.0110, 则该数所用的编码为( ) 。 A. 原码 B. 补码 C. 反码 D. 移码 满分: 2 分 14. 按操作的节拍分类, 输入输出接口可分为下列两类( ) 。 A. 并行接口和串行接口 B. 同步接口和异步接口 C. 程序中断输入输出接口和直接存储器存取接口 D. 程序控制的输入接口和程序中断输入输出接口 满分: 2 分 15. 存储器的字线是( ) 。 A. 存储体与读写电路连接的数据线。它们经过读写电路传送或接收数据寄存器的信息。一 个数据寄存器的位数正好是机器字长, 故称为字线 B. 存储器的数据线。其线数正好与数据寄存器的位数相对应 C. 经地址译码器译码之后的存储单元的地址线 D. 以上三种说法都不对 满分: 2 分 16. 二级存储体系是由( ) 有机地组成一整体。 A. Cache 与寄存器组 B. Cache 与辅存 C. 主存与辅存 D. Cache 与外存 满分: 2 分 17. 当前普遍使用的微型计算机采用的电路是( ) 。 A. 电子管 B. 晶体管 C. 集成电路 D. 超大规模集电成路 满分: 2 分 18. 在2进制浮点数中, 为保持真值不变, 小数点向右移2位, 阶码要( ) 。 A. 加1 B. 减1 C. 加2 D. 减2 满分: 2 分 19. 选择通道上可连接若干外围设备, 其数据传送的单位是( ) 。 A. 字节 B. 字 C. 位 D. 数据块 满分: 2 分 20. I/O接口的中断屏蔽触发器的作用是: 当该位触发器的状态为1时, 则表示( ) 。 A. 不允许CPU受理其它接口的中断请求信号 B. 屏蔽了所有的接口的中断请求信号 C. 不受理此对应接口的中断请求信号 D. 受理所有接口的中断请求 满分: 2 分 21. 以下的( ) 不能支持数值处理。 A. 算术运算类指令 B. 移位操作类指令 C. 字符串处理类指令 D.
计算机组成原理》 考查目标 计算机学科专业基础综合考试涵盖数据机构、计算机组成原理、操作系统和计算机网络等学科专业基础课程。要求考生比较系统地掌握上述专业基础课程的概念、基本原理和方法,能够运用所学的基本原理和基本方法分析、判断和解决有关理论问题和实际问题。 考试形式和试卷结构 一、 试卷满分及考试时间 本试卷满分为150分,考试时间为180分钟 二、 答题方式 答题方式为闭卷、笔试 三、 试卷内容结构 数据结构 45分 计算机组成原理 45分 操作系统 35分 计算机网络 25分 四、 试卷题型结构 单项选择题 80分(40小题,每小题2分) 综合应用题 70分 计算机组成原理 【考查目标】 1. 理解单处理器计算机系统中各部件的内部工作原理、组成结构以及相互连接方式,具有完整的计算机系统的整机概念。 2. 理解计算机系统层次化结构概念,熟悉硬件与软件之间的界面,掌握指令集体系结构的基本知识和基本实现方法。 3. 能够运用计算机组成的基本原理和基本方法,对有关计算机硬件系统中的理论和实际问题进行计算、分析,并能对一些基本部件进行简单设计。 一、 计算机系统概述 (一) 计算机发展历程 第一台电子计算机ENIAC(Electronic Numerical Integrator And Computer)诞生于1946年的美国宾夕法尼亚大学。ENIAC用了18000电子管、1500继电器、重30吨、占地170m3、耗电140kw、每秒计算5000次加法。冯•诺依曼(VanNeumann)首次提出存储程序的概念,将数据和程序一起放在存储器中,使得编程更加方便。50多年来,虽然对冯•诺依曼机进行了很多改革,但结构变化不大,仍然称为冯•诺依曼机。 一般把计算机的发展分为四个阶段: 第一代(1946-50‘s后期):电子管计算机时代; 第二代(50‘s中期-60’s后期):晶体管计算机时代; 第三代(60‘s中期-70’s前期):集成电路计算机时代; 第四代(70‘s初-):大规模集成电路计算机时代。 (二) 计算机系统层次结构 1. 计算机硬件的基本组成 计算机硬件主要指计算机的实体部分,通常有运算器、控制器、存储器、输入和输出五部分。 CPU是指将运算器和控制器集成到一个电路芯片中。 2. 计算机软件的分类 计算机软件按照面向对象的不同可分两类: 系统软件:用于管理整个计算机系统,合理分配系统资源,确保计算机正常高效地运行,这类软件面向系统。 应用软件:是面向用户根据用户的特殊要求编制的应用程序,这类软件通常实现用户的某类要求。 3. 计算机的工作过程 (1)计算机的工作过程就是执行指令的过程 指令由操作码和操作数组成: 操作码 地址码 操作码指明本指令完成的操作 地址码指明本指令的操作对象 (2)指令的存储 指令按照存储器的地址顺序连续的存放在存储器中。 (3)指令的读取 为了纪录程序的执行过程,需要一个记录读取指令地址的寄存器,称为指令地址寄存器,或者程序计数器。指令的读取就可以根据程序计数器所指出的指令地址来决定读取的指令,由于指令通常按照地址增加的顺序存放,故此,每次读取一条指令之后,程序计数器加一就为读取下一条指令做好准备。 (4)执行指令的过程 在控制器的控制下,完成以下三个阶段任务: 1)取指令阶段 按照程序计数器取出指令,程序计数器加一 2)指令译码阶段 分析操作码,决定操作内容,并准备操作数 3)指令执行阶段 执行操作码所指定内容 (三) 计算机性能指标 1. 吞吐量、响应时间 (1) 吞吐量:单位时间内的数据输出数量。 (2) 响应时间:从事件开始到事件结束的时间,也称执行时间。 2. CPU时钟周期、主频、CPI、CPU执行时间 (1) CPU时钟周期:机器主频的倒数,Tc (2)主频:CPU工作主时钟的频率,机器主频Rc (3)CPI:执行一条指令所需要的平均时钟周期 (4)CPU执行时间: TCPU=In×CPI×TC In执行程序中指令的总数 CPI执行每条指令所需的平均时钟周期数 TC时钟周期时间的长度 3. MIPS、MFLOPS (1)MIPS: MIPS(Million Instructions Per Second) MIPS = In/(Te×106) = In/(In×CPI×Tc×106) = Rc/(CPI×106) Te:执行该程序的总时间 In:执行该程序的总指令数 Rc:时钟周期Tc的到数 MIPS只适合评价标量机,不适合评价向量机。标量机执行一条指令,得到一个运行结果。而向量机执行一条指令,可以得到多个运算结果。 (2) MFLOPS: MFLOPS(Million Floating Point Operations Per Second) MFLOPS=Ifn/(Te×106) Ifn:程序中浮点数的运算次数 MFLOPS测量单位比较适合于衡量向量机的性能。一般而言,同一程序运行在不同的计算机上时往往会执行不同数量的指令数,但所执行的浮点数个数常常是相同的。
计算机组成原理计算机科学与技术专业考研的重要科目之一,下面给出一些考研计算机组成原理的指导建议: 1. 熟悉基本概念:理解计算机的基本概念和组成部分,包括中央处理器(CPU)、存储器、输入输出设备等。了解它们的功能和相互之间的关系。 2. 学习计算机体系结构:了解不同的计算机体系结构,如冯·诺依曼体系结构和哈佛体系结构。理解指令的执行过程、数据通路和控制器的工作原理。 3. 学习指令系统:了解不同的指令系统,如RISC(精简指令集计算机)和CISC(复杂指令集计算机)。了解指令的格式、寻址方式、指令的执行过程和流水线技术等。 4. 学习存储器层次结构:了解存储器的层次结构,包括高速缓存、主存储器和辅助存储器。了解它们的特点、访问方式和层次结构的优化方法。 5. 学习输入输出系统:了解输入输出设备与计算机之间的数据传输方式和接口协议。了解常见的输入输出设备的工作原理和连接方式。 6. 学习中断和异常处理:了解中断和异常的概念、分类和处理方式。理解中断和异常对计算机系统的影响以及处理机制。 7. 进行实践练习:通过做题、编程和实验等方式进行实践练习,提高对计算机组成原理的理解和应用能力。 8. 多阅读教材和参考书籍:选择一些经典的教材和参考书籍进行学习,如《计算机组成与设计:硬件/软件接口》、《计算机组成原理》等。 9. 参加考研辅导班或自习室:可以参加考研辅导班或加入自习室,与其他考生交流学习经验,互相鼓励和监督。 10. 制定学习计划和复习计划:根据自己的实际情况,制定合理的学习计划和复习计划,合理安排时间,保证每个知识点都能够掌握。 最重要的是坚持不懈地学习和练习,掌握计算机组成原理的基本概念和原理,加强对重点知识的理解和记忆,做好充分的复习准备。祝您考研顺利!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值