北京大学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 ...
随机推荐
- mybatis 开发规范
- for in和for of的区别(转)
原文链接:https://www.jianshu.com/p/c43f418d6bf0 1 遍历数组通常用for循环 ES5的话也可以使用forEach,ES5具有遍历数组功能的还有map.filte ...
- 【转】【数据结构】【有n个元素依次进栈,则出栈序列有多少种】
卡特兰数 大神解释:https://blog.csdn.net/akenseren/article/details/82149145 权侵删 原题 有一个容量足够大的栈,n个元素以一定的顺序 ...
- Servlet(五):请求转发和重定向
请求转发: 问题: 服务器在接收到浏览器的请求后,仅仅使用一个 Servlet进行请求处理,会造成不同的Servlet逻辑代码 冗余,Servlet的职责不明确. 解决: 使用请求转发. 特点: 一次 ...
- LeetCode题解 | 215. 数组中的第K个最大元素
在未排序的数组中找到第 k 个最大的元素.请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素. 示例 1: 输入: [3,2,1,5,6,4] 和 k = 2 输出: 5 ...
- Redis自学笔记:5.实践
第5章实践 5.3 python与redis 5.3.1安装 pip install redis 5.3.2使用方法 自己补充内容:Ubuntu下redis开启远程连接 打开redis配置:sudo ...
- SQL中DATENAME函数的用法
在SQL数据库中有多种函数,下面就将为您介绍其中的DATENAME函数的用法,供您参考,希望对您学习SQL中函数的用法能有所帮助. 在SQL数据库中,DATENAME函数的作用是是从日期中提取指定部分 ...
- django——用户认证组件
用户认证 auth模块 1 from django.contrib import auth django.contrib.auth中提供了许多方法,这里主要介绍其中的三个: 1.1 .authenti ...
- 手机号验证正则表达式+Demo(亲测完毕)
以下为本人亲测过的验证手机号格式的demo,需要的小伙伴拿走不谢~<!DOCTYPE html><html><head><meta charset=" ...
- 使用CSS达到文字首尾对齐效果
在制作表单的时候经常会遇到需要不同个数的文字首尾对齐,比如: <span>姓名:</span> <span>联系方式:</span> 姓名: 联系方式: ...