计算机的历史与未来(Week 2)

计算机历史

早期计算机:手工计算器➡️机械计算器➡️计算机原型

现代计算机:电子管计算机➡️晶体管计算机➡️集成电路计算机➡️超大规模集成电路

早期的手工计算辅助工具

功能:标记计算过程,记录计算结果,辅助数字计算

缺点:无法记录计算法则,无法设定计算步骤

帕斯卡加法器:一种齿轮装置,能做6位加法和减法

莱布尼兹:提出二进制,其加法器能够进行四则运算,到1

巴贝奇:制作出差分机,机器分位堆栈运算器控制器

Hollerith制表机,电子穿孔卡片汇总

电气元件的计算机原型:Z1、Z2、Z3 Zuse发明的

普遍认为的“第一台计算机”——ENIAC

缺点:不是存储程序式的计算机,编程通过手工插接线进行

从ENIAC到EDVAC——电子离散变量自动计算机

John von Neumann发明世界第一台存储程序计算机,是现代所有计算机的原型和范本

计算机发展目标

早期目标:如何实现自动的计算

当前目标:如何降低计算的成本

第一代计算机 1940~1950

使用真空管存储数据,响应比机械快,体积大、耗能高、易烧坏

第二代计算机 1950~

贝尔实验室发明晶体管存储数据,体积小,成本和功耗低

产生了不可移植的操作系统,产生了Fortran、Cobol

第三代计算机 1965~

德州仪器发明集成电路,操作系统可移植,产生了C语言

第四代计算机 1970~

超大规模集成电路,更快更小更便宜

摩尔定律

芯片密度每18个月增加一倍,CPU性价比大约18个月翻一番

计算机分类

微型计算机(Workstation、PC)

服务器(小型机,中型机)

大型计算机、巨型计算机(超级计算机)

新型计算模式——云计算

未来的计算——从摩尔定律到量子计算机

摩尔定律还能坚持多久?

遇到的障碍:散热、晶体管大小限制、电泄漏

摩尔定律失效以后

全新的计算机理论和计算模式:量子计算机、生物计算机

量子计算

量子计算的提出:Richard Phillips Feynman 提出利用量子体系实现通用计算的想法

模拟量子物理世界所需的计算能力远远超过了经典计算机所能达到的能力

经典计算:一个比特某一时刻只能保持一种状态(0或1),例:n个比特某一时刻只能存储2^n个数之一,计算过程是接受一个输入数据,完成一次运算,输出一个结果

量子计算:一个量子比特可以同时保持多种状态,例:n个量子比特某一时刻可存储全部2n个数,计算过程是同时接受2n个输入数据,同时完成运算,输出2^n个结果

实现难点:与外界环境隔离才能保持良好的相干性⬅️矛盾➡️与外界环境良好耦合才能控制演化并读出结果

计算机领域的十五年周期律

1965 大型机的出现 1980 计算机的普及 1995 互联网的普及

