计算机基本组成

您所在的位置:网站首页 计算机模型五大部件 计算机基本组成

计算机基本组成

2024-03-07 12:02| 来源: 网络整理| 查看: 265

以下内容均来自计算机组成原理(唐朔飞),是哈尔滨工业大学刘宏伟教授讲解, B站视频地址

1.计算器由五大部件组成 1.冯诺依曼计算机硬件框图 实线表示数据通路,虚线表示控制和状态反馈

=实线表示数据通路,虚线表示控制和状态反馈 此结构计算器会十分繁忙,计算器是系统瓶颈。 .指令和数据以同等地位存于存储器,可按地址寻访 .指令和数据用二进制表示 .指令由操作码和地址码组成 .存储程序 .以运算器为中心

2.以存储器为中心的计算机硬件框图

在这里插入图片描述

3.现代计算机硬件框图

在这里插入图片描述

系统复杂性管理的方法(3Y) -层次化(Hierachy):将被设计的系统划分为多个模块或子模块 -模块化(Modularity):有明确定义(Well-defined)的功能和接口 -规则化(regularity):模块更容易被重用

问题:一个现实中的问题,如何用计算机来解决? 问题:是不是所有问题都可以用计算机的方法来解决? 可计算理论是研究计算可行性和函数算法的理论,又称为算法理论。可计算性通常指一类问题是否可以被 计算机来解决(比如煎鸡蛋是没有办法来计算的,不可计算问题中比较著名的是图灵机停机问题) 假设我们面对的是一个可以有计算机解决的问题,如何用计算机去解决这个问题呢? 计算机的工作步骤 上机前的准备 建立数学模型确定计算方法编制解题程序 程序—运算的全部步骤 指令—每一个步骤编程举例 计算    a x 2 x^2 x2+b x x x+c    =   (a x x x+b)x+c      取 x x x到运算器中     取 x x x到运算器中      乘以 x x x在运算器中    乘以a在运算器中      乘以a在运算器中    加b在运算器中      存a x 2 x^2 x2到存储器中    乘以 x x x在运算器中      取b到运算器中     加c到运算器中      乘以 x x x在运算器中    5个指令执行结束      加a x 2 x^2 x2到运算器中      加c到运算器中      8个指令执行结束

指令格式举例

指令包含操作码和地址码 取数 α \alpha α [ α \alpha α] → \rightarrow →ACC(累加器,默认的,不需要指令中指出) 000001 0000001000(假设指令一共16位,其中6位是操作码部分,指明了要做什么操作,000001表示取数;10位是内存地址部分,0000001000表示把存放在内存单元8位置的数据取出来,放到ACC中) 存数 β \beta β [ACC] → \rightarrow → β \beta β(将数据从ACC中存放到内存单元 β \beta β中,指令的二进制,同样是6位操作码,10位的地址码) 加 γ \gamma γ ,假设另外一个操作数默认保存在了ACC里面,加法结果也默认保存在ACC [ACC]+ γ \gamma γ → \rightarrow →ACC 乘 δ \delta δ [ACC] × \times × δ \delta δ → \rightarrow →ACC(考虑溢出,16位,乘积有可能会超过16位,大于16位的没地方存储) 打印 σ \sigma σ [ σ \sigma σ] → \rightarrow →打印机 停机

计算a x 2 x^2 x2+b x x x+c程序的清单

指令和数据存于主存单元的地址指令注释操作码地址码00000010000001000取数X至ACC10001000000001001乘a得ax,存至ACC中20000110000001010加b得ax+b,存于ACC中30001000000001000乘x得到(ax+b)x,存于ACC中40000110000001011加c得到ax^2+bx+c,存于ACC中50000100000001100将ax^2+bx+c,存于主存单元60001010000001100打印70001100停机8x原始数据x9x原始数据a10x原始数据b11c原始数据c12存放结果

此表中的地址位从8开始,都是存放的原始数据,前面的是存放操作指令和原始数据的存储位置(操作码是有固定规范的。)

指令和数据都是保存在存储器中的

存储器结构? (1)存储器的基本组成

如果访问?

每次访问获得的数据位数是多少呢? 在这里插入图片描述 存储体—存储单元(电子设备)— 存储元件(0/1) 存储体有若干个存储单元构成,刚才表格中的指令(操作码和地址码)就存储在存储单元中 存储单元由多个存储元件构成。 存储元件存放的是0或者1。 举例:存储体相当于大楼,存储单元相当于房间,存储元件相当于床位(有人/无人,表示0/1)

