这门课讲什么?
- 计算机:机械式计算机,模拟电子计算机,数字电子计算机。现在的计算机都是数字电子计算机。
- 组成:(organization)又翻译成 组织,计算机硬件系统的逻辑实现(不是硬件实现):即利用数字电路的知识,数字逻辑的知识以及数字电路的元器件(门电路,触发器)来实现计算机的硬件系统
- 原理:数字电子计算机硬件系统逻辑实现的一般原理,不依托任何具体机型;电子计算机发展过程中多种计算机实现的公共原理
知识点大纲
- 基本部件的结构和组织方式
- 基本运算的操作原理
- 基本部件和单元的设计思想
- 特色:
计算机组成的一般原理,不以具体机型为依托
采用自顶向下的方式、层层细化
计算机知识体系
计算机系统简介
- 系统复杂性管理的方法-1:
抽象
百度百科:抽象是对于一个过程 或者 一件制品的某些细节有目的的隐藏,以便把其他方面、细节或者结构表达得更加清除
维基百科:抽象是指高级的模型,和低级的实体相对
David Harris:隐藏系统中不重要的细节
- 计算机体系结构是指能够被程序员所见到的计算机系统的属性,即概念性的结构与功能特性。
- 计算机系统的属性通常是指用机器语言编程的程序员(也包括汇编语言程序设计者和汇编程序设计者)所看到的传统机器的属性,包括指令集、数据类型、存储器寻址技术、I/O机理等,大都属于抽象的属性。
- 计算机组成是指如何实现计算机体系结构所体现的属性,它包括了许多对程序员来说是透明的硬件细节。
- 能否实现乘法计算属于计算机体系结构的问题,怎么样实现乘法计算属于计算机组成的问题;
- 联想拯救者R7000和R7000P的计算机体系结构相同,但计算机组成不同。在计算机体系结构不变的情况下,计算机组成对计算机性能更重要。越好的硬件设备,计算能力越强。
计算机的基本组成
一.冯·诺依曼(von Neumann)计算机的特点
- 计算机由五大部件组成:运算器、控制器、存储器、输入、输出
- 指令和数据以同等地位存于存储器,可按地址寻访
- 指令和数据用二进制表示
- 指令由操作码和地址码组成
- 存储程序
- 以运算器为中心
- 冯·诺依曼计算机存在的问题:运算器是绝对的核心,任何数据都要经过运算器,运算器的性能是整个计算机的瓶颈
改进
以存储器为中心的计算机硬件框架
- 系统复杂性管理的方法-2:
3’Y
— 层次化(Hierachy):将被设计的系统划分为多个模块或子模块
— 模块化(Modularity):有明确的定义(well-defined)的功能和接口
— 规则化(regularity):模块更容易被重用
指令格式
指令:操作码+地址码
取数 α --------------------------------【α】→ACC
000001 0000001000
存数 β --------------------------------【ACC】→β
加 γ -----------------------------------【ACC】+【γ】→ACC
乘 δ -----------------------------------【ACC】*【δ】→ACC
打印 σ --------------------------------【σ】→打印机
停机
注:【】。
存在的问题:乘法指令极可能结果溢出。
计算ax²+bx+c程序清单
指令和数据存于主存单元的地址 | 指令:操作码+地址码 | 注释 |
---|---|---|
0 | 000001+0000001000 | 取数x至ACC |
1 | 000100+0000001001 | 乘a得ax,存于ACC中 |
2 | 000011+0000001010 | 加b得ax+b,存于ACC中 |
3 | 000100+0000001000 | 乘x得(ax+b)x,存于ACC中 |
4 | 000011+0000001011 | 加c得ax²+bx+c,存于ACC中 |
5 | 000010+0000001100 | 将ax²+bx+c,存于主存单元 |
6 | 000101+0000001100 | 打印 |
7 | 000110 | 停机 |
8 | x | 原始数据x |
9 | a | 原始数据a |
10 | b | 原始数据b |
11 | c | 原始数据c |
12 | 存放结果 |
从中我们可以看出,冯·诺依曼计算机的特点:指令和数据以同等的地位保存于存储器当中,指令和数据都是二进制
存储器的基本组成
存储体——存储单元——存储元件(0/1)
大楼 ——房间——床位(无人/有人)
存储单元:存放一串二进制代码
存储字:存储单元中二进制代码的组合
存储字长:存储单元中二进制代码的位数
每个存储单元赋予一个地址,一个存储单元当中存放着一个存储字
按地址寻访
主存储器:存储体 MAR MDR
MAR(memory address register):主存地址寄存器,用来保存数据被传输到的位置的地址或者数据来源位置的地址
反映存储单元的个数
MDR(memory data register):主存数据寄存器,用来保存要被写入地址单元或者从地址单元读入的数据
反映存储字长
4位 2的4次方=16
运算器的基本组成及操作过程
- ALU:算逻运算单元(Arithmetic Logic Unit)
- ACC寄存器(累加器)(Accumulator)
- X寄存器(操作数寄存器)
- MQ寄存器(乘商寄存器)(Multiple—Quotient Register)
控制器的基本组成
完成一条指令:
- 取指令:依靠PC
- 分析指令:依靠IR
- 执行指令:依靠CU
PC(Program Counter):程序计数器,其功能是存放当前欲执行指令的地址,并可自动计数形成下一条指令地址
IR(Instruction Register):指令寄存器,其功能是存放当前正在执行的指令
CU(Control Unit):控制单元,为控制器的核心部件,其功能是产生微操作命令序列
主机完成一条指令的过程
ax²+bx+c程序的运行过程
-
将程序通过输入设备送至计算机
-
程序首地址→PC
-
启动程序运行
-
取指令 PC → MAR → M → MDR → IR,(PC)+1 → PC
-
分析指令 OP(IR) → CU
-
执行指令 Ad(IR) → MAR → M → MDR → ACC
·
·
· -
打印结果
-
停机
试对比分析冯诺依曼结构和哈佛结构
冯-诺伊曼结构,又称普林斯顿结构,是一种将程序指令存储器和数据存储器结合起来的存储器结构。程序指令存储地址和数据存储地址指向同一存储器中的不同物理位置,所以程序指令和数据的宽度是一样的。
哈佛结构 是一种将程序指令的存储与数据的存储分开的存储器结构。哈佛结构的微处理器通常具有较高的执行效率。哈佛结构并未有市场化应用。
计算机硬件的主要技术指标
- 机器字长:CPU一次能处理数据的位数,与CPU中的寄存器位数有关;一般机器字长越长,机器性能越高
- 运算速度:主频;核数,每个核支持的线程数;吉普森法Tm = ∑ft;CPI,执行一条指令所需时钟周期数;MIPS,每秒执行百万条指令;FLOPS 每秒浮点运算次数;跑一次常用程序
- 存储容量 :存放二进制信息的总位数
- 外存储器的容量
- I/O速度:取决于I/O总线的设计。对于慢速设备(如键盘、打印机)关系不大,但对于高速设备效果十分明显
- 显存:显存的性能由两个因素决定,一是容量,一是带宽;容量大小决定了能缓存多少,带宽可以理解为显存与核心交换的通道,带宽越大,交换越快。