第一章 计算机组成原理 ---- 概述

第一节 章节导学

  • 计算机的发展简史
  • 计算机的分类
  • 计算机的体系结构
  • 计算机的层次与编程语言
  • 计算机的计算单位
  • 计算机的字符与编码集

第二节 计算机的发展历史

  • 计算机发展的四个阶段
  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-H2hmobFN-1585571736271)(E:\workspace\TyporaProjects\计算机组成原理\images\1-1-1.png)]
    • 第一阶段(1946~1957):电子管计算机
    • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Vs4aYrew-1585571736272)(E:\workspace\TyporaProjects\计算机组成原理\images\1-1-电子管计算机.png)]
      • 发明背景:第二次世界大战是电子管计算机产生的催化剂(英国为了解密德国海军的密文)。
      • 代表:埃尼阿克(ENIAC),战争使用了飞机和火箭,为了精确打击目标需要通过几千次的运算来计算弹道的射击参数,埃尼阿克电子管计算机由此诞生,使得美国军方的实力大大提升。
      • 由18000多个电子管组成,运行耗电量150千瓦,重量达30吨,占地1500平方英尺。
      • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3iUD7iIt-1585571736273)(E:\workspace\TyporaProjects\计算机组成原理\images\1-1-埃尼阿克.png)]
      • 电子管计算机的特点:
        1. 集成度小,空间占用大
        2. 功耗高,运行速度慢
        3. 操作复杂,更换程序需要换线
    • 第二阶段(1957~1964):晶体管计算机
      • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6TrQvZpk-1585571736273)(E:\workspace\TyporaProjects\计算机组成原理\images\1-1-晶体管计算机.png)]
      • 发明背景:1948年,贝尔实验室的三个科学家发明了晶体管,在此后的10年,晶体管的发明使得计算机的发展取得了革命性的进展。
      • 代表:世界第一台晶体管计算机:TX-0,诞生于MIT林肯实验室。
      • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dDQS4IPX-1585571736273)(E:\workspace\TyporaProjects\计算机组成原理\images\1-1-TX-0.png)]
      • 代表:当时性能最高的晶体管计算机:PDP-1,配备4k内存,每秒可以执行200,000条指令;配备了一块512×512的显示器。
      • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HOB5KZsE-1585571736273)(E:\workspace\TyporaProjects\计算机组成原理\images\1-1-PDP-1.png)]
      • 晶体管计算机的特点:
        1. 集成度相对较高,空间占用相对较小
        2. 功耗相对较低,运行速度较快
        3. 操作相对简单,交互更加方便
    • 第三阶段(1964~1980):集成电路计算机
      • 发明背景:德州仪器的工程师发明了集成电路(IC),由于集成电路的出现,计算机具备了进入千家万户的条件。
      • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ykwx0miV-1585571736274)(E:\workspace\TyporaProjects\计算机组成原理\images\1-1-集成电路计算机.png)]
      • 在当时,IBM有两款计算机卖的火热,一款是IBM 7094 ,一款是IBM 1401 ,但是这两款计算机主打功能不同,无法相互兼容,IBM为了解决两款计算机的兼容问题,推出了System/360System/360 就是操作系统的雏形。
      • 集成电路计算机的特点:
        1. 计算机变的更小
        2. 功耗变的更低
        3. 计算速度变的更快
    • 第四阶段(1980至今):超大规模集成电路计算机
      • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cwGIbtuQ-1585571736274)(E:\workspace\TyporaProjects\计算机组成原理\images\1-1-超大规模集成电路计算机.png)]
      • 乔布斯和他的朋友发明的Apple和Apple二代在当时深受欢迎。
      • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PvG7iAvM-1585571736274)(E:\workspace\TyporaProjects\计算机组成原理\images\1-1-Apple.png)]
      • 超大规模集成电路计算机的特点:
        1. 一个芯片集成了上百万的晶体管
        2. 速度更快,体积更小,价格更低,更能被大众接受
        3. 用途丰富:文本处理、表格处理、高交互的游戏与应用
    • 第五阶段:未来的计算机
      • 生物计算机,也称仿生计算机,主要原材料是生物工程技术产生的蛋白质分子,并以此作为生物芯片来替代半导体硅片,利用有机化合物存储数据。
      • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-asI1WjUs-1585571736275)(E:\workspace\TyporaProjects\计算机组成原理\images\1-1-生物计算机.png)]
      • 生物计算机的特点:
        1. 体积小,效率高
        2. 不易损坏,生物级别的自动修复
        3. 不受信号干扰,无热损耗
      • 量子计算机(quantum computer),是一类遵循量子力学规律进行高速数学和逻辑运算、存储及处理量子信息的物理装置。当某个装置处理和计算的是量子信息,运行的是量子算法时,它就是量子计算机。
      • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZfTlMp6d-1585571736275)(E:\workspace\TyporaProjects\计算机组成原理\images\1-1-量子计算机.png)]
      • 发展历程:
        • 2013年5月,谷歌和VASA发布D-Wave Two
        • 2017年5月,中国科学院宣布制造出光量子计算机
        • 2019年1月,IBM展示了世界首款商业化量子计算机
        • 腾讯在2017年组建了量子实验室,阿里巴巴在2017年成立达摩院
  • 微型计算机的发展历史
    • 微型计算机的发展主要是从算力角度出发,在早期,发展受限于性能。
    • 微型计算机使用的是单核CPU:
      • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r9KUxS5B-1585571736275)(E:\workspace\TyporaProjects\计算机组成原理\images\1-1-单核CPU.png)]
    • 摩尔定律:当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一倍。
    • 由於单核CPU的发展已经到达瓶颈,多核CPU出现:
      • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-41dGQSiP-1585571736276)(E:\workspace\TyporaProjects\计算机组成原理\images\1-1-多核CPU.png)]