存储单元存放一串二进制代码(比如存储单元由6个存储元件,那么存储单元可以存放6位二进制数字) 存储字 存储单元中二进制代码的组合(比如存放的000100,就是存储字) 存储字长 存储单元中二进制代码的位数(比如存放的000100 ,字长是6)

每个存储单元赋予一个地址,一个存储单元中存放一个存储字,然后就可以通过地址对存储单元进行访问。 存储单元是按地址寻访,CPU想取数,需要给出存储单元的地址

MAR(Memory Address Register)是寄存器,名字是存储器地址寄存器(反映存储单元的个数) MDR保存了要送入CPU或者刚从存储体中取出的,存储器数据寄存器(反应存储字长) 设MAR =4位,二进制4位,存储单元个数16个,MDR=8位,表明存储字的字长是8位。 对存储单元的读和写,需要用到MAR和MDR

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

在这里插入图片描述

ACC 数字寄存器 保存运算结果,乘法超出部分会保存到MQ中,Accumulator,累加器,运算器中运算前存放操作数、运算后存放运算结果的寄存器; ALU 算术逻辑单元(arithmetic and logic unit) 是能实现多组算术运算和逻辑运算的组合逻辑电路 MQ 乘商寄存器,Multiple—Quotient Register,乘商寄存器主要负责数据的乘法与除法运算并可保存运算结果,是运算器的基本组成部分,是运算器三个基本寄存器之一。 X 此字母没有专指的缩写含义,可以用作任一部件名,在此表示操作数寄存器,即运算器中工作寄存器之一,用来存放操作数; ACCMQX加法被加数加数和减法被减数减数差乘法乘积高位乘数被乘数乘积地位除法被除数商除数余数 运算器的结构 运算器的功能,工作原理 1.加法操作过程

指令 加 M 初态 ACC 存放 被加数 【M】 → \rightarrow → X     M是加数在内存单元中的地址,把加数从内存单元中取出保存到X寄存器

【ACC】+【X】 → \rightarrow → ACC  加法操作通过ALU执行操作,然后存放的ACC中

2.减法操作

被减法保存在ACC中,减数保存在X,有ALU完成减法操作,存放到ACC 指令 减 M 初态 ACC 存放 被减数 【M】 → \rightarrow → X     M是减数在内存单元中的地址,把减数从内存单元中取出保存到X寄存器 【ACC】-【X】 → \rightarrow → ACC   加法操作通过ALU执行操作,然后存放的ACC中

3.乘法操作

指令 乘 M 初始状态 ACC 被乘数 【M】 → \rightarrow → MQ(将M中存放数据,取出存放到MQ中,存放的是乘数) 【ACC】 → \rightarrow → X (将被乘数从ACC中取出,存放到X寄存器) 0 → \rightarrow →ACC (把ACC清0) 【X】 × \times × 【MQ】 → \rightarrow →ACC\MQ(ACC存放高位,MQ存放低位)

4.除法

指令 除 M 被除数隐含的保存在ACC(在除法操作之前,先执行一条指令,将被除数放到ACC中) 初态 ACC 被除数 【M】 → \rightarrow →X 【ACC】 ÷ \div ÷【X】 → \rightarrow →MQ 余数在ACC中

控制器的功能,工作原理

解释指令 保证指令的按序执行 完 成 一 条 指 令 { 取 指 令 P C 分 析 指 令 I R 执 行 指 令 C U 完成一条指令\begin{cases} 取指令 & PC \\ 分析指令 & IR \\ 执行指令 & CU \end{cases} 完成一条指令⎩⎪⎨⎪⎧​取指令分析指令执行指令​PCIRCU​

PC(Program Counter)存放当前欲执行指令的地址,具有计数功能(PC+1) → \rightarrow →PC,至于加几跟具体的结构有关

IR(Instruction register)指令寄存器的缩写,存放当前欲执行的指令

CU(Control Unit) 控制单元

主机完成一条指令的过程

以取数指令为例

在这里插入图片描述

1.从PC中取出指令的地址码送入到MAR 2.从MAR中找到指令在存储体中存储的位置 3.将指令从存储体中放入到MDR 4.指令从MDR送入的IR, 5.IR送入到CU,进行指令分析 6.将数据的地址码从IR中送入到MAR 7.从MAR中找到数据在存储体中位置 8.将数据送入到MDR中 9.将数据从MDR存放到ACC中


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3