计算机组成原理 | 第三章《运算方法和运算部件》学习笔记

  • 引言 & 声明
  • 第一章 计算机系统概论
  • 第二章 计算机中数据的表示方法
  • 第三章 运算方法和运算部件
    • 3.1& 算术逻辑运算基础
    • 3.2 算术逻辑运算单元(ALU)
    • 3.3 定点乘法运算
    • 3.4 定点除法运算
    • 3.5 浮点数运算
  • 第四章 存储系统
  • 第五章 指令系统
  • 第六章 中央处理器(CPU)
  • 第七章 总线系统
  • 第八章 计算机的外围设备
  • 第九章 输入输出系统

引言 & 声明

  《计算机组成原理》是计算机及有关信息技术专业的一门核心基础课程。
  在学习《计算机导论》、《程序设计基础》等课程、对计算机应用有基本掌握之后,便需要了解计算机的基本组成和工作原理。此外,对于后继课程,如《操作系统》等的学习,也需要在掌握计算机基本工作原理的基础上来进行。因此,从课程的地位来说,《计算机组成原理》在整个课程体系中起着承上启下的作用,是计算机及相关专业的主要课程之一。

以上介绍引用自《计算机组成原理》教材“引言”部分。

  本文取材于学习时所做的课程笔记,引用资料部分另行标注。
  本人水平有限,错误之处在所难免,欢迎读者批评、指正,我也会在适当时间进行修正与补充。

第一章 计算机系统概论

  本章主要介绍了计算机的发展史和发展趋势,并对计算机的应用领域有一综合的描述。随后从硬件系统和软件系统的角度介绍了计算机系统的组成结构,着重介绍了五大功能部件以及操作系统的功能。并从层次结构的角度分析了计算机的层次结构。最后就如何衡量计算机的性能做了初步讨论。

【传送门】

第二章 计算机中数据的表示方法

  本章主要讨论了计算机中数值数据的表示方法,介绍二、八、十、十六进制数据的表示和相互转化方法。接着了讨论有符号数据在计算机中的表示(原码、反码、补码和移码等)。同时介绍了非数值数据——字符、汉字、声音、图形、图像在计算机中的表示方法。最后讨论了计算机中常用的检验编码(奇偶校验码、交叉校验码、CRC校验码和海明校验码)。

【传送门】

第三章 运算方法和运算部件

  在计算机中,完成数值运算的部件就是CPU中的算术逻辑运算单元ALU(Arithmetic Logical Unit)。ALU的逻辑结构去决议机器的指令系统、数据的表示方法、运算方法和选用的逻辑器件等。本章重点介绍运算方法、运算器的结构和工作原理。
  随着大规模集成电路的发展,运算器的结构也在不断变化。本章将以4位片的ALU SN74181为例子,介绍ALU的结构和原理。

此章节进一步讲解计算机的运算方法,需要一定逻辑思维能力方能理解。

3.1& 算术逻辑运算基础

3.1.1 定点数的加、减法运算

   (1)补码加法运算
     公式:[X+Y] = [X] + [Y]

   (2)补码减法运算
     公式:[X-Y] = [X] + [-Y]

   【补码加、减法运算规则】

    ● 补码表示操作数
    ● 符号位参与运算
    ● 加法:直接相加;减法:变减为加
    ● 结果用补码表示
    ● 由符号位产生的进位舍掉

