存储程序式计算机

冯·诺伊曼式计算机

“关于EDVAC的报告草案”

组成:控制器(协调工作)、运算器(算数&逻辑运算)、存储器(存储操作信息和中间结果)、输入设备、输出设备——他们由总线相连

工作过程:

  • 控制器指挥下,从存储器上取出指令
  • 分析指令,得到计算命令待操作的数
  • 存储器上取出待计算的数放入运算器
  • 运算器计算结果
  • 输出到存储器
  • 输出到存储器输出设备

和实体的对应:

  • CPU=运算器+控制器+存储器中的高速缓存
  • 内存条=存储器中的内存
  • 磁盘=存储器中的外存

存储器

存储空间单位:

  • 8b(bit)=1B(Byte)
  • 1KB=1024Byte
  • MB,GB,TB,PB……

存储器的种类:

  • 寄存器:CPU内部,存放待操作数和结果,一次读取0.x纳秒,¥¥¥¥
  • 高速缓存CACHE:CPU内部内高缓,主板上外高缓,分为多级,作为数据缓冲区,一次读区纳秒内,¥¥¥
  • 内存:存放CPU中的运算数据,存放与硬盘等外部存储器交换的数据,¥¥
  • 外存:¥

CPU读取数据时:就近原则,尽可能减少慢的读写操作

局部性原理:时间局部性,空间局部性➡️多级缓存机制加快CPU处理速度

存储器的原理:

存储器的类型:

  • RAM(Random Access Memory)

    • SRAM(Static RAM)

    • DRAM(Dynamic RAM)存取效率⬆️内存用它

      • EDO DRAM(Extended Data Out DRAM)

      • SDRAM(Synchronous DRAM)

      • DDR(Double Data Rate SDRAM)

  • ROM(Read Only Memory)

    • ROM(掩膜ROM)
    • PROM(Programmable ROM)
    • EPROM(Erasable PROM)
    • EEPROM(Electrically EPROM)
    • Flash EPROM U盘

命令的执行

指令集:

  • CPU只能执行指令集里面有的指令
  • 是CPU中用来计算和控制计算机系统的一套指令的集合
  • 在CPU设计时就定义好的
  • 例:Intel X86指令集,ARM指令集……

指令:

  • 最终表现为二进制码
  • 其长度随CPU类型不同而不同
  • 包含指令码(动作)和操作数(对象)

程序的执行

程序代码➡️(编译)➡️汇编代码➡️(转换)➡️机器码 把机器码交给CPU运行~

总结

  • 一句程序有可能转换为多句指令
  • 在控制器的协调下连续、依次执行相应的指令
  • 程序执行过程在内存中完成
  • 程序执行过程中,在内存中不同区域存放代码和数据

最新文章

  1. .Net 分布式云平台基础服务建设说明概要
  2. git stuff
  3. 封装captcha类 -- 画图四
  4. Hack语言类型化简介
  5. 防SQL注入代码(ASP版)
  6. 166. Fraction to Recurring Decimal -- 将除法的商表示成字符串(循环节用括号表示)
  7. CentOS6.5下docker的安装及遇到的问题和简单使用
  8. apache 出现Index of /的页面解决
  9. MFC如何生成一个可串行化的类
  10. JavaScript高级程序设计 - 阅读笔记
  11. [USACO18JAN]Cow at Large P
  12. Java -- JDBC 学习--使用 DBUtils
  13. 003 将spark源码导入到IDEA中
  14. opencv-android笔记1:android studio 2.3 + opencv-android-sdk 实现 camera预览
  15. STM FLASH在线编程 升级
  16. Linux下php安装Redis安装
  17. 图练习-BFS-从起点到目标点的最短步数(sdut 2830)邻接边表
  18. Spring 中出现相同名称的 bean 的处理机制
  19. java MessageFormat.format 用法
  20. CentOS7 RPM安装 rabbitmqDownloads on Bintray

热门文章

  1. JUC并发编程基石AQS源码之结构篇
  2. GeoGebra案例(傅里叶级数的方波)
  3. .Net Core Send Email
  4. Java的数组索引问题
  5. JDBC中的时间处理
  6. 手把手教你使用Python爬取西刺代理数据(下篇)
  7. php的echo 和 return的区别
  8. 地点下来框的实现(php)
  9. 吕建文 20199303《Linux内核原理与分析》第十二周作业
  10. 2019-2020-1 20199303《Linux内核原理与分析》第五周作业