计算机硬件发展

介绍冯诺依曼结构之前,我们先来介绍一下计算机硬件的发展过程,第一代的计算机主要以电子管作为逻辑原件,汞延迟线,磁鼓作为内存,穿孔纸片,纸带作为外存. 第二代计算机步入晶体管时代,以晶体管作为逻辑原件,磁芯存储器作为内存,磁带作为外存. 后面就是集成电路时代了,从中小型规模到大规模再到超大规模集成电路.

冯诺依曼体系结构

冯诺依曼体系结构主要是规定了基本计算机的组成, 主要分为控制器,运算器,存储器,输入输出设备,如图所示:

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语言冯诺依曼原理,详解冯诺依曼结构运行原理相关推荐

  1. python使用kafka原理详解_Python操作Kafka原理及使用详解

    Python操作Kafka原理及使用详解 一.什么是Kafka Kafka是一个分布式流处理系统,流处理系统使它可以像消息队列一样publish或者subscribe消息,分布式提供了容错性,并发处理 ...

  2. react 流程图框架_【赠书】Preact(React)核心原理详解Preact(React) 核心原理解析...

    豆皮粉儿们,又见面了,今天这一期,由字节跳动数据平台的"winge(宝丁)",带大家见识见识前端"轮子"之一Preact框架. 提到Preact,你肯定会先想到 ...

  3. C语言——自定义类型详解(结构体,联合体,枚举,位段)

    专栏:C语言 个人主页:HaiFan. 专栏简介:本专栏主要更新一些C语言的基础知识,也会实现一些小游戏和通讯录,学时管理系统之类的,有兴趣的朋友可以关注一下. 结构体 前言 一.结构体 1.结构体类 ...

  4. 交换机三层转发原理详解_ATM交换机技术原理是什么 ATM交换机技术原理简介【详解】...

    ATM交换机技术原理简介 起因,背景: ATM交换技术是ATM网络技术的核心.交换结构的性能将决定ATM网络的性能和规模.交换机设计的方法将影响交换吞吐量.信元阻塞.信元丢失和交换延时等,交换结构不仅 ...

  5. iis运行原理 Asp.Net详解IIS内部运行原理

    本章节主要讲IIS和 管道内部如何处理客户端Http请求,会较多的以代码的形式讲述,让大家对HttpApplication.HttpHandler.HttpApplicationFactory.Pag ...

  6. cookie原理详解及单点登录原理

    cookie一般是用来客户端存储信息的.用它可以进行用户信息的检验,实际案例-单点登录. cookie的原理 第一次访问网站的时候,浏览器发出请求,服务器响应请求后,会将cookie放入到响应请求中( ...

  7. android中okhttp原理详解,Android中okhttp原理详解-极度针对面试篇

    一.okhttp工做的大体流程 1.一.总体流程 (1).当咱们经过OkhttpClient创立一个Call,并发起同步或者异步请求时: (2).okhttp会经过Dispatcher对咱们全部的Re ...

  8. ***原理详解(中篇)

    本文来自网易云社区. 3. ***工作原理 终于说到***工作原理了,在说这个之前必须先介绍以下普通socks 5的工作原理,将之与***的"变异版"进行对比,就可以看出***处理 ...

  9. docker核心网络原理详解

    docker清空所有容器: 删除所有镜像: ip addr docker是如何处理容器网路访问的? 跑一个tomcat容器并使用ip addr查看ip地址: linux是可以ping通容器内部的ip的 ...

最新文章

  1. 自动驾驶平台,阵营, 主要传感器与场景联系
  2. 中国博士开发可交互全球疫情地图,登上柳叶刀,GitHub已有4500星成为热榜第四...
  3. Web.config配置访问权限
  4. Spring Tools 4 for Visual Studio Code
  5. DecimalFormat 类
  6. 【Linux】一步一步学Linux——apt-sortpkgs命令(280)
  7. git add 文件夹_软件测试学习资源—Git 基础使用
  8. Hdu2660 Accepted Necklace【简单dfs】
  9. VUE中switch使用
  10. 给大家总结的一份白帽子成长进阶指南(内附学习资源)
  11. Elasticsearch blocked by: [SERVICE_UNAVAILABLE/1/state not recovered / initialized];
  12. NANDFLASH与PSRAM
  13. 地铁发展黄金期 安防应用受考验
  14. 【C语言】编程初学者入门训练(7)
  15. 宫崎骏最新动画——哈尔的移动城堡
  16. 怎样检测计算机硬件是否正常,怎么检查电脑硬件是否有问题
  17. iOS编译cURL库并链接darwinssl,zlib,c-ares库操作步骤
  18. 微信公众号流量入口-搜索排名
  19. 【Unity入门计划】2D游戏实现敌人来回移动控制脚本
  20. 猿创征文|关于胖姑姑在数据领域常用TOP5工具

热门文章

  1. 基于STM32F103入门1——点亮LED灯
  2. Kaldi单音素GMM学习笔记
  3. 通过向一位初学者讲解springcloud来学习springcloud
  4. 山东大学软件学院编译原理2023期末考题
  5. 【精品】互联网常见的十八种营销方式
  6. 为什么程序员到哪儿都喜欢背电脑包?
  7. c语言截取屏幕,全屏截取?
  8. 神经网络图文检索模型预测代码学习总结(一)
  9. 是非人生 — 一个菜鸟程序员的5年职场路 第16节
  10. c++自带的排序函数sort