3.1.2 溢出及检测方法

   溢出:当运算结果超出数的表示范围,就发生了溢出。

   两种溢出检测方法:

   ① 单符号位判断

    ● 异号相加,无溢出
    ● 同号相加,当结果的符号与加数的符号相同时,无溢出
          当结果的符号与加数的符号不同时,有溢出(如下图所示)

   ② 双符号位(变形补码)判断

    结果的四种状态:
{ 00 结 果 正 确 , 为 正 11 结 果 正 确 , 为 负 01 结 果 错 误 , 为 正 溢 出 10 结 果 错 误 , 为 负 溢 出 \left\{ \begin{array}{c} 00 结果正确,为正   \\ 11 结果正确,为负   \\ 01 结果错误,为正溢出 \\ 10 结果错误,为负溢出\end{array}\right. ⎩⎪⎪⎨⎪⎪⎧​00 结果正确,为正  11 结果正确,为负  01 结果错误,为正溢出10 结果错误,为负溢出​

3.1.3 移位
   (1)逻辑移位

     移位规则:左移时低位补0,右移时高位补0。

      例如:逻辑右移

   (2)循环移位

     移位规则:循环左移时,最高位移到最低位,其余各位依次左移;循环右移时,最低位移到最高位,其余各位依次右移。

      例如:循环右移

   (3)算术移位

     带符号位数的移位,移位后数的符号不变化而数值变化。如果左移后并未溢出,则左移1位相当于带符号位数乘以2;而右移1位相当于带符号数除以2。

     ① 原码移位规则:左移时,符号位不变,各位依次左移,末位补0
              右移时,符号位不变,各位依次右移,最高有效位补0

       例如:原码算术左移

     ② 补码右移规则:
      连同符号位一起,各位依次右移,其中符号位的值右移至最高有效位,而符号位本身保持原值不变

       例如:补码算术右移

     ③ 补码右移规则:各位依次左移,其中最高有效位左移至符号位,而末位补0
       例如:补码算术左移

3.1.4 十进制数的运算

   用BCD码完成运算:

   ● 相加 ≤ 9,不要修正
   ● 相加>9,或有半进位,要加 “6” 修正

3.1.5 逻辑运算

   逻辑与:1∧1 = 1
       0∧1 = 0∧1 = 0∧0 = 0

   逻辑或:0∨0 = 0
       0∨1 = 0∨1 = 1∨1 = 1

   逻辑非: 0 ‾ \overline{0} 0 = 1
        1 ‾ \overline{1} 1 = 0

   逻辑异或:0 ⊕ 0 = 1 ⊕ 1 = 0
        0 ⊕ 1 = 1 ⊕ 0 = 1

某位和“0”与,置0;    和“1”与,保持不变。
某位和“1”或,置1;    和“0”或,保持不变。
某位和“1”异或,取反; 和“0”异或,保持不变。

3.2 算术逻辑运算单元(ALU)

  功能
{ 算 术 运 算 : 定 点 加 、 减 法 运 算 逻 辑 运 算 : 逻 辑 与 、 逻 辑 或 、 逻 辑 异 或 、 逻 辑 非 运 算 \left\{ \begin{array}{c} 算术运算:定点加、减法运算           \\ \\ 逻辑运算:逻辑与、逻辑或、逻辑异或、逻辑非运算\end{array}\right. ⎩⎨⎧​算术运算:定点加、减法运算          逻辑运算:逻辑与、逻辑或、逻辑异或、逻辑非运算​

  运算器的核心是算术逻辑单元ALU;ALU的核心是加法器。

3.2.1 加法单元电路

(全加器框图及功能表)

配图摘自《计算机组成原理》相关章节

3.2.2 ALU举例

配图摘自《计算机组成原理》相关章节。


   如要完成8位相操作,可用二片SN74181芯片,将低位芯片Cn+4输出端与高位芯片的Cn输入端相连。

3.3 定点乘法运算

3.3.1 原码一位乘法

   算法:(A*B)

   1)部分积初始化为0;
   2)第 i 次位积(A,bi)加上上次部分积,得和数;
   3)将和数右移一位,得本次部分积;
   4)重复2)3),共做n(n取数值位数)次,得最后的乘积的数值部分;
   5) 积符号位取 as ⊕ b s

3.3.2 补码一位乘法
   算法:
   1)部分积初始化为0,乘数附加位 b-1 置0;
   2)判乘数最低位和附加位,求位积;
     当 00,11 时,位积为0,
         01 时,位积为[A]补,
         10 时,位积为[-A]补;
   3) 部分积加位积,并右移一位,得新的部分积,乘数也右移一位;
   4) 重复2)3),共做n+1(n取数值位数)次,但最后一次不移位,所得结果就是[A·B]补。

   注意:
      ① 部分积要取两位符号位
      ② 做减法时,应该用 +[-A] 补实现

3.4 定点除法运算

