北京大学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 ...
随机推荐
- H5唤醒app,不完全兼容
---ps---最近新发现一个开源的H5唤醒app的库:建议使用第三方开源库https://github.com/suanmei/callapp-lib实现:或者极光魔链(后期可能会收费)https: ...
- teamviewer连接未就绪的解决(Manjaro Linux)
放假回家,想设置一下teamviewer,结果一直报错"TeamViewer not ready. Please check your connection" 查了一通,发现这个方 ...
- VsCode创建第一个vue项目
使用vue-cli快速构建项目 vue-cli 是vue.js的脚手架,用于自动生成vue.js模板工程的. 安装vue-cli之前,需要先安装了vue和webpack · node -v ...
- C# 接口属性的定义&get、set访问器的简单应用
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 接口 ...
- Python WMI获取Windows系统信息
#!/usr/bin/env python # -*- coding: utf-8 -*- #http://www.cnblogs.com/liu-ke/ import wmi import os i ...
- python3.7 打包成exe程序(只需两行命令)
根据博客作者louniuous的python3.7 打包成exe的一种方法 pyinstaller一文改编简化 环境:pycharm2018.1+win7+python3.7 工具:pyinstall ...
- [Web]ORM模式的看法
在看各种语言建站Web资料的时候,无一例外的都使用了ORM的设计模式.一直百思不得其解. 从个人实践来说,ORM带来了更高的学习成本和更低的性能,并且还无法满足复杂的查询需求. 之前一直认为自己在大型 ...
- 如何在 code blocks中使用 mkl库
为了安装caffe, 所以安装了mkl, 现在想在codeblock的项目中使用mkl. 设置mkl环境变量: mkl安装好后默认是在/opt/intel/mkl中,其中/opt/intel/mkl/ ...
- AMPPZ-2015 (MIPT Workshop Open 1)
A. Album of Numbers 设$cnt[i]$表示数字$i$的个数,则$ans=\frac{\sum_{i} i\times cnt[i]\prod_{j>i}(cnt[j]+1)} ...
- Chapter 3 Introduction to Objects and Input/Output
与声明一个primitive variable不同,声明一个对象的时候,并不创建用来存储一个对象的内存空间,而是创建了一个存储该对象所在内存空间的地址. 在java里,new是一个操作符,它让系统分配 ...