计算机原理计算机组成原理

计算机组成原理

2019-10-10  本文已影响0人  强某某

计算机组成原理

概述篇

计算机发展的四个阶段

1.png
- 集成度小,空间占用大
- 功耗高,运行速度慢
- 操作复杂,更换程序需要接线

贝尔实验室科学家发现晶体管

3.png
- 集成度相对较高,空间占用相对小
- 功耗相对低,运行速度较快
- 操作相对简单,交互更加方便

计算机具备了进入千家万户的条件

4.png

该阶段出现操作系统的雏形,IBM推出的System/360

5.png
- 一个芯片集成了上百万的晶体管
- 速度更快,体积更小,价格更低
- 用途丰富:文本处理,表格处理,高交互游戏

微型计算机的发展历史

微型计算机从第三阶段开始

6.png 7.png

计算机的分类

冯诺依曼体系

将程序指令和数据一起存储的计算机设计概念结构

8.png
- 必须有一个存储器
- 必须有一个控制器
- 必须有一个运算器
- 必须有输入设备
- 必须有输出设备

现代计算机都是冯诺依曼机

9.png

如图九可知,CPU和存储器是分开的,这样会导致一些问题;例如:冯诺依曼瓶颈,
CPU和存储器速率之间的问题无法调和,cpu经常空转等待数据传输

现代计算机的结构

现代计算机的结构以存储器为核心的结构

10.png

存储器广义上说,包含磁带,硬盘等能存储信息的设备,但是此次只针对围绕CPU的更高速的设备(CPU寄存器,内存等)

程序翻译与解释

例如:C/C++ OC

11.png

例如:js php python

12.png
- 计算机执行的指令都是L0
- 翻译过程生成新的L0程序,解释过程不生成新的L0程序
- 解释过程由L0编写的解释器去解释L1程序

例如:java和C#

13.png

计算机的层次与编程语言

计算机的单位

编码补充

组成篇

16.png 17.png

计算机的总线和IO设备

总线

解决不同设备之间的通信问题

总线的仲裁

为了解决总线使用权的冲突问题,例如CPU硬盘都准备好了,但是分别使用哪些总线

IO设备

计算机的存储器

在CPU与主存之间增加一层速度快容量小的Cache,解决主存速度不足的问题

存储器的分类

27.png 24.png 28.png 2.png 3.png
(如图只是假设的位数说明,理解即可) 4.png

- 命中率是衡量缓存的重要性能指标
- 理论上CPU每次都能从高速缓存取数据的时候,命中率为1

5.png 6.png
- 高速缓存的替换策略(`主存和高速缓存的替换`)
    - 随机算法
    - 先进先出算法(FIFO)
        - 把高速缓存看作是一个先进先出的队列
        - 优先替换最先进入队列的字块
7.png
    - 最不经常使用算法(LFU)
        - 优先淘汰最不经常使用的字块
        - 需要额外的空间记录字块的使用频率
8.png
    - 最近最少使用算法(LRU)
        - 优先淘汰一段时间内没有使用的字块
        - 有多种实现方法,一般使用双向链表
        - 把当前访问节点置于链表前面(保证链表头部节点是最近使用的)
9.png

计算机的指令系统

2.png 3.png 4.png

机器指令的操作类型

机器指令的寻址方式

7.png 8.png

计算机CPU

计算机的控制器

9.png

程序计数器

时序发生器

指令译码器

指令寄存器

主存地址寄存器

主存数据寄存器

通用寄存器

计算器的运算器

10.png

数据缓冲器

ALU

状态字寄存器

通用寄存器

指令执行过程

graph LR
取指令-->分析指令
分析指令--> 执行指令
12.png
11.png

如上图可知,指令是顺序执行,控制器和计算器不能同时工作,CPU利用率低下,解决方案如下图 CPU的流水线设计

13.png

效率大概可以提升三倍

进制和浮点数

1.png

如上图可知,之所以产生补码是因为0表示有歧义,例如正0负0;还有减法运算复杂;而反码产生的原因是因为补码中计算也有减法;可以直接原码按位取反得到反码,然后+1得到补码,计算机存储的都是补码。

2.png 3.png 4.png
上一篇下一篇

猜你喜欢

热点阅读