北京大学Cousera学习笔记--4-计算导论与C语言基础--计算机的基本原理-程序运行的基本原理
已知:电路能完成计算
怎么计算:设计好很多个原子电路,需要的时候就把他们临时组装在一起--ENIAC
升级:冯诺依曼-EDVAC(现在的计算机都是)
1、通过某种命令来控制计算机。让计算机按照这种命令来运行,这种命令可以用电信号表示
2、这种命令不是“临时输入”到计算机,而是存放在某个地方,随时可以更改
3、命令改了,计算机的功能也就改了
结论--存储程序式计算机
问题
1、什么是“存储程序式计算机”?它都包含哪些部分?
2、命令是什么样子?它是怎么被执行的?
3、程序是什么样子?跟命令一样吗?计算机怎么能“认识”程序,并运行程序的
探讨:
1、第一台存储程序式计算机是EDVAC(冯诺依曼计算机);
2、组成部分:各部分通过总线连接
控制器:统一指挥并控制计算机各部分协调工作
运算器:对数据进行算数运算和逻辑运算
存储器:存储待操作的信息与中间结果,包括机器指令和数据
输入设备和输出设备


通俗的讲

存储器的介绍
1、度量单位:8b(bit)=1B(Byte) 1024B=1KB。。。MB、GB、TB、PB。。。1YB=2^10ZB=2^20EB=2^30PB
字节是程序能控制的最小单位
2、分类:造价从高到低 速度从高到低 大小从低到高
寄存器:CPU内部,用于存放待操作数和结果;工作速度与CPU运算部件节拍一致;一次存取数据0.X纳秒;寄存器与运算部件直接连接,运算部件直接对寄存器进行读写操作
高速缓存:通常在CPU内部,用作数据缓冲区;CPU内 内部高速缓存 还有外部高速缓存;分为多级;
内存:CPU想放但放不下的部分;存放于硬盘等外部存储器交换的数据
外存


问题的引出:
1、存储器的原理是什么?为什么能存数据?
2、存储器的种类有哪些?DDR是什么意思?
3、为什么32位的CPU最多只能配备4G内存



寻址空间2^32=4G 只能管理4G的空间
什么程序都能执行?怎么执行程序?程序怎么执行?
1、只能执行指令集有的;指令是二进制编码的;要把命令转化为满足指令集要求的二进制代码才能在计算机执行


CPU指令的执行


指令的运算过程

程序的执行?

