没有合适的资源?快使用搜索试试~ 我知道了~
计算机组成原理重点讲授计算机系统的硬件组成,及其主要功能子系统的基本原理和逻辑设计;主要内容包括计算机系统概述,数据的表示、运算与校验,CPU子系统,存储子系统,总线与I/O子系统,I/O设备及接口等。课程定位 计算机组成原理是本科计算机科学与技术专业的学科基础课、也是计算机专业的一门必修的学科基础课,其内容安排遵照本科教学大纲,兼顾硕士生入学专业课考试,有助于培养学习者计算机硬件系统的分析和设计能力。该课程的前续课程是数字逻辑、大规模集成电路设计及应用、数据结构等,后继课程是微机原理与接口、计算机系统结构、嵌入式系统及应用等,在硬件范畴的课程体系中起承前启后的作用,也是学习与了解计算机软件课程(如操作系统、汇编语言程序设计等)的课程基础。
资源推荐
资源详情
资源评论
第一章 计算机系统概述
“较简单,不做过多赘述,后面会详细学到”
第一节 计算机系统层次结构
1.计算机系统的基本组成:硬件+软件
2.计算机硬件的基本组成:运算器+存储器+控制器+输入设备+输出设备
3.系统软件和应用软件
系统软件 操作系统、数据库管理系统、语言处理程序、分布式软件系统、网络软件系统、
标准库语言、服务性程序
应用软件 科学计算类程序、工程设计类程序、数据统计与处理程序
4.(易考)翻译程序:
汇编程序(汇编器) 将汇编语言程序翻译成机器语言程序
解释程序(解释器) 将源程序翻译成机器指令并立即执行
编译程序(编译器) 将高级语言翻译城机器语言或汇编语言
第二节 计算机性能指标
吞吐量:表征一台计算机在某一时间间隔内能够处理的信息量。
响应时间:表征从输入有效到系统产生响应之间的时间度量,用时间单位来度量。
利用率:在给定的时间间隔系统被实际使用的时间所占的比率,用百分比表示。
处理机字长:指处理机运算器中一次能够完成二进制数运算的位数,如 32 位、64 位。
总线宽度:一般指 CPU 中运算器与存储器之间进行互连的内部总线二进制位数。
存储器容量:存储器中所有存储单元的总数目,通常用 KB、MB、GB、TB 来表示。公式一
般是:位数×个数
(MAR×MDR)
存储器带宽:单位时间内从存储器读出的二进制数信息量,一般用字节数/秒表示。
主频/时钟周期:CPU 的工作节拍受主时钟控制,主时钟不断产生固定频率的时钟度量单位
是 MHz、GHz
主频的倒数称为 CPU 时钟周期(T),T=1/f,度量单位是 μs、ns。
K=
,M=
,G=
易错:时钟频率的提高,不能保证 CPU 执行速度又同倍速的提高,有时候还会减慢。
CPU 执行时间:表示 CPU 执行一般程序所占用的 CPU 时间,可用下式计算:
CPU 执行时间 = CPU 时钟周期数 * CPU 时钟周期
CPI:执行一条指令所需的平均时钟周期数。用下式计算:
CPI = 执行某段程序所需的 CPU 时钟周期数 / 程序包含的指令条数
MIPS:(Million Instructions Per Second)的缩写,表示平均每秒执行多少百万条定点指令数,
用下式计算:
MIPS = 指令数 / (程序执行时间 * 10^6)
FLOPS:(Floating-point Operations Per Second)的缩写,表示每秒执行浮点操作的次数,用
来衡量机器浮点操作的性能。用下式计算:FLOPS = 程序中的浮点操作次数 / 程序执行时
间(s)
题目总结:
①对于高级语言程序员来说,浮点数格式、乘法指令、数据如何在运算器中运算时透明的。
对于汇编语言程序员,指令格式,机器构造,数据格式则不是透明的。
②在 CPU 中,IR、MAR、MDR 对各类程序员都是透明的。
③机器字长,指令字长,存储字长
机器字长也称字长——是计算机直接处理二进制数据的位数,机器字长一半等于内部寄存器
的大小,它决定了计算机的运算精度。
指令字长——一个指令中包含的二进制代码的位数。
存储字长——一个存储单元中二进制代码的长度。
指令字长一般是存储字长的整数倍,若指令字长等于存储字长的 2 倍,则需要 2 次访存来取
出一条指令,因此取值周期为机器周期的 2 倍;若指令字长等于存储字长,则取值周期等于
机器周期。
第二章 数据的表示和运算
一、无符号整数的表示和运算
Ⅰ、无符号整数的加法:从最低位开始,按位相加,并往更高位进位。
Ⅱ、”被减数“不变,”减数“全部按位取反,末位+1,减法变加法。
二、带符号整数的表示和运算
带符号的整数表示:原码、补码、反码
※带符号的整数运算可以用原码吗?
用原码的话符号位不能参与运算,需要设计复杂的硬件电路才能处理,贵。
这时候就可以利用补码来进行带符号的整数运算。
①涉及原码和补码的转化。
正数:原码->补码,不变
负数:原码->补码,除符号位外,各位取反,末位+1
Ⅰ、补码的加法
从最低位开始,然后按位相加,并往高位进位。算出来的结果,转回原码,就可以得到正值。
补充:补码->原码:类似,除符号位外,各位取反,末位+1
Ⅱ、补码的减法
※加法电路造价便宜,减法电路造价昂贵,若将减法变为加法,更加 economize。
那我们知道了”减数“的补码,那如何求得”减数“负值的补码呢?
补码全部位取反,末位+1(易错这里是全部位取反,而带符号位的负数,是除符号位外,各
位取反)
其实啊,这里的运算的逻辑结构和无符号的减法运算是一样的,通用一套电路,省钱!
三、原码、反码和补码的特性对比
8bit 合法的表示范围 最大的数 最小的数 真值 0 的表示
带符号原码 -127~127 127 -127 +0=00000000
-0=10000000
带符号反码 -127~127 127 -127 +0=00000000
-0=11111111
带符号补码 -128~127 127 -128 -/+0=00000000
只有这一种
无符号整数 0~255 255 0 00000000
带符号移码 -128~127 127 -128 0=10000000
只有这一种
原码和反码的合法表示范围完全相同,而且都有两种表示真值 0 的方法。
补码的合法表示范围多一个负数,原因就是只有一种 0 的表示方法,因为-0 的补码就是
00000000
四、移码,定点小数
移码:在补码的基础上符号位取反。且移码只能表示整数。表示范围和补码相同。
移码的作用:移码的作用就是方便计算机比较两个数数值的大小。
定点小数的编码表示:原码、反码、补码。
运算规则和整数的运算规则一模一样。
五、电路的基本原理和加法器设计
Ⅰ、补码/无符号整数加减法运算器
减法运算过程:
①首先 Sub 信号置为 1;
②多路选择器的值为 1,Y(减数)经过非门,都取反;
③cin 来自低位加 1;
Ⅱ、标志位生成
①进位标志 CF (Carry Flag)只对无符号运算有意义
当运算结果的最高有效位有进位(加法)或借位(减法)时,进位标志置 1,
即 CF = 1;否则 CF= 0。
49H + 6DH=B6H, 没有进位:CF = 0
BBH + 6AH=(1)25H,有进位:CF = 1
②零标志 ZF (Zero Flag)
若运算结果为 0,则 ZF = 1;否则 ZF = 0
49H + 6DH=B6H,结果不是零:ZF = 0
75H + 8BH=(1)00H,结果是零:ZF = 1
③符号标志 SF (Sign Flag)只对有符号运算有意义
运算结果最高位为 1,则 SF = 1;否则 SF = 0
49H + 6DH=B6H=10110110B,SF=1
④溢出标志 OF (Overflow Flag)只对有符号运算有意义
若算术运算的结果有溢出,则 OF=1;否则 OF=0
49H + 6DH =B6H,产生溢出:OF = 1
75H + 8BH =(1)26H,没有溢出:OF = 0
进位 CF 和溢出 OF 位有什么区别呢?
进位标志表示无符号数运算结果是否超出范围,运算结果仍然正确,对有符号位加减法无意
义。
溢出标志表示有符号数运算结果是否超出范围,运算结果已经不正确,对无符号加减无意义。
溢出的判断判断运算结果是否溢出有一个简单的规则:
只有当两个相同符号数相加(包括不同符号数相减),而运算结果的符号与原数据符号相反
时,产生溢出;因为,此时的运算结果显然不正确其他情况下,则不会产生溢出
1.当两个符号相同的数相加,结果的符号与之相反,则 OF=1,否则 OF=0.
2.当两个符号不同的数相减,结果的符号与减数相同,则 OF=1,否则 OF=0.
六、定点数的移位运算
左移 1 位相当于×2,右移 1 位相当于÷2
原码:符号位不参与移位。左移,右移都补 0
反码:符号位不参与移位。若反码是负数补 1;若反码是正数补 0
补码:符号位不参与移位。若补码是负数左移低位补 0,右移高位补 1;若补码是正数,左
移右移都补 0
七、原码补码的乘法除法运算
Ⅰ、原码的一位乘法
剩余32页未读,继续阅读
资源评论
chuxuezhe_987
- 粉丝: 207
- 资源: 148
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功