3.4.1 原码恢复余数除法

   【特点】

    1)余数(被除数)位置不动,除数每次右移一位
    2)先比较余数和除数的大小,再做除法

   【机器中的实现】

    1)除数位置不动,余数每次左移一位;
    2)先做减法(余数减去除数),然后判它们的大小
     (当不够减时,还得做加法恢复原来的余数)

3.4.2 原码不恢复余数除法

   【算法】

    1)被除数左移一位,减除数;
    2)判余数:
         余数为正,商上1,余数/商左移一位,减除数;
         余数为负,商上0,余数/商左移一位,加除数;
    3)重复步骤2)n次(n为除数位数),得商(最后一次不左移);
    4)符号位单独处理;
    5)若最后余数为负,+[|B|]补修正,得余数。

3.5 浮点数运算

3.5.1 浮点数的加减法运算

   【步骤】
    1)对阶(小阶向大阶看齐)
    2)尾数相加/减
    3)规格化

             左规:尾数左移一位,阶码减 1;
             右规:尾数右移一位,阶码加 1。
    4) 舍入

3.5.2 浮点数的乘除法运算

   【例题】
       设有5位数(其中有一附加位),用原码或补码表示,舍入后保留4位结果。

       设:[X] = 0.11011 舍入后 [X] = 0.1110
         [X] = 0.11100 舍入后 [X] = 0.1110
         [X] = 1.00101 舍入后 [X] = 1.0011
         [X] = 1.00100 舍入后 [X] = 1.0010

       舍入后产生了误差,但误差值小雨末位的权值。

以上例题摘自《计算机组成原理》相关章节。

第四章 存储系统

  对存储器的要求是容量大、速度快、成本低。为了解决这三方面的矛盾,计算机采用多级存储体系结构,即Cache、主存和外存。CPU能直接访问内存(Cache、主存),但不能直接访问外存。
  多个用户共享主存时,系统应提供存储保护。通常采用的方法是存储区域保护和访问方式保护,并用硬件来实现。有些机器中提供特权指令来实现某种保护。

【传送门】

第五章 指令系统

  指令是要求计算机执行某种操作的命令,一台计算机所有机器指令的集合就构成该机器的指令系统。
  本章首先说明指令系统的发展与性能要求,然后介绍指令的一般格式。重点讲述寻址方式、指令的分类及功能。

【传送门】

第六章 中央处理器(CPU)

  计算机的硬件由控制器、运算器、存储器、输入设备和输出设备五部分组成。随着集成电路的出现及其集成度的提高,设计者将控制器和运算器集成在一片集成电路上,称作微处理器,通常称之为中央处理器(Central Processing Unit,简称CPU)。CPU是计算机的核心部件。本章介绍CPU的功能、结构及工作原理。

【传送门】

第七章 总线系统

  总线技术是计算机系统的一个重要技术,总线的结构直接影响着计算机的性能,它是承载计算机系统各个部件之间信息传递的桥梁。

【传送门】

第八章 计算机的外围设备

  计算机的外围设备主要包括输入设备、输出设备、外部存储设备,以及数据通信设备和过程控制设备。它们的功能是在计算机和其他设备之间,以及计算机与计算机之间提供联系。

【传送门】

第九章 输入输出系统

  计算机系统输入/输入(I/O)的种类日益增多,使得输入/输出设备在计算机系统中的影响日益显著。

【传送门】


(已完结 2021.05.23)

