c语言冯诺依曼原理,详解冯诺依曼结构运行原理
计算机硬件发展
介绍冯诺依曼结构之前,我们先来介绍一下计算机硬件的发展过程,第一代的计算机主要以电子管作为逻辑原件,汞延迟线,磁鼓作为内存,穿孔纸片,纸带作为外存. 第二代计算机步入晶体管时代,以晶体管作为逻辑原件,磁芯存储器作为内存,磁带作为外存. 后面就是集成电路时代了,从中小型规模到大规模再到超大规模集成电路.
冯诺依曼体系结构
冯诺依曼体系结构主要是规定了基本计算机的组成, 主要分为控制器,运算器,存储器,输入输出设备,如图所示:
1.png
在现代计算机组成中,存储器分为主存储器和辅存储器, 主机包括了运算器,控制器与主存储器, 而外设包括输入输出设备和辅存储器.
image.png
主存储器构成
主存储器主要有存储体, MAR(存储地址寄存器), MDR(存储数据寄存器) 构成,举个简历例子, 存储体相当于菜鸟驿站的货架, MAR相当于店员,MDR相当于柜台
CPU组成原理
cpu主要包括了运算器与控制器,
运算器包括了 MQ(Multiple-Quotient Registe) 乘商寄存器, ACC(Accumulator) 累加器,ALU(Arithmetic and Logic Unit) 算术逻辑单元, X 通用的操作数寄存器,
控制器包括CU(控制单元),IR(指令寄存器),PC(程序计数器) 存放下一条指令,有自动加一的功能
计算机工作过程
下面通过分析一段C语言代码,解释计算机工作原理
int a = 2,b = 3,c = 1,y = 0;
void main{
y = a * b + c;
}
首先对高级语言经过编译,汇编后存入主存储器:
image.png
下面就是运行原理分析:
image.png
初: (pc)=0:指向第一条指令的存储地址
1.pc --> MAR,导致MAR=0;
MAR通过地址去存储体中寻找地址为0的数据并存入MAR中
3.通过数据总线会把MAR中的数据放入IR中
4.OP(IR) -> CU,指令的操作码发送到CU, CU分析后得知,这是取数指令,所以会调用MAR去取数
5.Ad(IR) ->MAR ,指令的地址码送到MAR,导致MAR等于5
6.MAR 到存储体中寻找数据放大MDR中在CU的控制下放入ACC中
7.PC自动加一,重复1到4步...
8.因为执行乘法操作,CU会把MDR中的b的值放入MQ中
9.CU把ACC中a的值放入X中,通过CU告诉算术逻辑单元,通过ALU进行计算,然后放入ACC中,如果乘积过大还需要MQ做辅存,
10.剩下操作类似...
image.png
计算中的取数指令
image.png
总结:
取值操作都是一样的1-4步,剩下操作根据IR分析指令进行其他操作
停机指令需要系统调用或者使用中断机制停止
c语言冯诺依曼原理,详解冯诺依曼结构运行原理相关推荐
- python使用kafka原理详解_Python操作Kafka原理及使用详解
Python操作Kafka原理及使用详解 一.什么是Kafka Kafka是一个分布式流处理系统,流处理系统使它可以像消息队列一样publish或者subscribe消息,分布式提供了容错性,并发处理 ...
- react 流程图框架_【赠书】Preact(React)核心原理详解Preact(React) 核心原理解析...
豆皮粉儿们,又见面了,今天这一期,由字节跳动数据平台的"winge(宝丁)",带大家见识见识前端"轮子"之一Preact框架. 提到Preact,你肯定会先想到 ...
- C语言——自定义类型详解(结构体,联合体,枚举,位段)
专栏:C语言 个人主页:HaiFan. 专栏简介:本专栏主要更新一些C语言的基础知识,也会实现一些小游戏和通讯录,学时管理系统之类的,有兴趣的朋友可以关注一下. 结构体 前言 一.结构体 1.结构体类 ...
- 交换机三层转发原理详解_ATM交换机技术原理是什么 ATM交换机技术原理简介【详解】...
ATM交换机技术原理简介 起因,背景: ATM交换技术是ATM网络技术的核心.交换结构的性能将决定ATM网络的性能和规模.交换机设计的方法将影响交换吞吐量.信元阻塞.信元丢失和交换延时等,交换结构不仅 ...
- iis运行原理 Asp.Net详解IIS内部运行原理
本章节主要讲IIS和 管道内部如何处理客户端Http请求,会较多的以代码的形式讲述,让大家对HttpApplication.HttpHandler.HttpApplicationFactory.Pag ...
- cookie原理详解及单点登录原理
cookie一般是用来客户端存储信息的.用它可以进行用户信息的检验,实际案例-单点登录. cookie的原理 第一次访问网站的时候,浏览器发出请求,服务器响应请求后,会将cookie放入到响应请求中( ...
- android中okhttp原理详解,Android中okhttp原理详解-极度针对面试篇
一.okhttp工做的大体流程 1.一.总体流程 (1).当咱们经过OkhttpClient创立一个Call,并发起同步或者异步请求时: (2).okhttp会经过Dispatcher对咱们全部的Re ...
- ***原理详解(中篇)
本文来自网易云社区. 3. ***工作原理 终于说到***工作原理了,在说这个之前必须先介绍以下普通socks 5的工作原理,将之与***的"变异版"进行对比,就可以看出***处理 ...
- docker核心网络原理详解
docker清空所有容器: 删除所有镜像: ip addr docker是如何处理容器网路访问的? 跑一个tomcat容器并使用ip addr查看ip地址: linux是可以ping通容器内部的ip的 ...
最新文章
- 自动驾驶平台,阵营, 主要传感器与场景联系
- 中国博士开发可交互全球疫情地图,登上柳叶刀,GitHub已有4500星成为热榜第四...
- Web.config配置访问权限
- Spring Tools 4 for Visual Studio Code
- DecimalFormat 类
- 【Linux】一步一步学Linux——apt-sortpkgs命令(280)
- git add 文件夹_软件测试学习资源—Git 基础使用
- Hdu2660 Accepted Necklace【简单dfs】
- VUE中switch使用
- 给大家总结的一份白帽子成长进阶指南(内附学习资源)
- Elasticsearch blocked by: [SERVICE_UNAVAILABLE/1/state not recovered / initialized];
- NANDFLASH与PSRAM
- 地铁发展黄金期 安防应用受考验
- 【C语言】编程初学者入门训练(7)
- 宫崎骏最新动画——哈尔的移动城堡
- 怎样检测计算机硬件是否正常,怎么检查电脑硬件是否有问题
- iOS编译cURL库并链接darwinssl,zlib,c-ares库操作步骤
- 微信公众号流量入口-搜索排名
- 【Unity入门计划】2D游戏实现敌人来回移动控制脚本
- 猿创征文|关于胖姑姑在数据领域常用TOP5工具