计算机的历史与未来(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. Candy Distribution

    Kids like candies, so much that they start beating each other if the candies are not fairly distribu ...

  2. SSH、SCP命令及使用说明

    SSH篇 1.ssh介绍 SSH是一种网络协议,用于计算机之间的加密登录.如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露 ...

  3. 架构师修炼之微服务部署 - Docker简介

    Docker简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows 机器上,也可以实现虚拟化,容器是 ...

  4. vue2.x学习笔记(三)

    接着前面的内容:https://www.cnblogs.com/yanggb/p/12562137.html. vue实例 要使用vue提供的特性与功能,都需要通过vue实例来使用. 创建一个vue实 ...

  5. CentOS7.7下二进制部署MySQL多版本多实例实战

    第一章 需求说明 部署MySQL5.7的三个多实例环境(端口分别为3307,3308,3309) 部署MySQL5.6和8.0版本数据库实例((端口分别为3316和3326) 第二章 环境准备 1.虚 ...

  6. Springboot:员工管理之首页(十(2))

    访问首页可以通过两种方式: 1:编写controller 2:自定义扩展视图解析器(推荐使用) 1:编写Controller com\springboot\controller\IndexContro ...

  7. 基于Koa实现留言版demo

    学习node.koa,随手做了一个留言板demo. 基本功能如下: 未登录用户可以查看主题列表和主题内容. 用户注册和登录功能. 登录用户可以发表.修改.删除自己的主题. 登录用户主题列表下方有发表主 ...

  8. php获取远程文件内容的函数

    一个简单的php获取远程文件内容的函数代码,兼容性强.直接调用就可以轻松获取远程文件的内容,使用这个函数也可获取图片.代码如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...

  9. SQLI-LABS学习笔记(四)

    第十六关   和之前的关卡一样,修改闭合,无意义的关卡   ")闭合即可   第十七关   这题从源码上看发现     这里进行了两次查询   先查询了用户名是否存在   再查询密码是否匹配 ...

  10. 关于XSS弹窗的小姿势

    最近快比赛了想刷刷题,做合天XSS进阶的时候遇到了过滤了alert然后还要弹窗效果的题目,这让我这个JS只学了一点点的菜鸡倍感无力.     在百度了其他资料后,发现confirm('xss')和pr ...