计算机组成原理 | 第三章《运算方法和运算部件》学习笔记相关推荐

  1. 计算机组成原理(微课版) -- 第三章 -- 运算方法与运算器

    第三章根据书本[计算机组成原理(微课版) ]进行整理 文章目录 第三章 -- 运算方法与运算器 3.2 定点加减法运算 3.2.1 补码加减法运算方法 1. 补码加法 2. 补码减法 3.2.2 溢出 ...

  2. 计算机组成原理笔算乘法改进,计算机组成原理(唐朔飞)运算方法 PPT.ppt

    计算机组成原理(唐朔飞)运算方法 PPT.ppt (62页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 23.9 积分 第6章 教 学 内 容§6.1 无 ...

  3. 计算机组成原理译码器选择,计算机组成原理第三章习题参考解析.doc

    计算机组成原理第三章习题参考解析 第3章习题参考答案 1.设有一个具有20位地址和32位字长的存储器,问 (1) 该存储器能存储多少字节的信息? (2) 如果存储器由512K×8位SRAM芯片组成,需 ...

  4. (计算机组成原理)第三章存储系统-第六节4:Cache的写策略(写回法和全写法,写分配法和非写分配法)

    文章目录 一:写命中 (1)写回法(write-back) (2)全写法(write-through) 二:写不命中 (1)写分配法(write-allocate) (2)非写分配法(not-writ ...

  5. 【MOOC】华中科技大学计算机组成原理慕课答案-第三章-运算方法与运算器

    待整理. 单选 1 原码除法是指 A. 操作数用绝对值表示,加上符号位后相除 √B. 操作数取绝对值相除,符号位单独处理 C. 操作数用原码表示,然后相除 D. 操作数用补码表示并进行除法,但商用原码 ...

  6. 计算机的运算器总线结构,第三章 运算方法与运算器

    文章目录 定点补码加减法运算 补码加减法运算方法 溢出及检测 溢出检测 操作数与运算结果的符号位是否一致 最高位的进位和符号位的进位是否一致 变形补码 补码加减法的逻辑实现 移码加减运算及实现逻辑 移 ...

  7. 计算机组成原理 第三章 存储系统

    第三章属于考察重点,涉及到存储器的扩展分类与cache的连接等知识点,不仅复杂而且很容易出错,属于重点内容. 3.1 存储器概述 存储器种类非常多,可以根据不同的角度进行分类. 按照在计算机中的作用分 ...

  8. 计算机组成原理三种译码方式,计算机组成原理第三章存储系统

    第三章存储系统 3.1存储器的构成 二.六管静态MOS存储单元线路 存储机理:利用双稳态触发器保存信息 T1通.T2止,存0 T1止.T2通.存1 分析:1保持信息:不打扰,不送地址选通信号:2读出: ...

  9. 西安交通大学计算机组成原理第三章,西安交通大学计算机组成原理专题实验(上)第三次实验报告.pdf...

    计算机组成原理专题实验报告(三) 学生姓名 专业/班级 计算机11 班 学 号 所在学院 电信学院 指导教师 姜欣宁 提交日期 2013 年12 月19 日 计算机组成原理专题实验(三) --运算器模 ...

最新文章

  1. IOS block 教程
  2. TFS2012 服务器安装
  3. WebRTC VideoEngine超详细教程(三)——集成X264编码和ffmpeg解码
  4. 通过多说服务器缓存加速Gravatar 头像
  5. C++学习之路 | PTA乙级—— 1045 快速排序 (25 分)(精简)
  6. mysql存储ip地址_MySQL怎样存储IP地址
  7. 03-27 耗电量测试
  8. 【推荐】互联网或技术多平台,一文多发小工具!
  9. micropython 人脸识别检测_基于ESP8266的人脸识别球锁开锁方案
  10. 平面设计专业学什么?大学平面设计主修课程有哪些?
  11. win7 x64怎么枚举所有快捷键呢
  12. 精益产品开发体系最佳实践及原则
  13. 打开计算机显示服务器失败,win10系统打开windows Media player提示服务器运行失败的详细步骤...
  14. NVIDIA Jetson TK1学习与开发(一):NVIDIA Jetson TK1介绍
  15. php上传图片到七牛云,PHP拖拽上传图片到七牛云
  16. 仅存放常用的工具类,自用
  17. java访问excel表格_Java读取excel表格(示例代码)
  18. 机器学习40讲-12正则化处理:收缩方法与边际化
  19. 【Java源码解析】如何严谨地重写 equals 方法、getClass 方法与 instanceof 关键词用法比较
  20. 设计模式篇:状态模式(一)

热门文章

  1. 香港IT人的工作情况~
  2. BeautifulSoup抓取百思不得姐图片
  3. 使用NDB调试Linux内核的线程切换过程
  4. CyclicBarrier原理分析
  5. 黑马头条项目 对象存储—5.2 CDN
  6. 每日学习,复数,虚数,加法,乘法,除法,模。
  7. Android中textView自动识别电话号码,电子邮件,网址(自动加连接)
  8. 解决直接打开Excel2003 启动慢
  9. 飞行器设计之界限线图
  10. 数据结构基础知识核心归纳(一)