第三节 计算机的分类

  • 超级计算机

    • 功能最强、运算速度最快、存储容量最大的计算机。

    • 多用于国家高科技领域和尖端技术研究,比如天气预报、生物制药、海洋监测、核聚变、加密解密等。

    • 标记其运算速度的单位是是TFlop/s。

      • 1 TFlop/s = 每秒一万亿次浮点计算
      • Intel(R) Core(TM) i7-6700K CPU @ 4.OOGHz 的浮点运算能力为44.87 GFlop/s
      • 44.87 GFlop/s = 0.04487TFlop/s
    • 世界前三超级计算机排名(截至于2018年11月)

      • 名字 制造商 处理器(个数) 峰值速度
        Summit IBM(美国) 2,397,824 200,795 TFlop/s
        神威 太湖之光 中国 10,649,600 125,436 TFlop/s
        Sierra IBM(美国) 1,572,480 119,193 TFlop/s
    • 中国前三超级计算机排名(截止于2018年11月)

      • 名字 制造商 处理器(个数) 峰值速度
        神威 太湖之光 国家并行计算机工程
        技术研究中心
        10,649,600 125,436 TFlop/s
        天河二号 国防科大 3,120,000 33,862 TFlop/s
        天河一号 国防科大 202,752 2,566 TFlop/s
  • 大型计算机

    • 又称大型机、大型主机、主机等。
    • 具有高性能,可处理大量数据与复杂的运算,比如银行金融交易的数据、人口普查等。
    • 在大型计算机领域,IBM占据着很大的份额。
    • IBM Z9
      • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ut4xvJql-1585571736276)(E:\workspace\TyporaProjects\计算机组成原理\images\1-2-IBM Z9.png)]
      • NASA最后一台大型机
      • 操作系统:Red Hat Enterprise Linux
      • 大型机造价高昂
    • 去“IOE”行动
      • I(IBM):服务器提供商
      • O(Oracle):数据库软件提供商
      • E(EMC):存储设备提供商
      • 去“IOE”是阿里巴巴在2008年提出的概念,阿里云于2009年成立,去“IOE”行动直接或间接促进了阿里云的诞生。“IOE”代表了高维护费用的存储系统,随着阿里用户群的快速增长,每年需要付出的成本以及硬件费用也越来越高。
      • 大型机所提供的服务不够灵活,伸缩性弱,阿里巴巴为了减少成本,增强服务器的灵活性,将海量数据从集中式的Oracle切换到分布式的MySQL集群,从纵向扩展到水平扩展,解决了数据库拓展性问题,并用普通的服务器代替大型机。
  • 迷你计算机(服务器)

    • 也成为小型机,普通服务器
    • 不需要特殊的空调场所
    • 具备不错的算力,可以完成较复杂的运算
    • 普通服务器制造商:Lenovo(联想)、HUAWEI(华为)、inspur(浪潮)
    • 去“IOE”是用普通服务器代替大型机,普通服务器已经代替了传统的大型机,成为大规模企业计算的中枢。
  • 工作站

    • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ehyhlJ3C-1585571736276)(E:\workspace\TyporaProjects\计算机组成原理\images\1-2-工作站.png)]
    • 高端的通用微型计算机,提供比个人计算机更强大的性能。
    • 类似于普通台式电脑,体积较大,但性能强劲。
  • 微型计算机

    • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IF1dhqoY-1585571736277)(E:\workspace\TyporaProjects\计算机组成原理\images\1-2-微型机.png)]
    • 又称个人计算机,是最普通的一类计算机。
    • 从构成的本质上来讲,个人计算机与前面的计算机无异。

