Coursera课程笔记----计算导论与C语言基础----Week 3
存储程序式计算机
冯·诺伊曼式计算机
“关于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的更多相关文章
- Coursera课程笔记----计算导论与C语言基础----Week 6
理性认识C程序 导论(Week 6) 明确学习进度 讲课内容 感性➡️理性➡️函数➡️指针等 作业练习 初级阶段 ➡️正常作业练习 C语言的由来 程序设计语言的分类 低级语言之机器语言 0010101 ...
- Coursera课程笔记----计算导论与C语言基础----Week 8
C语言中的运算成分(Week 8) 赋值运算符 "="赋值运算符 给赋值号左边的变量赋予数值 在变量定义的同时可以为变量赋初值 要点一:两面类型不同 若=两边的类型不一致,赋值时要 ...
- Coursera课程笔记----计算导论与C语言基础----Week 7
C语言中的数据成分(Week7) 内存 把内存想象成长带,带子上有许多方格,每个方格有8位(8bit) 2^10 = 1024 1B = 8 b 1KB = 1024Byte MB.GB.TB.PB- ...
- Coursera课程笔记----计算导论与C语言基础----Week 4
感性认识计算机程序(Week 4) 引入 编程序 = 给计算机设计好运行步骤 程序 = 人们用来告诉计算机应该做什么的东西 问题➡️该告诉计算机什么?用什么形式告诉? 如果要创造一门"程序设 ...
- Coursera课程笔记----计算导论与C语言基础----Week 2
计算机的历史与未来(Week 2) 计算机历史 早期计算机:手工计算器➡️机械计算器➡️计算机原型 现代计算机:电子管计算机➡️晶体管计算机➡️集成电路计算机➡️超大规模集成电路 早期的手工计算辅助工 ...
- Coursera课程笔记----计算导论与C语言基础----Week 9
C语言中的控制成分(Week 9) 计算机程序的基本结构 任何具有单入口单出口的程序,都可以用顺序结构.分支结构.循环结构来表达 分支语句 在执行if语句前,先对表达式求解 if()内可以是任意的数值 ...
- Coursera课程笔记----计算导论与C语言基础----Week 1
计算机的基本原理(Week 1) 第一次数学危机 公元前500年,毕达哥拉斯学派,他们相信数是万物的本源:一切数均可表示成整数或者整数之比 然而毕达哥拉斯证明了勾股定理,某些直角三角形的三边比不能用整 ...
- Coursera课程笔记----计算导论与C语言基础----Week 12
期末编程测试(Week 12) Quiz1 判断闰年 #include <iostream> using namespace std; int main() { int year; cin ...
- Coursera课程笔记----计算导论与C语言基础----Week 11
C程序中的字符串(Week 11) 字符数组 所有的字符串,都是以\0结尾的 只能在数组定义并初始化的时候:char c[6] = "China"; 不能用赋值语句将一个字符串常量 ...
随机推荐
- F - Select Half dp
题目大意:从n个数里边选n/2个数,问和最大是多少. 题解:这是一个比较有意思的DP,定义状态dp[i][1],表示选了第i个数的最优状态,dp[i][0]表示没有选第i个数的最优状态. 状态是如何转 ...
- E - Dividing Chocolate ATcoder
题目大意:切割图形,给你一个非0即1的矩阵,将它切割成多个长方形,使每个小长方形中1的个数不得多于k个,切割的规则,要么切一整行,要么是一整列. 题解: 二进制枚举. 注意行数最大才是10.用二进制枚 ...
- 前端以BASE64码的形式上传图片
前端以BASE64码的形式上传图片 一直有一个很苦恼的问题困扰着铁柱兄,每次上传图片的时候前端要写一大堆js,然后后台也要写一堆java代码做处理.于是就在想,有没有简单又方便的方法把图片上传.今天算 ...
- 架构师修炼之微服务部署 - 深入理解Docker镜像
镜像简介 它是一个创建Docker 容器的只读模板,通过DockerFile可以自定义镜像. 它也是一个特殊的文件系统,除了提供容器运行时所需的程序.库.资源.配置等文件外,还包含了一些为运行时准备的 ...
- echarts迁徙图
前段时间在echarts社区,看见别人写的echarts迁徙图,学习并也写了一个 预览地址: https://gallery.echartsjs.com/editor.html?c=xYS-YtzOa ...
- 前端基础进阶(六)-大厂面试题问题:循环闭包与setTimeout
我在上一篇闭包的文章中留下了一个关于setTimeout与循环闭包的思考题. 利用闭包,修改下面的代码,让循环输出的结果依次为1, 2, 3, 4, 5 for (var i = 1; i <= ...
- 是时候学习python了
“ 学习Pyhton,如何学以致用 -- 知识往问题靠,问题往知识靠” 01 为什么学Python 一直有听说Python神奇,总是想学,虽然不知道为啥.奈何每天写bug,修bug忙得不亦乐乎,总是不 ...
- Thymeleaf入门入门入门入门入门入门入门入门入门入门入门
Thymeleaf 官网部分翻译:反正就是各种好 Thymeleaf是用来开发Web和独立环境项目的服务器端的Java模版引擎 Spring官方支持的服务的渲染模板中,并不包含jsp.而是Thymel ...
- JVM相关参数设置
Java启动参数共分为三类: 其一是标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容: 其二是非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足, ...
- 尤雨溪的vue怎么学,应该从vue-cli开始,为什么?
带手机验证码登陆, 带全套购物车系统 带数据库 前后端分离开发 带定位用户功能 数据库代码为本地制作好了 带支付宝支付系统 带django开发服务器接口教程 地址: https://www.dua ...