Coursera课程笔记----计算导论与C语言基础----Week 2的更多相关文章

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

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

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

    C语言中的运算成分(Week 8) 赋值运算符 "="赋值运算符 给赋值号左边的变量赋予数值 在变量定义的同时可以为变量赋初值 要点一:两面类型不同 若=两边的类型不一致,赋值时要 ...

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

    C语言中的数据成分(Week7) 内存 把内存想象成长带,带子上有许多方格,每个方格有8位(8bit) 2^10 = 1024 1B = 8 b 1KB = 1024Byte MB.GB.TB.PB- ...

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

    感性认识计算机程序(Week 4) 引入 编程序 = 给计算机设计好运行步骤 程序 = 人们用来告诉计算机应该做什么的东西 问题➡️该告诉计算机什么?用什么形式告诉? 如果要创造一门"程序设 ...

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

    C语言中的控制成分(Week 9) 计算机程序的基本结构 任何具有单入口单出口的程序,都可以用顺序结构.分支结构.循环结构来表达 分支语句 在执行if语句前,先对表达式求解 if()内可以是任意的数值 ...

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

    存储程序式计算机 冯·诺伊曼式计算机 "关于EDVAC的报告草案" 组成:控制器(协调工作).运算器(算数&逻辑运算).存储器(存储操作信息和中间结果).输入设备.输出设备 ...

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

    计算机的基本原理(Week 1) 第一次数学危机 公元前500年,毕达哥拉斯学派,他们相信数是万物的本源:一切数均可表示成整数或者整数之比 然而毕达哥拉斯证明了勾股定理,某些直角三角形的三边比不能用整 ...

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

    期末编程测试(Week 12) Quiz1 判断闰年 #include <iostream> using namespace std; int main() { int year; cin ...

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

    C程序中的字符串(Week 11) 字符数组 所有的字符串,都是以\0结尾的 只能在数组定义并初始化的时候:char c[6] = "China"; 不能用赋值语句将一个字符串常量 ...

随机推荐

  1. G++编译链接的那些事

    语言 CPP 前言   虽然 VSCodeC++ 编辑器非常受大家的欢迎,无论是大佬还是小白都说对其爱不释手...   我...用了一段时间后发现实在是麻烦,配置往往花费我大量时间.可以说真的是吃力不 ...

  2. 计时线程Runnable和Handler的结合

    利用Runnable和Handler,来创建计时线程 private double recodeTime = 0;// 用于计时 private double econdTime = 0;// 用于计 ...

  3. Android应用架构分析

    一.res目录: 1.属性:Android必需: 2.作用:存放Android项目的各种资源文件.这些资源会自动生成R.java. 2.1.layout:存放界面布局文件. 2.2.strings.x ...

  4. 基于scrapy框架输入关键字爬取有关贴吧帖子

    基于scrapy框架输入关键字爬取有关贴吧帖子 站点分析 首先进入一个贴吧,要想达到输入关键词爬取爬取指定贴吧,必然需要利用搜索引擎 点进看到有四种搜索方式,分别试一次,观察url变化 我们得知: 搜 ...

  5. WPF中在Gmap.net中将Marker动起来

    前一段时间说过一篇绘制极坐标的,这段时间对它进行了改造已经今非昔比了,功能实现了很多,我目的是让Marker动起来,然后还会绘制Route,上篇也就是简单的绘制了Route,没有关于Marker的相关 ...

  6. 【高频 Redis 面试题】Redis 事务是否具备原子性?

    一.Redis 事务的实现原理 一个事务从开始到结束通常会经历以下三个阶段: 1.事务开始 客户端发送 MULTI 命令,服务器执行 MULTI 命令逻辑. 服务器会在客户端状态(redisClien ...

  7. 高性能的JavaScript,这是一个高级程序员必备的技能

    不知道大家有没有看过高性能JavaScript,这个书是一本好书,推荐有JavaScript的基础的同学可以看一看这本书. 下面是我根据这本书整理出来的知识: 1.将经常使用的对象成员.数组项.和域外 ...

  8. elementaryos5安装mysql5.7、php7.2、nginx1.14.0

    一.mysql5.7 安装mysql5.7: sudo apt-get install mysql-server-5.7 查看安装的mysql版本: mysql -V 5.7版本mysql安装过程中以 ...

  9. opencv-6-图像绘制与opencv Line 函数剖析

    opencv-6-图像绘制与opencv Line 函数剖析 opencvc++qt 开始之前 越到后面, 写的越慢, 之前还抽空去看了下 学堂在线那篇文章提供的方法, 博客第一个人评论的我, 想想还 ...

  10. Linux 软链接和硬链接

    系统链接文件 文件有文件名和数据,在Linux上被分成两个部分:用户数据(user data)与元数据(metadata) 用户数据:文件数据块(data block),数据块是记录文件真实内容的地方 ...