第四节 计算机的体系与结构

  • 冯·诺依曼体系
    • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wAOQPpN8-1585571736278)(E:\workspace\TyporaProjects\计算机组成原理\images\1-2-冯诺依曼体系.png)]
    • 将程序指令和数据一起存储的计算机设计概念。
    • 必须有一个存储器、一个控制器、一个运算器、输入设备、输出设备,现代计算机的本质都是冯·诺依曼计算机。
    • 冯·诺依曼体系结构:
      • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ghE76ohW-1585571736278)(E:\workspace\TyporaProjects\计算机组成原理\images\1-2-冯诺依曼体系结构.png)]
      • 冯·诺依曼瓶颈:CPU和存储器速率之间的问题无法调和。
        • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LzY2Gfdc-1585571736279)(E:\workspace\TyporaProjects\计算机组成原理\images\1-2-冯诺依曼瓶颈.png)]
    • 能够通过输入设备将需要的程序和数据送至计算机中,能够通过存储器长期记忆程序、数据、中间结果及最终运算结果的能力,能够通过控制器、运算器完成算术运算、逻辑运算和数据传送等数据加工处理的能力,能够按照要求通过输出设备将处理结果输出给用户。
  • 现代计算机的结构
    • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t2m13rTc-1585571736279)(E:\workspace\TyporaProjects\计算机组成原理\images\1-2-现代计算机结构.png)]
    • 在冯·诺依曼体系结构基础上进行修改,可以理解为以存储器为核心的结构。
    • 解决CPU与存储设备之间的性能差异问题。
    • 存储器从广义上可以理解为存储数据的介质。
      • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kxboGEDe-1585571736280)(E:\workspace\TyporaProjects\计算机组成原理\images\1-2-存储器的结构.png)]

第五节 计算机的层次与编程语言

  • 程序编译与程序解释
    • 为什么需要程序编译与程序解释?
      • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0wyf8Pvo-1585571736280)(E:\workspace\TyporaProjects\计算机组成原理\images\1-3-程序翻译.png)]
    • 程序编译
      • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q3WhvzPA-1585571736280)(E:\workspace\TyporaProjects\计算机组成原理\images\1-3-程序编译.png)]
    • 程序解释
      • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TOclEQsy-1585571736280)(E:\workspace\TyporaProjects\计算机组成原理\images\1-3-程序解释.png)]
    • 程序编译和程序解释的区别和联系
      • 计算机执行的指令都是L0
      • 编译过程生成新的L0程序,解释过程不生成新的L0程序
      • 解释过程由L0编写的解释器去解释L1程序
    • 编译型语言:C/C++、Object-C、Golang、 Pascal、 FORTRAN
    • 解释型语言:Python、Php、JavaScript、 BASIC
    • 严格来讲,Java和C#既不属于编译型语言,也不属于解释型语言,二者属于编译+解释型的语言。
      • 以Java理解什么是编译+解释型的语言:
        • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aBoycZIY-1585571736281)(E:\workspace\TyporaProjects\计算机组成原理\images\1-3-Java.png)]
  • 计算机的层次与编程语言
    • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LmT8tdd7-1585571736281)(E:\workspace\TyporaProjects\计算机组成原理\images\1-3-层次结构.png)]
    • 硬件逻辑层
      • 门、触发器等逻辑电路组成,属于电子工程的领域。
    • 微程序机器层
      • 编程语言是微指令集,微指令所组成的微程序直接由硬件执行。
    • 传统机器层
      • 编程语言是CPU指令集(机器指令)。
      • 编程语言和硬件直接相关。
      • 不同架构的CPU使用不同的CPU指令集。
      • 微指令、微程序、机器指令的关系:
        • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qjPweaWj-1585571736282)(E:\workspace\TyporaProjects\计算机组成原理\images\1-3-微指令、微程序、机器指令的关系.png)]
        • 一条机器指令对应一个微程序,一个微程序对应一组微指令。
    • 操作系统层
      • 向上提供了简易的操作界面。
      • 向下对接了指令系统,管理硬件资源。
      • 操作系统层是在软件层和硬件之间的适配层。
    • 汇编语言层
      • 所用到的编程语言是汇编语言。
      • 汇编语言可以翻译程可直接执行的机器语言。
      • 完成翻译的过程的程序就是汇编器。
    • 高级语言层
      • 编程语言为广大程序员所接受的高级语言。
      • 高级语言的类别非常多,有上百种。
      • 常见的高级语言有:Python、Java、C/C++、Golang等。
    • 应用层
      • 满足计算机针对某种用途而专门设计,如Microsoft Office。
      • 可以理解为面向问题的应用语言。

