冯诺依曼结构的计算机其工作原理一般都基于什么原理(冯诺依曼计算机的核心原理)
冯诺依曼结构的计算机其工作原理一般都基于什么原理(冯诺依曼计算机的核心原理),本文通过数据整理汇集了冯诺依曼结构的计算机其工作原理一般都基于什么原理(冯诺依曼计算机的核心原理)相关信息,下面一起看看。
冯诺依曼体系结构现代计算机大多基于冯诺依曼体系结构。冯诺依曼的核心是存储程序并按顺序执行。冯诺依曼架构的特点:计算机处理的所有数据和指令都用二进制数表示;指令和数据不分青红皂白地混合存储在同一个存储器中;按顺序执行程序的每条指令;硬件由运算器、控制器、存储器、输入设备和输出设备组成。冯诺依曼架构的计算机必须具备以下功能:向计算机发送所需的程序和数据;必须具备长时间记忆程序、数据、中间结果和最终计算结果的能力;能够完成各种算术、逻辑运算、数据传输等数据处理;能够按要求控制程序方向,根据指令控制机器各部分的协调运行;可以根据需要将处理结果输出给用户。
计算机的工作原理对于现代计算机来说,最关键的两个部件是CPU和内存。内存存储要执行的程序指令,CPU用来执行这些指令。首先,CPU需要知道这些规范存储在内存中的什么位置,然后才能执行它们,并将执行结果写入执行区。
CPU指令和编程语言CPU指令计算机中的指令和数据是用二进制表示的,也就是说,它只知道0和1这样的数字。最早的计算机程序是通过在纸带上打孔来模拟0和1进行人工操作,并根据不同的组合完成一些运算。后来程序是直接通过直0和1编程的,也就是所谓的机器语言。这里会有一个问题,计算机是怎么知道你的组合的含义的?然后出现CPU指令。CPU其实对应的是我们这里说的一些0和1的组合。每个CPU都设计有一系列与其硬件电路相匹配的指令系统。有了CPU指令集的文档,就可以写出CPU识别的机器码。所以不同的CPU可能会有不同的机器码。
汇编语言使用0、1等机器语言的好处是CPU知道,可以直接执行,但是对于程序本身来说,不可读,维护困难,容易出错。于是出现了汇编语言,用助记符代替操作码指令,用地址符号代替地址码。它实际上是机器语言的映射,可读性很高。把汇编语言转换成机器语言需要一个叫做汇编器的工具。对于现在的CPU厂商来说,在推出CPU指令的同时,也会推出新的汇编器。
高级汇编语言的出现大大提高了编程效率,但有一个问题是不同的CPU可能有不同的指令集,所以需要为不同的CPU编写不同的汇编器。然后是C之类的高级语言,或者后来的C,Java,C #。高级语言把几个汇编指令组合成一个表达式,去掉了很多操作细节(比如栈操作、寄存器操作),而是用更直观的方式编写程序。面向对象语言的出现,让编程更加符合我们的思维方式。我们不必尽力去关注底层的细节,而是更关注程序本身逻辑的实现。对于高级语言,需要一个编译器来完成高级语言到汇编语言的转换。
汇总程序最终会变成机器识别的二进制可执行程序,然后加载到内存中顺序执行。C#和JAVA程序编译的文件不是二进制机器码,而是中间语言,那么它们是如何运行的呢?
首先是预处理程序。如果项目中有头文件和宏表达式,它将负责包含头文件并翻译所有宏表达式。然后是编译器,它生成汇编代码(。s)而不是直接二进制代码,这基本上是所有现代非结构化语言的共同基础。然后,汇编程序将汇编代码翻译成目标代码。o和。obj文件、机器指令)。最后是链接器,它将所有相关的目标文件与生成的可执行文件或库链接起来。
工作原理CPU功能指令控制:指令控制也叫程序顺序控制,控制程序严格按照规定的顺序执行。操作:从取出的指令中产生一系列控制信号(微指令)并发送给相应的部件,从而控制这些部件按照指令工作。时间控制:有些控制信号在时间上有严格的顺序,比如从内存中读取数据。只有地址线信号稳定,才能通过数据线读出需要的数据,否则读出的数据不正确,计算机才能有序工作。数据处理:所谓数据处理,是指数据的算术运算和逻辑运算。CPU的基本构成在过去,CPU主要由运算器和控制器组成。随着集成电路的发展,CPU芯片现在集成了一些其他逻辑功能部件来扩展CPU的功能,如浮点运算单元、内存管理单元、缓存和MMX等。对于一个通用的CPU,我们只需要关注它的核心部件,算术逻辑单元和运算控制单元。1.控制器的组成和功能:控制器由程序计数器、指令寄存器、指令解码器、时序发生器和运算控制器组成。它是计算机指挥系统,完成计算机的指挥工作。虽然不同计算机的控制器在结构上有很大不同,但就其基本功能而言,它们具有以下功能:
Fetch:从内存中取出当前指令,并在内存中生成下一条指令的地址。分析指令:指令取出后,控制器还必须有两个分析功能。一种是解码或测试指令,并产生相应的操作控制信号,以便启动指定的动作。例如存储器读/写操作、算术逻辑操作或输入/输出操作。二是分析本次运算涉及的每个操作数的地址,即操作数的有效地址。执行指令:控制器还必须具有执行指令的功能,指挥和控制CPU、存储器和输入输出设备之间的数据流方向,完成指令的各种功能。发出各种微操作命令:在指令执行过程中,要求控制器根据操作性质的要求,发出各种相应的微操作命令,使相应的部件完成各种功能。改变指令的执行顺序:在编程过程中,分支结构、循环结构等非顺序结构引用可以大大提高编程效率。控制器的这个功能可以根据指令执行的结果决定下一步是继续按照原程序的顺序执行还是改变原执行顺序转到其他指令。控制程序和数据的输入输出:这其实是一个人机对话的设计。通过编写程序,在适当的时候输入数据并输出程序的结果。异常情况和一些请求的处理:计算机在执行程序时,出现一些异常情况,如除法错误、溢出中断、键盘中断等。2.运算器的组成和功能:运算器由算术逻辑单元(ALU)、累加寄存器、数据缓冲寄存器和状态条件寄存器组成。它是一个数据处理部件,可以完成计算机的各种算术和逻辑运算。相对于控制器而言,运算器接受控制器的命令而动作,即运算器进行的所有运算都是由控制器发出的控制信号来指挥的,所以它是执行部分。算术单元有两个主要功能:
执行所有算术运算:如加、减、乘、除等基本运算和附加运算;执行所有逻辑运算:并执行逻辑测试,如and、OR、NOT、零值测试或两个值的比较。CPU的基本工作是执行存储的指令序列,也就是程序。实际上,程序执行的过程就是不断获取、分析和执行指令的过程。几乎所有冯诺依曼计算机的CPU都可以分为五个阶段:取指令、解码指令、执行指令、存取和回写结果。
指令周期:CPU取出一条指令并执行它所需要的时间称为指令周期。指令周期的长短与指令的复杂程度有关。CPU周期:从主存中读取一条指令的最短时间定义了CPU周期。指令周期通常用几个CPU周期来表示。时钟周期:时钟周期是加工操作最基本的时间单位,由机器的主频决定。一个CPU周期包含几个时钟周期。从上面的定义可以看出,CPU获取和执行任何指令所需的最短时间是两个CPU周期。所以频率越高,时钟周期越短,CPU周期和指令周期越短,理论上程序执行越快。但频率不可能无限提高,频率的提高也带来了功耗、发热等问题。所以目前有超线程、流水线等技术来提高CPU的执行速度。定时发生器的定时信号:在计算机高速运行过程中,计算机中各部件的每一个动作都必须严格遵守时间规定,不能有任何差错。计算机中各部件的协调动作需要时标,时标通过时序信号来体现。计算机各部分所需的定时信号由CPU中的定时发生器产生。时序发生器:时序信号发生器是产生指令周期控制的时序信号的部件。当CPU开始取指令并执行指令时,操作控制器利用定时信号发生器产生的定时脉冲序列和不同的脉冲间隔,提供计算机各部分所需的各种微操作定时控制信号,有序而有节奏地指挥机器各部分在规定的时间动作。为了按顺序执行程序的指令,控制器首先获得第一条指令的地址。CPU获得这条指令并执行后,控制器需要生成下一条要执行的指令的地址。ALU单元负责一些算术运算。
指令和数据都存储在内存中,那么CPU怎么分辨是指令还是数据呢?
从时间上看,取指令事件发生在指令周期的第一个CPU周期,即“取指令”阶段,而取数据事件发生在随后的CPU周期,即“指令执行”阶段。就空间而言,如果检索到的代码是一条指令,就必须发送到指令寄存器;如果检索到的代码是数据,则必须将其发送到算术单元。
这个网站是个人知识管理的网络存储空间。所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请一键举报。
更多冯诺依曼结构的计算机其工作原理一般都基于什么原理(冯诺依曼计算机的核心原理)相关信息请关注本站,本文仅仅做为展示!