北京大学Cousera学习笔记--4-计算导论与C语言基础--计算机的基本原理-程序运行的基本原理的更多相关文章
- 北京大学Cousera学习笔记--5-计算导论与C语言基础--计算机的基本原理-设计程序
只要你认真的思考,你就会发现这个世界是如此的简单,正如我们想象的一样,正因为如此,我们的思考才更加的有价值 1.单词:关键字(有特定含义的):其他词用关键字定义出来 2.数和计算符号:数据类型+运算符 ...
- 北京大学Cousera学习笔记--6-计算导论与C语言基础--计算机的基本原理-认识程序设计语言 如何学习
1.是一门高级程序语言 低级语言-机器语言(二进制) 汇编语言-load add save mult 高级语言:有利于人们编写理解 2.C语言的规范定义非常的宽泛 1.long型数据长度不短于int型 ...
- 北京大学Cousera学习笔记--7-计算导论与C语言基础--基本数据类型&变量&常量
1.整形数据 1.基本型(int 4B).短整型(short 2B).长整型(long 4B) VC环境下 sizeof运算符用于计算某种类型的对象在内存中所占的字节数 ,用法:size(int) ...
- 北京大学Cousera学习笔记--3-计算导论与C语言基础-第一讲.计算机的基本原理-计算机怎么计算-数的二进制
思考问题 1.“数”在计算机中是如何表示的? 2.逻辑上“数”是怎么运算的? 3.物理上“数”的计算是怎么实现的? 从图灵机计算问题得出: 1.字母表中的符号越多(几进制),读入移动次数减少,但程序数 ...
- 北京大学Cousera学习笔记--8-计算导论与C语言基础--C的运算部分
赋值运算符 1.两边类型不同:赋值时要进行类型转换,右边要转换到左边 2.长数赋值短数 最后的部分截断赋值给短数 3.短数赋给长数 数不变 4.符号位赋值 --计算机不区分符号位数字位,直接赋值 表达 ...
- 北京大学Cousera学习笔记--2-计算导论与C语言基础-第一讲.计算机的基本原理-图灵机
有限状态读写头从一个初始状态开始,对存储器上的输入数据进行读或写操作,经过有限步操作之后停机,此时存储器上的输出数据就是计算结果 (1) 图灵机的构成: 1.一条存储带:双向无限延长:上有一个个的小方 ...
- [Coursera][计算导论与C语言基础][Week 10]对于“数组应用练习”课后习题的思考题的一些想法
(首先,关于Honor Code,我咨询过了Help Center,分享课后练习的思考题的想法是可以的(注意不是代码),但要标明引用,引用格式来源于https://guides.lib.monash. ...
- 北京大学Cousera学习笔记--1-学习规划
1.计算机导论与C语言基础 1>.计算导论:计算机的基本原理.计算机的发展趋势.程序运行的基本原理 2>.C程序设计:感性认识C程序.理性认识C程序:机构化的程序-函数.更多的数据结构 2 ...
- Coursera课程笔记----计算导论与C语言基础----Week 6
理性认识C程序 导论(Week 6) 明确学习进度 讲课内容 感性➡️理性➡️函数➡️指针等 作业练习 初级阶段 ➡️正常作业练习 C语言的由来 程序设计语言的分类 低级语言之机器语言 0010101 ...
随机推荐
- day18常用模块之re模块
简单认识正则表达式 正则测试工具:http://tool.chinaz.com/regex/ 元字符,单个字符匹配 . 匹配除换行符以外的任意字符 \w 匹配字母数字下划线(word) \s 匹配任意 ...
- git操作笔记《二》:github更新缓慢问题的解决办法
从GitHub上拉取代码速度十分之慢,百度了一下,说是github的某些域名的dns解析被污染了. 解决方法: 方案一:可以花钱购买VPN服务,但是这对于学生党来说是不划算的. vpn 方案二:绕过d ...
- 自定义InputFormat和OutputFormat案例
一.自定义InputFormat InputFormat是输入流,在前面的例子中使用的是文件输入输出流FileInputFormat和FileOutputFormat,而FileInputFormat ...
- POJ 3280 Cheapest Palindrome (区间DP) 经典
<题目链接> 题目大意: 一个由小写字母组成的字符串,给出字符的种类,以及字符串的长度,再给出添加每个字符和删除每个字符的代价,问你要使这个字符串变成回文串的最小代价. 解题分析: 一道区 ...
- SpringBoot2 task scheduler 定时任务调度器四种方式
github:https://github.com/chenyingjun/springboot2-task 使用@EnableScheduling方式 @Component @Configurabl ...
- JAVA时间工具类,在维护的项目里的
package com.inspur.jobSchedule.util; import org.apache.commons.lang3.time.DateUtils; import org.apac ...
- [Caffe]Win10+VS2015+CUDA8.0+cudnn5.1环境配置
百度:win10 caffe vs2015 编译caffe.sln工程参见->这里 caffe训练参见->这里 参见->这里 Windows+VS2013爆详细Caffe编译安装教程
- css 浮动布局,清除浮动
浮动的特性: (1)浮动元素有左浮动(float:left)和右浮动(float:right)两种 (2)浮动的元素会向左或向右浮动,碰到父元素边界.其他元素才停下来 (3)相邻浮动的块元素可以并在一 ...
- Python的numpy库中rand(),randn(),randint(),random_integers()的使用
1.numpy.random.rand() 用法是:numpy.random.rand(d0,d1,…dn) 以给定的形状创建一个数组,并在数组中加入在[0,1]之间均匀分布的随机样本. 用法及实现: ...
- git删除掉已经保存的用户名密码
以保存的用户名密码删除,先找到变量存在的位置: git config -l To help track down the setting, I'd try to use: git config --l ...