第六节 计算机的计算单位

  • 容量单位

    • 在物理层面,高低电平记录信息。

    • 理论上只认识0 / 1两种状态,0表示低电平,1表示高电平。

    • 0 / 1称为bit(比特位),但是0 / 1能够表示的内容太少了,需要更大的容量表示方法。

    • 字节:1Byte = 8 bits

    • 常见容量单位:1024 = 2 ^ 10

      • bit Byte KB MB GB TB PB EB
        名字 比特位 字节 千字节 兆字节 吉字节 太字节 拍字节 艾字节
        比例 - 8bits 1024B 1024KB 1024MB 1024GB 1024TB 1024PB
        常见设备 门电路 - 寄存器 高速缓存 内存/硬盘 硬盘 云硬盘 数据仓库
      • 思考1:1G内存可以存储多少字节的数据?可以存储多少比特数据?

      • 答:1G = 1024 ^ 3 Bytes = 1024 ^ 3 * 8bits

      • 思考2:为什么500G的移动硬盘格式化之后就只剩465G了?

      • 答:硬盘商一般用10进位标记容量。 (500 * 1000 ^ 3) / 1024 ≈ 465

  • 速度单位

    • 网络速度
      • 网络常用单位为:Mbps
      • 100M宽带:100M = 100 M/S = 100 Mbps = 100 Mbit/s
      • 思考:为什么100MB光纤测试峰值速度只有12MB每秒?
      • 答:100 Mbit/s = (100/8) MB/s = 12.5MB/s
    • CPU频率
      • CPU速度一般体现为CPU的时钟频率
      • CPU时钟频率的单位一般是赫兹(Hz)
      • 当前主流CPU的时钟频率都在2GHz以上
      • Hz:秒分之一,是每秒钟的周期性变动重复次数的计量,并不是描述计算机领域所专有的单位。
      • 高低电平的变换频率:
        • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-g6c7rJrt-1585571736282)(E:\workspace\TyporaProjects\计算机组成原理\images\1-4-Hz.png)]
        • 2 GHz = 2 * 1000 ^ 3 Hz = 每秒20亿次

第七节 计算机的字符与编码集

  • 字符编码集的历史
    • ASCII码
      • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-llXfXgHR-1585571736283)(E:\workspace\TyporaProjects\计算机组成原理\images\1-5-ASCII.png)]
      • 使用7个bit就可以完全表示ASCII码95 + 33 = 128 = 2 ^ 7
      • 包含95个可打印字符,33个不可打印字符(包括控制字符)
    • Extend ASCII码
      • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9hSrVqDy-1585571736283)(E:\workspace\TyporaProjects\计算机组成原理\images\1-5-Extend ASCII.png)]
      • 由于很多应用或者国家中的符号无法用ASCII码,故第一次对ASCII码进行扩充,7bits -> 8bits, 128 -> 256。
      • 包括常见数学运算符、带音标的欧洲字符、其他常用符、表格符等。
    • 字符编码集的国际化
      • 欧洲、中亚、东亚、拉丁美洲国家的语言多样性
      • 语言体系不一样,不以有限字符组合的语言
      • 中国、日本、韩国等的语言最为复杂
  • 中文编码集
    • 1980年, GB2312,全称《信息交换用汉字编码字符集–基本集》,共收录了7445个字符,包括6763个汉字和682个其它符号。
    • 1995年, GBK,全称《汉字内码扩展规范》,向下兼容GB2312,向上支持国际ISO标准,收录了21003个汉字,支持全部中日韩汉字。
    • 兼容全球的字符集:Unicode,又称统一码、万国码、单一码,Unicode定义了世界通用的符号集,UTF-*实现了编码,UTF-8以字节为单位对Unicode进行编码。
    • windows中文系统默认使用GBK编码,编程推荐使用UTF-8编码。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章