计算机组成原理

基础的,重要的

计算机课程中唯一一门讲授计算机硬件的逻辑实现的课程

  • 讲授内容
  • 基本不见的结构和组织方式
  • 基本运算的操作原理
  • 基本部件和单元的设计思想
  • 特色
  • 计算机组成的一般原理,不以具体机型为依托
  • 采用自顶向下的方式、层层细化

本课程在课程体系中的地位

计算机系统结构:

1、分析+评测–知其所以然

2、并行计算机系统结构入门

计算机组成原理

  • 如何实现
  • 具体实现
  • 一一知其然

课程内容的组织

第 1 篇 概论

第 2 篇 计算机系统的硬件结构

第 3 篇 CPU

第 4 篇 CU

计算机架构图 带箭头 计算机结构框图_计算机系统

第 1 章 计算机系统概论

1.1计算机系统简介

计算机的系统:
  • 硬件
  • 软件:
  • 系统软件
  • 应用程序
计算机系统的层次结构

软件

  • 虚拟机器M4----用汇编程序翻译成汇编语言程序
  • 虚拟机器M3----用汇编程序翻译成机器语言程序
  • 虚拟机器M2----用机器语言解释操作系统

硬件

  • 实际机器M1----用伪指令解释机器指令
  • 微程序机器M0----有硬件直接执行微指令
计算机体系结构

程序员缩减到的计算机系统的属性,概念性的结构与功能特性

(指令系统.数据类型,寻址技术.I/O机理)

计算机组成

实现计算机体系结构所体现的属性

(具体指令的实现)

1.2 计算机的基本组成
一丶冯诺依曼计算机的特点

1–计算机有五大部分组成

2–指令和数据以同等地位存于存储器,可按地址寻访

3–指令和地址用二进制表示

4–指令由操作码和地址码组成

5–存储程序

(具有存储程序的这些特称的机器都被称为冯诺依曼机)

6–以运算器为中心

(数据的输出和存储都需经过运算器,进行算数运算和逻辑运算)

冯诺依曼机的硬件框图

计算机架构图 带箭头 计算机结构框图_计算机架构图 带箭头_02

  • 存储器
  • 运算器
  • 控制器
  • 输入设备
  • 输出设备
二丶计算机硬件框图
1–以存储器为中心的计算机的硬件框图

计算机架构图 带箭头 计算机结构框图_操作系统_03

2–现代计算机的硬件框图

计算机架构图 带箭头 计算机结构框图_计算机系统_04


计算机架构图 带箭头 计算机结构框图_存储单元_05

系统复杂性管理的方法(3Y)
  • 层次化(Hierarchy) : 将被设计的系统划分为多个模块或子模块
  • 模块化(Modularity) : 有明确定义的功能和接口
  • 规则性(regularity) : 模块更容易被重用
三丶计算机的工作步骤
1–上机前的准备
  • 建立数学模型
  • 确定计算方法
  • 编制解题程序

计算ax^2+b x+c 程序清单

计算机架构图 带箭头 计算机结构框图_操作系统_06

2–计算机的解题过程
(1)存储器的基本组成

主存储器{

存储体;

MAR; 存储器地址寄存器,反应存储单元的个数(单元个数为2^n,例如 n=4, 可以从 0000 --> 1111 )

MDR; 存储器数据寄存器,反应存储字长

}

例如 MAR=4位,MDR=8位

则:存储单元 2^4=16

存储字长8

存储体----存储单元----存储元件(0/1)

大楼 ----房间 ----床位(有人/无人

存储单元 存放遗传二进制代码

存储子 存储单元中二进制代码的组合

存储字长 存储单元中二进制代码的位数,每个存储单元赋予一个地址

按地址寻访

运算器的结构,功能,工作原理

(2)运算器的基本组成及操作过程

计算机架构图 带箭头 计算机结构框图_存储单元_07

ACC

MQ

X

加法

被加数/和

加数

减法

被减数/差

减数

乘法

乘积高位

乘数/乘积低位

被乘数

除法

被除数/余数


被减数

乘除法,改变位数

乘除法,可以根据加减法,类似

MQ乘数存储器,乘和商的缩写





指令

M

M

M

M

初态

ACC 被加数

ACC 被减数

ACC 被减数

ACC 被减数

[M]–>X

[M] - - >X

[M] - - > MQ

[M] - - > X

[ACC]+[X]->ACC

[ACC] - [X] - - >ACC

[ACC]–>X

[ACC] ÷ [X] - - >MQ

0–>ACC

余数保存在ACC中

[X] X [MQ] -->ACC//MQ

[ACC] - [X] - - >ACC

乘法中 : 只有ACC中传给X后,才能清0

(3)控制器的基本组成

控制器的基本结构

控制器的功能

  • 解释指令
  • 保证指令的按序执行

完成一条指令{

取指令 PC

分析指令 IR

执行指令 CU

}

PC存放到当前与执行指令的地址

具有计数功能 (PC) + 1 --> PC

IR存放当前欲执行的指令

(4)主机完成一条指令的过程 , 以取数指令为例

计算机架构图 带箭头 计算机结构框图_存储单元_08

取指令:PC–>MAR–>存储体–>MDR–>IR

分析指令:IR–>CU控制单元

执行指令:CU–>执行部件

取数指令的功能:

把保存在内存单元M中的数据取到ACC中

IR–>MAR–>存储体–>MDR–>ACC

以存数指令为例

取指令:PC–>MAR–>存储体–>MDR–>IR

分析指令:IR–>MAR–>存储体;ACC–MDR;MDR–>存储体

执行指令:CU–>执行部件

(5)ax^2+b x+c程序的运行过程
  • 将程序通过输入设备送至计算机
  • 成俗首地址–>PC
  • 启动程序运行
  • 取指令:PC–>MAR–>M–>MDR–>IR , (PC) + 1 -->PC
  • 分析指令OP(IR)–>CU
  • 执行指令Ad(IR)–>MAR–>M–>MDR–>ACC
  • 打印结果
  • 停机
1.3 计算机硬件的主要技术指标
1、机器字长

CPU一次能处理数据的位数
与CPU中的寄存器位数有关
一般来说,机器的字长越长,机器的性能越好

2、运行速度{

主频
核数,每个核数支持的线程数
吉普森法
CPI 执行一条指令所需的时钟周期
(IPC 一个时钟周期能完成的多少指令)
MIPS 每秒执行百万条指令
FLOPS 每秒浮点运算次数
}

3、存储容量

存放二进制信息的总位数
{
主存量{
存储单元个数 X 存储字长
MAR X MDR

字节数

}
辅存容量

1、机器字长

CPU一次能处理数据的位数
与CPU中的寄存器位数有关
一般来说,机器的字长越长,机器的性能越好

2、运行速度{

主频
核数,每个核数支持的线程数
吉普森法
CPI 执行一条指令所需的时钟周期
(IPC 一个时钟周期能完成的多少指令)
MIPS 每秒执行百万条指令
FLOPS 每秒浮点运算次数
}

3、存储容量

存放二进制信息的总位数
{
主存量{
存储单元个数 X 存储字长
MAR X MDR

字节数

}
辅存容量

}