Skip to content

Latest commit

 

History

History
135 lines (114 loc) · 6.89 KB

computer_system_network.md

File metadata and controls

135 lines (114 loc) · 6.89 KB

《计算机组成原理+操作系统+计算机网络》慕课网笔记

第二章 计算机组成原理之概述篇

计算机发展简史

  • 计算机发展的四个阶段:

    1. 电子管计算机(1946~1957)
      • 产生的催化剂:第二次世界大战
      • 代表:埃尼阿克(ENIAC)
      • 特点:
        • 集成度小,空间占用大
        • 功耗高,运行速度慢
        • 操作复杂,更换程序需要接线
  1. 晶体管计算机(1957~1964)
  2. 集成电路计算机(1964~1980)
  3. 超大规模集成电路计算机(1980~现在)

计算机分类

  1. 超级计算机 运算速度单位:TFlop/s
  2. 大型机
  3. 迷你计算机(服务器)
  4. 工作站
  5. 微型计算机(个人计算机)

计算机的体系与结构

  • 冯诺依曼体系:将程序指令和数据一起存储的计算机设计概念结构
  • 冯诺依曼机组成:输入设备、输出设备、存储器、CPU(运算器 + 控制器)
  • 冯诺依曼瓶颈:CPU和存储器速率之间的问题无法调和(CPU处理速度比储存器快得多,CPU经常空转等待数据传输)
  • 现代计算机结构:在冯诺依曼基础上改进,CPU=存储器+运算器+控制器,以存储器为核心

计算机的层次与编程语言

  • 程序翻译和程序解释

    • 程序翻译:使用较高级语言L1进行程序逻辑描述,通过编译器生成较为低级的计算机语言L0(计算机实际执行的语言) 例:C/C++ Object-C Golang
    • 程序解释:使用较高级语言L1进行程序逻辑描述,使用低级的L0语言实现另一个程序—解释器,把L1语言的语句作为输入,每一句L1的语句转化为L0的语句 例:Python PHP JavaScript
    • 特例:Java和C# 翻译和解释相结合 java:java程序-编译-JVM字节码-解释-机器码
    • 总结
      • 计算机执行的指令都是L0
      • 翻译过程生成新的L0程序,解释过程不生成新的L0程序
      • 解释过程由L0编写的解释器去解释L1程序
  • 计算机层次(从上到下):应用层、高级语言层、汇编语言层、操作系统层、传统机器层、微程序机器层、硬件逻辑层

    • 分层目的:便于理解
    • 硬件逻辑层:门、触发器等逻辑电路组成
    • 微程序机器层:编程语言是 微指令集 ;微指令所组成的微程序直接交由硬件执行
    • 传统机器层:编程语言是 CPU指令集(机器指令),直接与硬件相关 ; 不同架构的CPU使用不同的CPU指令集
    • 一条机器指令 = 一个微程序 = 一组微指令
    • 操作系统层:向上提供简易的操作界面 ; 向下对接了指令系统,管理硬件资源 操作系统层是在软件和硬件之间的适配层
    • 汇编语言层:编程语言是 汇编语言;汇编语言可以翻译成可直接执行的机器语言;完成翻译过程的程序就是汇编器
    • 高级语言层:编程语言是 高级语言

计算机的速度单位

物理层面上,用高低电平记录信息,高电平表示1,低电平表示0 计算机只认识0/1两种状态,0/1称为bit(比特位)

  • 容量单位:bit , Byte , KB , MB , GB , TB , PB , EB
    • 字节:1Byte=8bits
    • 千字节:1KB=1024Byte
    • …………
    • 硬盘商为了沟通协商,一般用10进位标记容量(500G移动硬盘,实际只剩465G=500*1000^3/1024^3)
  • 速度单位:
    • 网络速度:
      • 网络常用单位:1Mbps=1/8MB/s(100M=100Mbps=100Mbit/s=100/8MB/s=12.5MB/s)
    • CPU速度:
      • CPU的速度一般体现为CPU的时钟频率
      • CPU的时钟频率的单位一般是赫兹(Hz)
      • 赫兹(Hz):秒分之一,每秒中的周期性变动重复次数的计量 1GHz=1*1000^3Hz=每秒10亿次

计算机的字符与编码集

  • ASCII码:95个可打印字符,33个不可打印字符(包括控制字符)=7bits
  • Extended ASCII码:8bits 对ASCII码进行扩充
  • GB2312:《信息交换用汉字编码字符集——基本集》 共收录7445个字符(6763个汉字)
  • GBK:《汉字内码扩展规范》 向下兼容GB2312,向上支持国际ISO标准 收录了21003个汉字,支持全部中日韩汉字 Windows系统默认使用GBK编码
  • Unicode:兼容全球的字符集(统一码、万国码、单一码 ) 定义了世界通用的符号集,UTF-*实现了编码(UTF-8,UTF-16……) UTF-8以字节为单位对Unicode进行编码

计算机的总线

  • 概述:提供了对外的接口 ;连接的标准,促使外围设备接口的统一 为了解决不同设备之间的通信问题 使计算机结构变得清晰,易于梳理

  • 种类:USB(通用串行总线)、PCI总线、ISA总线、Thunderbolt总线

分类
  • 片内总线:高集成度芯片内部的信息传输线
  • 系统总线:CPU、主存、IO设备、各组件之间的信息传输线
    • 数据总线
      • 双向传输各个部件的数据信息
      • 一般与CPU位数相同
    • 地址总线:指定源数据或目的数据在内存的地址
    • 控制总线:发出控制信号的传输线
      • 可以监视不同组件之间的状态
仲裁
  • 目的:解决不同设备总线使用权的冲突问题
  • 方法
    1. 链式查询:设备通过串联方式与仲裁控制器相连,由于信号链式发送,离控制器近的设备优先获得使用权
      • 优点:电路复杂度低,仲裁方式简单
      • 缺点:优先度低的设备难以获得总线使用权 ; 串联,对电路故障敏感
    2. 计数器定时查询:仲裁控制器对设备编号,并设置计数器。当接收到仲裁信号时,控制器向所有设备发送计数,如果计数结果与设备编号相同,则可以获得总线使用权;如果未命中,则计数器加1,重新发送
      • 优点:通过设置计数器初值,可以方便地修改优先次序
      • 缺点:
    3. 独立请求:每个设备都有总线独立连接控制器,设备可以单独向仲裁器发送请求和接受请求。当同时收到多个请求信号,仲裁器可以按优先级分配使用权
      • 优点:响应速度快,优先级可以动态改变
      • 缺点:设备连线多,电路复杂

计算机的输入输出设备

  • 输入输出接口的通用设计

    • 数据线:IO设备与主机之间进行数据交换的传送线
    • 状态线:IO设备向主机报告的信息线(比如查询设备是否正常运行,设备是否被占用)
    • 命令线:CPU向设备发送命令的信息线(比如发送启动停止信号、读写信号)
    • 设备选择线:主机选择IO设备进行操作的信息线
  • CPU和IO设备的通信:速度不一致

    • 程序中断:提供低俗设备通知CPU的一种异步方式,CPU高速运转的同时可以兼容低速设备的响应
    • DMA(直接存储器访问):直接连接主存和IO设备,不需要中断CPU

存储器

  • 分类:
  • 存储器的层次结构: