已知:电路能完成计算

怎么计算:设计好很多个原子电路,需要的时候就把他们临时组装在一起--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. mybatis 开发规范

  2. for in和for of的区别(转)

    原文链接:https://www.jianshu.com/p/c43f418d6bf0 1 遍历数组通常用for循环 ES5的话也可以使用forEach,ES5具有遍历数组功能的还有map.filte ...

  3. 【转】【数据结构】【有n个元素依次进栈,则出栈序列有多少种】

    卡特兰数 大神解释:https://blog.csdn.net/akenseren/article/details/82149145      权侵删 原题 有一个容量足够大的栈,n个元素以一定的顺序 ...

  4. Servlet(五):请求转发和重定向

    请求转发: 问题: 服务器在接收到浏览器的请求后,仅仅使用一个 Servlet进行请求处理,会造成不同的Servlet逻辑代码 冗余,Servlet的职责不明确. 解决: 使用请求转发. 特点: 一次 ...

  5. LeetCode题解 | 215. 数组中的第K个最大元素

    在未排序的数组中找到第 k 个最大的元素.请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素. 示例 1: 输入: [3,2,1,5,6,4] 和 k = 2 输出: 5 ...

  6. Redis自学笔记:5.实践

    第5章实践 5.3 python与redis 5.3.1安装 pip install redis 5.3.2使用方法 自己补充内容:Ubuntu下redis开启远程连接 打开redis配置:sudo ...

  7. SQL中DATENAME函数的用法

    在SQL数据库中有多种函数,下面就将为您介绍其中的DATENAME函数的用法,供您参考,希望对您学习SQL中函数的用法能有所帮助. 在SQL数据库中,DATENAME函数的作用是是从日期中提取指定部分 ...

  8. django——用户认证组件

    用户认证 auth模块 1 from django.contrib import auth django.contrib.auth中提供了许多方法,这里主要介绍其中的三个: 1.1 .authenti ...

  9. 手机号验证正则表达式+Demo(亲测完毕)

    以下为本人亲测过的验证手机号格式的demo,需要的小伙伴拿走不谢~<!DOCTYPE html><html><head><meta charset=" ...

  10. 使用CSS达到文字首尾对齐效果

    在制作表单的时候经常会遇到需要不同个数的文字首尾对齐,比如: <span>姓名:</span> <span>联系方式:</span> 姓名: 联系方式: ...