2020-12-10-计算机基础

计算机发展史

  1. 第一代计算机

    • 体积127m2

    • 1946-1957

    • 主要使用真空电子管

      • 电子管体积大,散热多
  2. 第二代计算机

    • 晶体管
    • 1958-1964
    • 价格降低,体积减小,性能提高(代替了真空电子管)
    • 推进广泛使用电子计算机
    • 电子线路结构大大改观
  3. 第三代计算机

    • 使用的集成电路
    • 1965-1970
    • 集成电路使用的元器件数量在短时间内翻倍增长
    • 1cm2可以集成上百万个电子器件(第四代计算机铺垫)
  4. 第四代计算机

    • 大规模集成电路
  5. 第五代计算机?人工智能计算机(日本)

可以看出计算机发展是按照计算机所使用的的物理器件来划分的,电子组成元器件

摩尔定律(计算机界的黄金定律)

  • 价格不变动时,制作计算机的集成电路上可容纳的晶体管数目,约每隔24(18)个月就增加一倍
  • 微处理器的性能每隔18个月提高一倍,而价格下降一半
  • 用一美元买到的电脑性能,每隔18个月翻一倍

计算单位(用来衡量计算机的发展速度)

1k = 1024

1M = 1024K

1G =1024M

1T = 1024G

1P = 1024T(世界最快的计算机已经达到了P的级别)

1E = 1024P

超级计算机(巨型机)

它的发展可以看作国家科技发展水平的标志

应用

  • 天气预报
  • 地质勘测
  • 卫星图像处理
  • 。。。

以上这些都是需要大量计算来完成的

大规模数据计算一定会用到超级计算机

  • 研制水平
  • 生产水平
  • 应用能力

以上为超级计算机发展方向,来衡量国家经济实力与科学水平的重要标志

Scratch

Scratch由美国麻省理工学院开发的免费的程序设计的语言环境

应用

  • 互动故事
  • 动画
  • 游戏
  • 音乐
  • 艺术

BYOB-会唱歌的小精灵

  1. 积木式编程
  2. 自底向上编程的方法

二进制

  1. 逢二进一
  2. 相邻为高位为低位的二倍
  3. 小数位
    • 小数第一位代表2的负一吃放
    • 小数第二位代表2的负二次方
    • 以此类推

二进制加法

同样可以使用竖式计算

image-20201208221933310

进制问题

如果采用的数制有R个基本符号,那么这个数制为R进制

R称为这种数制的基数

逢R进一

把一个R进制转换为10进制

image-20201208222722452

25什么情况下等于31?

(25)10进制 =(31)8进制

十进制转换为2进制

整数十进制转换为二进制

image-20201208223736948

技巧:整数十进制数除以2,第一次所得余数即为2进制数整数部分的最低位(即b0),第二次除以2得到的余数为b1

除以2取余,余数为整数部分依次低位到高位

小数部分十进制转换为二进制(并不一定每位十进制小数都能找到对应的二进制对应的等值转换)

image-20201208225058536

技巧:小数乘2取整,第一次取整为二进制小数部分的高位,第二次取第一次的结果的小数部分再次乘2,得到的整数部分为小数部分的第二高位,依次类推,直到乘到小数部分的数字为0为正

乘以2取整,整数为小数部分依次高位到低位,每次乘完结果的小数部分为0则计算结束

win10计算机的进制转换

  1. FN+f12切除计算机
  2. 点击左上角切换到程序员模式

image-20201208230511745

0与1的故事

计算机为什么使用0,1二进制来操控

  • 状态简单(适合计算机这样严密的机器使用)
    • 相比用10个稳定状态操控,2个稳定状态无疑是最简单的
    • 电流的有无
    • 开关的闭合
    • 更经济
    • 。。。

这里举一个例子:比较一下2的33次方与10的10次方各需要的状态数(2的33次方与10的10次方所表示的数值范围非常相近)

image-20201209000138477

  • 可靠性,稳定性高
  • 运算规则简单,简化设计
  • 通用性强

计算机

  • 计算机的核心
    • CPU
      • ALU 算术逻辑单元
      • CU

计算机当中的溢出

在使用电子计算装置的时候都要考虑计算转置的范围和精度

  • 范围
    • 计算机所表示的数值的上限
  • 精度
    • 计算机所表示的数值的下限

溢出:超出电子计算装置所能表示的数值的范围称为溢出

计算机当中的数字截断误差

