计算机组成原理学习-哈工大《计算机组成原理》第一章

本专栏主要记录自己学习计算机组成原理的整个过程。
大致分为以下二部分:

  1. 视频学习。
    计算机科学速成课 【看前10个视频】
    哈工大的《计算机组成原理》
  2. 通过相应图书进行学习。
    入门级:《计算机是怎么样跑起来》 《程序是怎么跑起来的》《Computer Organization》
    深入级:《计算机组成与设计:硬件 / 软件接口》《深入理解计算系统》

一.计算机科学速成课

视频链接: 计算机科学速成课

本阶段学习笔记:公开分享版本【计算机科学速成课】 笔记
学习进度:前十节课【已完成】
备注:上面的笔记并不是博主本人编写,来源于网络。

二. 哈工大的《计算机组成原理》-第一章

视频链接:计算机组成原理(唐朔飞)

(一) 计算机组成的简介

1.课程概貌

在这里插入图片描述

2.课程用书以及参考教材

(1) 课程用书

  • 课程用书:唐朔飞《计算机组成原理》(第2版)
  • 辅导用书:《计算机组成原理学习指导与习题解答》
  • 作者详情:百度百科-唐朔飞
  • 备注:《计算机组成原理》目前最新版本为《计算机组成原理》(第3版)

在这里插入图片描述
(2) 参考教程

相关链接:
电子英文版-[计算机系统结构量化研究方法].John.L.Hennessy,.David.A.Patterson.
电子英文版-digital design and computer architecture-[david harris, sarah harris]

3.本节课在课程体系中的地位

在这里插入图片描述

4.本书结构

在这里插入图片描述
在这里插入图片描述

(二) 计算机的基本组成

1.计算机系统概论

前面过渡:物联网概念,传感器,计算机,服务器,超级计算机…
计算机的分类:
按处理方式分为:模拟计算机和数字计算机。
按专用性分为:通用计算机和专用计算机。
按规模分为:巨型机、大型机、小型机、微型机等几类。
按功能分为:超级计算机、网络计算机、工业控制、个人电脑和嵌入式五类。

问题:现代计算机系统由哪二部分构成?
通过百度百科-抽象的方式进行描述:
在这里插入图片描述
软件的分类:

  • 系统软件:用来管理整个计算机系统
  • 应用软件:按任务需要编制成的各种程序

在这里插入图片描述

2.计算机层次机构

(1) 从计算机物理结构进行抽象
在这里插入图片描述
(2) 从计算机程序员【硬件程序员】视角进行抽象
在这里插入图片描述

在这里插入图片描述

3.计算机体系结构

在这里插入图片描述

4.计算机的基本组成

(1) 百度百科-冯诺依曼计算机的特点
在这里插入图片描述
(2) 百度百科-冯诺依曼计算机硬件框图
各个部件的功能:

  • 运算器:算术运算和逻辑运算
  • 存储器:存放数据和程序
  • 控制器:指挥和控制程序的运行
  • 输入设备:把信息转换成机器能识别的形式
  • 输出设备:将结果转换成人们熟悉的形式

下图的硬件框图以运算器为核心:
在这里插入图片描述
备注:虚线表示控制和状态反馈,实线表示数据通过。

冯诺依曼计算机硬件框图的改进(硬件框图以存储器为核心):
在这里插入图片描述
备注:双箭头表示传输
(3) 现代计算机的硬件框图
在这里插入图片描述
(4) 系统复杂性管理的方法(3’Y)
在这里插入图片描述

(三) 计算机工作步骤

本节课提出问题:

  • 一个现实中的问题,如何用计算机来解决?
  • 是不是所有的问题都可以用计算的方法来解决?
1.一个现实中的问题,如何用计算机来解决?

(1) 计算机解决现实中问题步骤

  • 建立数学模型
  • 确定计算方法
  • 编制解题程序

在这里插入图片描述
(2) 计算ax^2+bx+c
编程举例(下图左右分别为二种不同的解题方式):

很明显右边的程序要远远优于左面的程序,运行的指令更少,执行速度更快。

在这里插入图片描述
指令格式举例:

在这里插入图片描述
程序清单:

  • 指令=操作码+地址码
  • 指令和数据都是保存在存储器中

在这里插入图片描述

2.是不是所有的问题都可以用计算的方法来解决?
  • 可计算理论
  • 假设说函数的定义域是D,值域是R,如果存在一种算法对于D当中给定的任意一个X,都能计算出F(x)的值,就说明这个函数是可计算的
  • 可计算问题表示一类问题是否可以通过计算机来解决
  • 不可计算问题:图灵机停机,歌德巴赫猜想,理发师问题,煎鸡蛋…
3.存储器,运算器

(1) 存储器的基本组成

  • 存储器的结构?
    答:存储体+MAR+MDR
  • 如何进行访问?
    答:按地址进行访问(按地址寻访)
  • 每次访问获得的数据的位数是多少呢?
    答:每次访问一个地址对应一个存储单元,一般一个存储单元8bit.

存储体:

