【计算机基础复习】计算机组成原理

计算机组成原理

一.计算机概述

计算机的发展阶段

  • 电子管计算机(1946-1957)

  • 晶体管计算机(1957-1964)

  • 集成电路计算机(1964-1980)

  • 超大规模集成电路计算机(1980-)

计算机的分类

  • 超级计算机:功能最强,运算速度最快,存储容量最大的计算机
  • 大型计算机:具有高性能,可处理大量数据和复杂的运算
  • 迷你计算机:普通服务器,具备不错的运算力,可以完成较复杂的运算
  • 工作站:高端的通用微型计算机,提供比个人计算机更强大的性能,外型类似普通台式电脑
  • 微型计算机:普通的计算机

计算机的体系和结构

  1. 冯诺依曼体系:将程序指令和数据一起存储的计算机设计概念结构 必须有一个存储器,控制器,计算机,输入设备,输出设备
  • 能够将需要的数据和程序送至计算机
    +能够长期记忆程序,数据和中间结果及最终运算结果的能力
  • 具备算数,逻辑运损和数据传送等数据加工的能力
  • 能够按照要求将处理结果输出给用户
  • 现代计算机的结构:以存储器为核心的结构

计算机层级与编程语言

  1. 程序翻译和程序解释
  • 程序翻译:高级计算机语言L1 生成较为低级的计算机语言L0(计算机执行的语言),会生成新的L0程序 C/C++,GOlang
  • 程序解释:将L1的每一句语言作为L0 的输入,解释为较为低级的语言,不生成新的L0程序,解释过程由L0编写的解释器去解释L1程序 Python,PHP,JS
  1. 计算机层次(由下(实际机器)往上(虚拟机器)提供服务)
    • 虚拟机器
      • 应用层
      • 高级语言层
      • 汇编语言层
        • 编程语言是汇编语言
        • 可以翻译成可直接执行的机器语言
        • 完成翻译过程的程序就是汇编器
      • 操作系统层:向上提供简易的操作界面;向下对接指令系统,管理硬件资源
    • 实际机器
      • 传统机器层:CPU指令集;编程语言和硬件直接相关
      • 微程序机器层:微指令集
      • 硬件逻辑层:门,触发器等逻辑电路组成

计算机的计算单位

1.容量单位

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

  • 物理只认0和1两种状态(0/1成为bit)

  • 单位换算

    bit 门电路
    1 Byte =8 bits
    1 KB = 1024 B 寄存器
    1 MB = 1024 KB 高速缓存
    1 GB = 1024 MB 内存、硬盘
    1 TB = 1024 GB 硬盘
    1 PB = 1024 TB 云硬盘
    1 EB = 1024 PB 数据仓库

2.速度单位

  • 网络速度Mbps
    100M/s =100Mbps =100Mbit/s
    100Mbit/s =(100/8)MB/S=12.5M/s

  • CPU速度
    CPU的时钟频率,单位是HZ,主流CPU的时钟频率都在2GHz以上
    Hz的意思是秒分之一 ,每秒中周期性变动重复次数的计量

计算机的字符和编码集

1.ASCII:7个bits可以完全表示,包括95个可打印字符和32个不可打印字符
2.extended ASCII 常见的数学运算符,带音标的欧洲字符,常用的其他字符
3.国际化:

  • 中文编码集:GB2312,一共收录了7445个字符,包括6763个汉字和682个符号
  • 汉字内码扩展规范:GBK 向下兼容GB2312,向上兼容ISO国际标准
  • Uinocode:统一码,定义了世界通用的字符集,UTF-实现了编码,以字节为单单位对Unicode进行编码

二.计算机组成

1.计算机总线(统一内部输入输出)

  • 常见总线
    • USB :通用串行总线:提供对外连接的接口,不同的设备可以通过USB连接,连接的标准,促进外围接口的统一
    • PCI总线:外接显卡
    • ISA总线:苹果电脑的
  • 片内总线:CPU内部的总线,连接高速缓存,控制器,运算器和中断系统
  • 系统总线:连接计算机外部的总线
    • 数据总线:与CUP位数相同,双向传输
    • 地址总线:用于数据寻址,位数与存储单元的位数有关
    • 控制总线:用于发出各种控制信号的传输线,将控制信号从一个组件发送到另一个组件
  • 总线的仲裁
    • 解决不同设备使用总线的优先级
    • 方法:
      • 链式查询:通过链式仲裁器,串联电路,电路复杂度低,优先级低的设备难以获得总线使用权,对电路故障敏感
      • 计时器定时查询:仲裁控制器对设备编号并使用计数器累计计数;接收到仲裁信号后,对所有的设备发出计数值,计数值与设备号一致则获得总线使用权
      • 独立请求:每个设备都有一个总线独立连接仲裁器,设备可单独向仲裁器发送请求和接收请求,当同事收到多个请求信号时,仲裁器有权按优先级分配使用权

2.计算机的输入输出设备

  • 常见的输入输出设备:字符输入设备(键盘),图形输入设备(鼠标,数位板,扫描仪),图像输出设备(显示器,打印机,投影仪)
  • 输入输出接口的通用设计
    • 数据线:设备与主机之间的数据传输
    • 状态显示:IO设备状态向主机报告的信号线
    • 命令线:CPU向设备发送命令的信号线
    • 设备选择线:主机选择IO设备进行操作的信号线
  • CPU与IO设备的通信(CPU速度和IO设备速度不一致)
    • 程序中断:提供低速设备通知CPU的一种异步方式,CPU可以高速运转的同时兼顾低俗设备的响应
    • DMA(直接存储访问):直接连接主存和IO设备,不需要中断CPU,两个设备直接可以通过DMA交换信息,可以提高CPU效率;硬盘和显卡中DMA的设备