image-20201209090003676

程序编写

  • 变量 初始化
  • 分支
  • 循环
  • 顺序结构

结构化程序设计

目的:为了解决问题

自顶向下

  1. 搭积木的自底向上方式
  2. 自顶向下,计算机结构化程序设计就是采用自顶向下(结构指的是计算机使用的3个基本机构,顺序结构、循环结构、分支结构
    1. 大问题化解为一系列小问题
    2. 这些小问题化解为更小的一系列问题
    3. 直至计算机能够做到的小问题(即这里怎么知道写程序来解决整个问题,直到用程序设计语言能够实现为止),最后拼接起来这些所有的小问题

自顶向下,逐步求精,抽象化到具体化,抽象的不好,具体求精也不能很好实现

模块化设计

大块的功能分为若干个子模块

结构化编码

高级语言使用的基本程序结构顺序结构、循环结构、分支结构(如果,那么)

图灵与图灵机(计算机理论上的突破)

既能完成八音盒的功能(根据纸带来弹奏音乐 自动输入,手动输出),又能完成自动加法器的功能(根据手动输入的弹珠,来计算加法,手动输入,自动输出

  • 图灵机工作原理**(自动输入,自动输出)**
    • 读写器(读写输入的内容,写出空白格的内容)
    • 控制器(声明运算法则)
    • 输入符号

图灵机工作表(一组转换规则)(用来完成N+1的动作)

  • S起始状态
  • G结束状态

image-20201209140459815

图灵机为理想计算机的数学模型

变换规则表=>控制器,完成不同的计算

规则表由一系列的规则组成

起始状态,读写头所在位置的符号=>是否输出符号=>动作:是否移动,左移还是右移=>状态的改变。。。

什么是计算,到底什么是计算?

  • 加法毋容置疑为计算
  • x的平方转换为2x 也是计算 求导计算
  • China=>中国
  • 排序
  • 公里与推到规则转换为定理

以上都是属于计算,本质上从一个符号变换为另一个符号

输入相同的结果,不同的计算程序(图灵机上的控制器),得到的结果也不同

计算机是如何工作的

布尔代数

构成了计算机的数学和逻辑基础

基本的三中布尔运算

  • 二元与
  • 二元或(OR)
  • 一元非(NOT)

布尔代数运算可以使用电路来实现

  • 二元与 串联

  • 二元或 并联

  • 非 开关短接负载

冯诺依曼

101报告 1945.6

把计算机分为5大组件,指出了基本工作方法,给出了计算机结构设计---- 称为冯诺依曼体系结构

  • 存储器 为内存 存放执行的程序 ,数据指令

    • 内存 计算机运行的过程中,需要的使用的数据和指令都放在内存当中,CPU也是直接跟内存打交道
    • 外存
      • 这里举个例子
      • 当我们准备使用计算机的浏览器的时候
      • 在你双击浏览器的一瞬间,浏览器程序就会从外存进入内存了
      • 此时浏览器启动
      • 可以使用CPU来解决用户的需求
  • 运算器(算术逻辑单元)对数据进行处理和运算

    • 寄存器 用来暂存数据
  • 控制器(控制单元) 实现计算机本身的自动化过程,指令自动装入,自动执行

计算机里把运算器和控制器集成在一个芯片上,称为中央处理单元(CPU

  • 输入设备 用来指挥计算机工作 包括鼠标,键盘 来输入原始数据和运行的程序
  • 输出设备 显示器 ,显示屏,打印机
  • image-20201209162329637

总线作为5大计算机组件的信息通道

  • 数据总线
  • 地址总线
  • 控制总线

计算机系统

  • 刚生产的计算机什么都没安装只有硬件,叫裸机

  • 在1969年,IBM360系统取得成功后,1970年1月一日正式出现了软件硬件的划分

    • 硬件 所有的电子机械装置

    • 软件 是相对硬件而言的 有计算机硬件执行,完成一定任务的所有程序和数据 使用计算机的资源的软件

      • 系统软件 面向计算机的软件

      • 应用软件 面向用户的软件

  • 计算机造出来第一个安装的软件就是系统软件------操作系统

  • 操作系统也是由千万行代码所组成的

    • 操作系统本质上是软件
    • 用来管理计算机的硬件与软件的协调
    • 向下来管理计算机硬件—对底层硬件进行封装
    • 向上给用户提供与计算机的交互接口
      • 操作系统的管理功能:
      • 操作系统对CPU的管理叫做进程管理
      • 对内存的管理叫做存储管理(处理器管理)
      • 对输入输出设备的管理叫做设备管理
      • 对所有软件的管理叫做文件管理
      • 操作系统的服务功能
      • 给计算机用户提供用户接口
        • 电脑桌面的各种应用软件就是用户接口
  • 杀毒,办公文档,娱乐软件,游戏等都为应用软件

每一个外接到计算机的硬件都要给计算机操作系统进行报道

  • 比如,在计算机上外接一个打印机(硬件)
  • 那么这个报道过程就是你要给计算机装驱动打印机的程序(软件)

冯·诺伊曼瓶颈

在CPU与存储器之间的流量(数据传输率)与存储器的容量相比起来相当小,在现代计算机中,流量与CPU的工作效率相比之下非常小,在某些情况下(当CPU需要在巨大的数据上运行一些简单指令时),数据流量就成了整体效率非常严重的限制。CPU将会在数据输入或输出存储器时闲置。由于CPU速度远大于存储器读写速率,因此瓶颈问题越来越严重。

计算机中的程序

完成既定任务的一组指令序列

程序是一组指令的集合,为了完成某项任务而用某种编程语言编写的一组指令的集合 这种工作模式称作存储程序控制

指令是对计算机进行程序控制的最小单位

  • 操作码 加法,减法等等
  • 操作数 需要操作的数据,谁来加法,减法

指令周期

  1. 取指令
  2. 分析指令
  3. 执行指令
  4. 指令计数器处理 用来记载指令执行到了哪一条(递增动作

计算机存储程序控制原理

  • 能够存储程序
  • 控制程序(自动执行)

CPU可以看作计算机的大脑,程序就是计算机的“灵魂”

计算机高级程序设计语言

  • 对计算机来说它是精确的
  • 对人来说它是比较容易理解的
  • 设计出来的语言独立于CPU的,不包含CPU相关的指令内容

人机交互通过计算机程序设计语言

源代码

人们设计的高级程序语言

目标代码

0101代码 计算机能够识别的代码

编译器

计算机上能够把源代码自动转换为目标代码的工具

解释器(有别于编译器)

是一种电脑程序,能够把高级编程语言一行一行直接转译运行。解释器不会一次把整个程序转译出来,只像一位“中间人”,每次运行程序时都要先转成另一种语言再作运行

计算机编程

  • 把组成计算机程序的指令称为代码
  • 程序可以包含几百万行代码,由程序员开发

汇编语言

了解硬件的使用指令来编写汇编语言相关程序

  • 汇编语言也要转换为0101 才能够让计算机去执行
  • 这个转换汇编语言为0101的程序称为汇编程序

计算机语言分类

  1. 高级语言
    • 计算机高级程序设计语言
    • 。。。。
  2. 低级语言
    • 汇编语言
    • 机器语言(0101)

进程

  1. 进程是程序执行的一次过程
  2. 系统进行资源分配和调度的独立单位
  3. 应用程序启动进入内存就变成了一个进程
  4. 进程在CPU当中是走走停停,间断性的
  5. 由于CPU运算速度非常快,让用户觉得CPU可以同时处理多个进程
  6. 事实上,CPU每次都只处理一个进程

CPU直接跟内存中的进程打交道,不与程序直接打交道

特征

  • 动态性
  • 独立性
  • 开发性

进程周期:创建而产生,调度而执行,等待而暂停,完成而消亡

进程与程序的区别

  • 进程是动态暂时性的
  • 程序是静态永久性的
  • 程序每次执行构成不同的进程,一个程序可以对应多个进程

线程(应用程序被使用和调度的最小单位)

线程被包含在进程当中

  • 一个进程中可以存在多个线程
  • 线程在进程中是并行运行的
  • 这些进程中的线程公用CPU,轮流使用并执行
  • 利用分时,CPU的告诉并行执行

存储管理

虚拟内存管理

虚拟内存为计算机在外存上开辟的一个临时内存空间,内存运行程序暂时用不到的指令存放在这里

当用户使用计算机进行很多个应用程序时,为什么计算机能够顺利的对用户打开的多个程序进行处理呢?

  • 用户所打开的应用程序,计算机只会把可能用到的程序指令送入内存
  • 用过的指令可能存在内容当中,也可能被送入虚拟内存
  • 计算机访问虚拟内存的速度与访问内存速度相差还是很大的
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值