把存储体比作大楼,存储单元就是大楼里的房间(一个存储单元对应一个地址,一个存储单元对应一个房间门牌号),而存储元件就是某间房间的床位(床位有人无人对应存储原件的状态)。

  • 存储单元:存放一串二进制代码 存储字:存储单元中二进制代码组合 存储字长:存储单元中二进制代码的位数,每个存储单元赋予一个地址。
  • 存储元件:(元件状态-> 0:低电平 1:高电平)

在这里插入图片描述
MAR,MDR:

  • MAR:存储器地址寄存器,反映存储单元的个数(一个地址对应一个存储单元)
  • MDR:存储器数据寄存器,反映存储字长

例题:设MAR=4位,MDR=8位对应的存储单元个数为16(地址数量:2^4=16),存储字长为8
在这里插入图片描述
(2) 运算器的基本组成及操作过程(下图运算器采用累加型计算机)

  • 运算器的结构是什么?
    答:ALU,ACC寄存器,MQ寄存器,X寄存器
  • 运算器的功能是什么?如何工作?
    答:运算器的功能就是运算,核心就是ALU,加减乘除工作过程如下

在这里插入图片描述
下面分别通过加减乘除相应运算来理解表格含义。
加法:
举例:a=1,b=1求a+b的过程。
第一步:将a被加数放入ACC寄存器中
在这里插入图片描述
第二步:将[M]的值放入X寄存器中([M]->x),[M]表示内存地址中M地址执行的值b
在这里插入图片描述
第三步:ALU执行加法操作:[ACC]+[x]
在这里插入图片描述
第四步:将运算的结果保存到ACC当中
在这里插入图片描述

减法:
减法的执行过程和加法一致:
举例:a=1,b=1,求a-b的过程

  1. 将被减数a放入ACC寄存器中
  2. [M]的值放入X寄存器中([M]->x),[M]表示内存地址中M地址执行的值b
  3. ALU执行减法操作:[ACC]-[X]
  4. 将运算的结果保存到ACC当中

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

乘法:
举例:a=1,b=1,求a*b的整个过程。
第一步:将被乘数a放入到ACC寄存器当中
在这里插入图片描述
第二步:将乘数[M]的值b放入到MQ寄存器中
在这里插入图片描述
第三步:将[ACC]里的值a放入到X寄存器中

在这里插入图片描述
第四步:将ACC寄存器的数据清零
在这里插入图片描述
第五步:ALU进行乘法运算:[x]X[MQ]
在这里插入图片描述
第六步:将运算结果高位保存到ACC寄存器低位保存到MQ寄存器
在这里插入图片描述
备注:上文中第一步和第二步的运算过程顺序可以对换,该顺序由控制器控制。

除法:
举例:a=1,b=1,求a/b的整个过程。
第一步:将被除数a放入ACC寄存器中
在这里插入图片描述
第二步:将[M]对应的值b放入X寄存器中
在这里插入图片描述
第三步:ALU执行除法运算:[ACC]÷[x]
在这里插入图片描述
第四步:将余数放入ACC寄存器,运算结果放入MQ寄存器
在这里插入图片描述

4.控制器

(1) 控制器组成和功能
本节问题:

  • 控制器的基本结构如何呢?
    答:CU,IR,PC
  • 控制器的功能?
    答:解释指令,保证指令的按序执行

控制器的基本组成:

  • PC存放当前欲执行指令的地址,具有计数功能(PC)+1->PC
  • IR存放当前欲执行的指令
  • CU执行指令

在这里插入图片描述
(2) 主机完成一条指令的过程
指令执行过程:

  • 取指令
  • 分析指令
  • 执行指令

完成一条取数指令:

在这里插入图片描述
第一步:PC将地址交给MAR寄存器,让MAR从存储体中取出对应的要执行的指令
在这里插入图片描述
第二步:MAR寄存器从存储体中取出要执行的指令
在这里插入图片描述第三步:存储体将指令交给MDR存储器
在这里插入图片描述
第四步:MDR寄存器将指令存放到IR寄存器中

在这里插入图片描述
第五步:IR寄存器将指令交给CU控制单元执行指令
在这里插入图片描述第六步:CU执行指令,IR寄存器将要取的数据地址交给MAR
在这里插入图片描述
第七步:MAR将地址交给存储体
在这里插入图片描述
第八步:存储体将对应地址的数据交给MDR

在这里插入图片描述第九步:MDR将数据交给ACC寄存器
在这里插入图片描述
完成一条存数指令:
前面七步步骤和取指令一致,但是CU执行的指令为指令。

第八步:MAR的地址指向存储体中ACC的数据地址,ACC将数据交给MDR
在这里插入图片描述第九步:MDR将数据交给存储体进行存储
在这里插入图片描述

5.ax^2+bx+c指令执行过程

(PC)+1->PC:表示当前这条指令执行完之后,执行下一条指令

在这里插入图片描述

6.计算机的挑选和相关性能参数

(1) 如何买一台合适的机器
在这里插入图片描述
(2) 计算机硬件的主要技术指标
在这里插入图片描述在这里插入图片描述

  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嘟嘟的程序员铲屎官

你的鼓励将是我最大的动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值