计算机的历史与未来(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. Pytorch自定义创建BP神经网络

    class BPNet(nn.Module): def __init__(self, in_dim, n_hidden_1, n_hidden_2,\ n_hidden_3, n_hidden_4, ...

  2. layoutInflater参数解析与源码分析

    关于LayoutInflater方法,无论是在listview的适配器中,还是在动态添加view的时候,都会出现它的身影,最开始我在看<第一行代码>时,不知道这个方法实际的参数到底指的是什 ...

  3. 选择IT行业的自我心得,希望能帮助到各位!(五)

    相信很多小伙伴,在看完之前的一二三四,也是我一路走来,走走停停,走走停停,有快乐,也有伤悲,毕竟这就是人生嘛,人生不起起伏伏怎么才能体验刺激的快感,也让我从一个小男孩净化成清高浮躁的青少年,在从而让我 ...

  4. 如何使用python进行自动网上考试

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: HIS Hacker PS:如有需要Python学习资料的小伙伴可以 ...

  5. LeetCode#160-Intersection of Two Linked Lists-相交链表

    一.题目 编写一个程序,找到两个单链表相交的起始节点. 如下面的两个链表: 在节点 c1 开始相交. 示例 1: 输入:intersectVal = 8, listA = [4,1,8,4,5], l ...

  6. WEBMIN(CVE-2019-15107) 学习

    简单介绍: Webmin是目前功能最强大的基于Web的Unix系统管理工具.管理员通过浏览器访问Webmin的各种管理功能并完成相应的管理动作.目前Webmin支持绝大多数的Unix系统,这些系统除了 ...

  7. StringRedisTemplate的常用操作

    stringRedisTemplate.opsForValue().set("test", "100",60*10,TimeUnit.SECONDS);//向r ...

  8. 2019-2020-1 20199303《Linux内核原理与分析》第九周作业

    进程的切换和一般执行过程 知识总结 操作系统原理中介绍了大量进程调度算法,这些算法从实现的角度看仅仅是从运行队列中选择一个新进程,选择的过程中运用了不同的策略而已. 对于理解操作系统的工作机制,反而是 ...

  9. Windows 挂起进程

    A thread can suspend and resume the execution of another thread. While a thread is suspended, it is ...

  10. Android混淆配置及总结

    Android打正式的release包混淆是必备的,避免APP被反编译,使项目中隐秘的技术或信息被别人查看. Android studio则写在proguard-rules.pro中,当然写在prog ...