计算机的历史与未来(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. uni-app同步缓存值 设置 读取 删除

    A页面 <view class="go-to-tab" @tap="gotologin"> 去login页面 </view> msg : ...

  2. linux基础知识点扫描

    1.tty:查看自己的虚拟终端 2.echo "你的服务器已经被我控制,请立刻打钱给我,账号12312312312314123421,否则后果自负!!!"  >  /dev/ ...

  3. Delphi Unicode转中文

    function UniCode2GB(S : String):String;Var I: Integer;beginI := Length(S);while I >=4 do begintry ...

  4. 面试官:兄弟,说说Java到底是值传递还是引用传递

    二哥,好久没更新面试官系列的文章了啊,真的是把我等着急了,所以特意过来催催.我最近一段时间在找工作,能从二哥的文章中学到一点就多一点信心啊! 说句实在话,离读者 trust you 发给我这段信息已经 ...

  5. Java环境下 selenium webDriver + chrome浏览器搭建与调试

    一.首先下载selenium webDriver jar包,下载地址如下: http://selenium-release.storage.googleapis.com/index.html 二.下载 ...

  6. [PHP][mysql] 需要知道的那些事

    就是想总结一下自己不会的! sql: 1.在SQL语句中出现AS,是起别名的意思! 例子:select a.* from table_1 as a就是给table_1起个别名叫a,因此前面就可以使用a ...

  7. JDBC 工具类封装

    每次使用jdbc 我们都要 加载驱动类 创建链接 创建Statement 接口对象执行sql 关闭资源 按照这样的套路可以封装一些重用代码方便在其他方法中调用 package com.xzlf.jdb ...

  8. 关于“xxx”object is not callable的异常

    参考博文:https://blog.csdn.net/yitiaodashu/article/details/79016671 所谓callable对象是指一个后边可以加()的对象,比如函数, 所以这 ...

  9. 常用的python开发工具对比

    一名优秀的Python开发人员都有一套好用的Python开发工具,好的开发工具可以使Python开发人员的工作更高效,以下是几款比较好用的Python开发工具,Python开发人员,尤其是初学者,可以 ...

  10. 在c++中引用c头文件里的函数

    在c++中有的时候想要引用c头文件里的函数有两种方法;就拿c语言里面的<stdlib.h>举例 在c中我们想要用<stdlib.h>里的函数,形式为:#include<s ...