3.计算机存储器

  • 存储器的分类
    • 按存储介质
      • 半导体存储器:U盘,内存,固态硬盘
      • 磁存储器:磁带,磁盘
    • 按存储介质
      • 随机存储器RAM
      • 串行存储器
      • 只读存储器ROM
  • 储存器的层次结构(读写速度,存储容量,价格,用每比特位价格(容量+价格=>位价)来衡量存储器性价比)
    • CPU-缓存-主存层次:局部性原理,在CPU和主存之间增加一层速度快(容量小)的Cache,解决主存速度不足的问题
    • 主存-辅存层次:局部性原理,主存之外增加辅助存储器,解决主存容量不足的问题

4.计算机的主存储器和辅助存储器

  • 辅存
    • 读取磁道算法:先来先服务算法;最短寻道优先算法;扫描算法(电梯算法);循环扫描算法
  • 主存
    • RAM,通过电容存储数据,必须隔一段时间刷新一次,如果掉电,那么一段时间后将丢失所有数据
  • 高速缓存
    • 工作原理:命中率是衡量缓存的重要性能指标,理论上CPU每次都能从高速缓存取数据的时候,命中率为1
    • 替换策略:缓存没有数据时,需要从主存载入数据,将原来的数据淘汰载入需要的数据
      • 随机算法
      • 先进先出算法
      • 最不经常使用算法:需要额外的空间记录子块使用的频率
      • 最近最少使用算法(LRU):双向链表,将当前访问节点置于链表前面

5.计算机的指令系统

  • 机器指令的形式
    • 操作码字段
      • 操作码指明指令要进行的操作
      • 操作码的位数反映了机器的操作种类
    • 地址码字段
      • 直接给出操作数或者是操作数的地址
      • 分三地址指令,二地址指令和一地址指令,零地址指令(空操作,停机操作,中断操作)
  • 机器指令的操作类型
    • 数据传输
      • 寄存器之间,寄存器与存储单元,存储单元之间
      • 数据读写,交换地址数据,清零置一
    • 算术运算指令
      • 操作数之间的加减乘除运算
      • 操作数之间的与或非运算
    • 移位操作
      • 数据左移或则还是数右移
    • 控制指令
      • 等待指令,停机,空操作,中断指令
  • 机器指令的寻址方式
    • 顺序寻址
    • 跳跃寻址
    • 数据寻址:
      • 立即寻址:指令直接获得操作数,无需访问存储器
      • 直接寻址:指令中包含操作数在主存中的地址,寻找操作数简单,无需计算
      • 间接寻址:指令地址码给出的是操作数的地址的地址,需要访问一次或者是多次主存来获得操作数

6.计算机的控制器

  • 控制器
    • 程序计数器:用于存储下一条指令的地址
    • 时许发生器:发送时序脉冲
    • 指令译码器:翻译操作码对应的操作发出控制信号以控制传输地址码及其相关的数据
    • 寄存器
      • 指令寄存器:从主存或者是高速缓存中存取计算机指令
      • 主存地址寄存器:保存当前CPU正要访问的内存单元的地址
      • 主存数据寄存器:保存当前CPU正要访问的内存单元的数据
      • 通用寄存器:用于暂时存放或传送数据或指令;可以保存ALU的运算中间结果,容量比一般的专用寄存器大
    • 总线
  • 运算器:用来进行数据运算加工
    • 数据缓冲器:输入缓冲和输出缓冲,存放外设送过来或存放往外设输出的数据
    • ALU:算数逻辑单元,完成常见的位运算和逻辑运算
    • 通用寄存器
    • 状态字寄存器:用于存放运算状态(条件码,进位,溢出,结果正负等);存放运算控制信息
    • 总线

7.计算机指令的执行过程

  • 指令执行过程
    • 取指令:从缓存中取指令,通过片内总线将指令送达指令寄存器
    • 分析指令:指令寄存器的数据送到指令译码器译码,发出控制信号给运算器,同时修改程序计数器的+1指向下一条指令
    • 执行指令:装载数据到寄存器,通过ALU处理数据,记录运算状态,输出运算结果
  • CPU流水线设计:类似工厂的装配线,可以使得多个产品同时被加工

三. 计算机的计算

1.进制运算的基础

  • 进制概述:进位制是一种计数方式,有限种数字符号来表示无限的数值
  • 运算:
    • 二进制转十进制:按权展开法

2.定点数与浮点数

  • 定点数:通常表示纯整数或者是纯小数
  • 浮点数:
    • 表达形式 N=S*r的J次方(S:尾数,r:基数,J:阶码)
    • 表示范围 假设阶码数值取m位,尾数取n位,阶码能够表示的最大值为:2的m次方-1
    • 单精度浮点数:使用4字节,32位来表示浮点数(float)
    • 双精度浮点数:使用8字节,64位来表示浮点数(double)
    • 浮点数的规格化:尾数必须使用纯小数,尾数的最高位必须是1

计算机组成原理实践

1.双向链表的原理和实践

  • 单向链表:每个节点都有上一个节点的地址和引用
  • 双向链表:每个节点都有上一个和下一个节点的地址和引用,可以快速去掉链表中的某一个节点

待续

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值