已知:电路能完成计算

怎么计算:设计好很多个原子电路,需要的时候就把他们临时组装在一起--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语言基础--计算机的基本原理-程序运行的基本原理的更多相关文章

  1. 北京大学Cousera学习笔记--5-计算导论与C语言基础--计算机的基本原理-设计程序

    只要你认真的思考,你就会发现这个世界是如此的简单,正如我们想象的一样,正因为如此,我们的思考才更加的有价值 1.单词:关键字(有特定含义的):其他词用关键字定义出来 2.数和计算符号:数据类型+运算符 ...

  2. 北京大学Cousera学习笔记--6-计算导论与C语言基础--计算机的基本原理-认识程序设计语言 如何学习

    1.是一门高级程序语言 低级语言-机器语言(二进制) 汇编语言-load add save mult 高级语言:有利于人们编写理解 2.C语言的规范定义非常的宽泛 1.long型数据长度不短于int型 ...

  3. 北京大学Cousera学习笔记--7-计算导论与C语言基础--基本数据类型&变量&常量

    1.整形数据 1.基本型(int 4B).短整型(short 2B).长整型(long 4B)  VC环境下 sizeof运算符用于计算某种类型的对象在内存中所占的字节数 ,用法:size(int) ...

  4. 北京大学Cousera学习笔记--3-计算导论与C语言基础-第一讲.计算机的基本原理-计算机怎么计算-数的二进制

    思考问题 1.“数”在计算机中是如何表示的? 2.逻辑上“数”是怎么运算的? 3.物理上“数”的计算是怎么实现的? 从图灵机计算问题得出: 1.字母表中的符号越多(几进制),读入移动次数减少,但程序数 ...

  5. 北京大学Cousera学习笔记--8-计算导论与C语言基础--C的运算部分

    赋值运算符 1.两边类型不同:赋值时要进行类型转换,右边要转换到左边 2.长数赋值短数 最后的部分截断赋值给短数 3.短数赋给长数 数不变 4.符号位赋值 --计算机不区分符号位数字位,直接赋值 表达 ...

  6. 北京大学Cousera学习笔记--2-计算导论与C语言基础-第一讲.计算机的基本原理-图灵机

    有限状态读写头从一个初始状态开始,对存储器上的输入数据进行读或写操作,经过有限步操作之后停机,此时存储器上的输出数据就是计算结果 (1) 图灵机的构成: 1.一条存储带:双向无限延长:上有一个个的小方 ...

  7. [Coursera][计算导论与C语言基础][Week 10]对于“数组应用练习”课后习题的思考题的一些想法

    (首先,关于Honor Code,我咨询过了Help Center,分享课后练习的思考题的想法是可以的(注意不是代码),但要标明引用,引用格式来源于https://guides.lib.monash. ...

  8. 北京大学Cousera学习笔记--1-学习规划

    1.计算机导论与C语言基础 1>.计算导论:计算机的基本原理.计算机的发展趋势.程序运行的基本原理 2>.C程序设计:感性认识C程序.理性认识C程序:机构化的程序-函数.更多的数据结构 2 ...

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

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

随机推荐

  1. 利用yarn capacity scheduler在EMR集群上实现大集群的多租户的集群资源隔离和quota限制

    转自:https://m.aliyun.com/yunqi/articles/79700 背景 使用过hadoop的人基本都会考虑集群里面资源的调度和优先级的问题,假设你现在所在的公司有一个大hado ...

  2. 用户管理和su,id 命令

    useradd userdel usermod groupadd groupdel 用户管理 为什么需要有用户? 1. linux是一个多用户系统 2. 权限管理(权限最小化) 用户:存在的目录是为了 ...

  3. centos安装svn并创建版本库配置用户分组权限

    1.设置aliyun安装源// 本步骤非必须, 使用aliyun安装源后, 执行yum update速度明显提升 wget -O /etc/yum.repos.d/CentOS-Base.repo h ...

  4. NumPy数组对象

    1.创建NumPy数组 import numpy as np # 创建3*2*4的三维数组 a = np.arange(24).reshape(3, 2, 4) # 打印三维数组的所有元素 print ...

  5. JDBC 利用反射 配置文件

    import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; import java.s ...

  6. servlet实现简单的登录功能

    1.登录页面 Login.html <%@page contentType="text/html" pageEncoding="UTF-8"%> & ...

  7. 用TCP IP从C#实时传数据到Matlab

    项目需要要从C#传实时数据到Matlab到数据分析,应该很多人也有这个需求,但是网上这方面的数据比较少,所以我把代码稍微贴下 首先是C#的部分 //介于我是同台电脑上传数据,直接用自己的IP建一个Se ...

  8. PHP字符串处理 单引号 双引号 heredoc nowdoc 定界符

    ---恢复内容开始--- 2019年2月22日09:49:54 参考文档:   http://php.net/manual/zh/language.types.string.php#language. ...

  9. 通过mycat实现mysql的读写分离

    mysql的主从配置沿用上一篇博客的配置:https://www.cnblogs.com/MasterSword/p/9434169.html mycat下载地址:http://www.mycat.i ...

  10. ide phpStorm注释模板修改

    1.打开设置 2.找到,如下图所示位置,注意是第二个tab(Includes) 3.再任意空白位置,输入/**,按回车即可出现对应注释内容(其实还可以先 Ctrl + Shift + /,然后删少一个 ...