存储程序式计算机

冯·诺伊曼式计算机

“关于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运行~

总结

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

Coursera课程笔记----计算导论与C语言基础----Week 3的更多相关文章

  1. Coursera课程笔记----计算导论与C语言基础----Week 6

    理性认识C程序 导论(Week 6) 明确学习进度 讲课内容 感性➡️理性➡️函数➡️指针等 作业练习 初级阶段 ➡️正常作业练习 C语言的由来 程序设计语言的分类 低级语言之机器语言 0010101 ...

  2. Coursera课程笔记----计算导论与C语言基础----Week 8

    C语言中的运算成分(Week 8) 赋值运算符 "="赋值运算符 给赋值号左边的变量赋予数值 在变量定义的同时可以为变量赋初值 要点一:两面类型不同 若=两边的类型不一致,赋值时要 ...

  3. Coursera课程笔记----计算导论与C语言基础----Week 7

    C语言中的数据成分(Week7) 内存 把内存想象成长带,带子上有许多方格,每个方格有8位(8bit) 2^10 = 1024 1B = 8 b 1KB = 1024Byte MB.GB.TB.PB- ...

  4. Coursera课程笔记----计算导论与C语言基础----Week 4

    感性认识计算机程序(Week 4) 引入 编程序 = 给计算机设计好运行步骤 程序 = 人们用来告诉计算机应该做什么的东西 问题➡️该告诉计算机什么?用什么形式告诉? 如果要创造一门"程序设 ...

  5. Coursera课程笔记----计算导论与C语言基础----Week 2

    计算机的历史与未来(Week 2) 计算机历史 早期计算机:手工计算器➡️机械计算器➡️计算机原型 现代计算机:电子管计算机➡️晶体管计算机➡️集成电路计算机➡️超大规模集成电路 早期的手工计算辅助工 ...

  6. Coursera课程笔记----计算导论与C语言基础----Week 9

    C语言中的控制成分(Week 9) 计算机程序的基本结构 任何具有单入口单出口的程序,都可以用顺序结构.分支结构.循环结构来表达 分支语句 在执行if语句前,先对表达式求解 if()内可以是任意的数值 ...

  7. Coursera课程笔记----计算导论与C语言基础----Week 1

    计算机的基本原理(Week 1) 第一次数学危机 公元前500年,毕达哥拉斯学派,他们相信数是万物的本源:一切数均可表示成整数或者整数之比 然而毕达哥拉斯证明了勾股定理,某些直角三角形的三边比不能用整 ...

  8. Coursera课程笔记----计算导论与C语言基础----Week 12

    期末编程测试(Week 12) Quiz1 判断闰年 #include <iostream> using namespace std; int main() { int year; cin ...

  9. Coursera课程笔记----计算导论与C语言基础----Week 11

    C程序中的字符串(Week 11) 字符数组 所有的字符串,都是以\0结尾的 只能在数组定义并初始化的时候:char c[6] = "China"; 不能用赋值语句将一个字符串常量 ...

随机推荐

  1. 【转】Centos7启动网卡(获取ip地址)

    这里之所以是查看下IP ,是我们后面要建一个Centos远程工具Xshell 连接Centos的时候,需要IP地址,所以我们这里先 学会查看虚拟机里的Centos7的IP地址 首先我们登录操作系统 用 ...

  2. python从零开始基础入门——开发环境搭建

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:山海皆可平z PS:如有需要Python学习资料的小伙伴可以加点击下方 ...

  3. Mysql大厂高频面试题

    前言 前几天有读者找到我,说想要一套全面的Mysql面试题,今天陈某特地为她写了一篇. 文章的目录如下: Mysql面试题 什么是SQL? 结构化查询语言(Structured Query Langu ...

  4. (转载)基于BIGINT溢出错误的SQL注入

    我对于通过MySQL错误提取数据的新技术非常感兴趣,而本文中要介绍的就是这样一种技术.当我考察MySQL的整数处理方式的时候,突然对如何使其发生溢出产生了浓厚的兴趣.下面,我们来看看MySQL是如何存 ...

  5. 基于nodejs的游戏服务器

    开源一个四年前自己写的node服务器,有兴趣的可以继续开发-- 架构为mysql,redis,node. 数据格式为 protocol buff 如果只做简单的演示,这个架构非常适合你.. 还是typ ...

  6. Jmeter系列(3)- Jmeter安装目录介绍

    如果你想从头学习Jmeter,可以看看这个系列的文章哦 https://www.cnblogs.com/poloyy/category/1746599.html Jmeter安装目录说明 bin:包含 ...

  7. ntp和chrony

    目录 chrony 简介 ntp pool ntp 配置文件 chrony 配置文件 chronyc 命令行工具 修改时区 chrony 简介 chrony 是 RedHat 开发的,它是网络时间协议 ...

  8. Python神库分享之geoip2 IP定位库

    先安装这两个 pip install python-geoip-geolite2 -i https://pypi.douban.com/simple pip install geoip2 然后下载资源 ...

  9. BMP图片解析

    本博客参考:https://www.cnblogs.com/l2rf/p/5643352.html 一.简介 BMP(Bitmap-File)图形文件是Windows采用的图形文件格式,在Window ...

  10. .NET Core 3 WPF MVVM框架 Prism系列文章索引

    .NET Core 3 WPF MVVM框架 Prism系列之数据绑定 .NET Core 3 WPF MVVM框架 Prism系列之命令 .NET Core 3 WPF MVVM框架 Prism系列 ...