计组学习笔记

计组笔记


1.1计算机基本组成

一、冯·诺依曼计算机

1.计算机由控制器(控制程序的执行)、存储器、运算器(算术运算和逻辑运算)、输入(将信息转换成机器能够理解的形式)与输出设备(反之)五大部分组成

image-20250302200356372

2.指令和数据以同等地位存于存储器,按地址寻访

3.指令和数据都以二进制的形式表示

4.指令由操作码地址码组成

eg:

image-20250302202355622

5.存储程序

6.以运算器为中心

二、计算机硬件框图

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

image-20250302200735836

2.现代计算机硬件

image-20250302200915155

  • 层次化(Hierachy):将系统划分为多模块子模块

  • 模块化(Modulaerity):由明确定义的功能和接口

  • 规则性(regularity):模块更容易被重用

计算机的工作步骤

1.准备工作

  • 建立数学模型
  • 确定计算方法
  • 编程

2.解题过程

(1) 存储器(模拟机)

image-20250302202700325

MAR:存储器地址寄存器,反应存储单元的个数

MDR:存储器数据寄存器,反应存储字长

(2) 运算器

image-20250302203909963

ACC (Accumulator):累加器是一种特殊的寄存器,用于暂时存储计算的结果。它位于算术逻辑单元(ALU)的附近,通常直接参与数据的操作和处理。当CPU执行算术或逻辑运算时,操作数常常首先被加载到累加器中,运算结果也常被存储回累加器。这使得累加器成为许多运算的核心。

MQ (Multiplier-Quotient Register):乘商寄存器,在某些计算机架构中用于保存乘法或除法运算中的操作数以及结果的一部分。例如,在进行乘法运算时,一个操作数可能被存储在乘商寄存器中,另一个操作数则从另一个源获取,如内存或另一个寄存器。运算完成后,乘积的一部分可能会存储在MQ中。类似地,在除法过程中,商可能会被存储在这里。

ALU (Arithmetic Logic Unit):算术逻辑单元是CPU的一个核心部分,负责执行所有算术和逻辑运算。算术运算包括加法、减法、乘法和除法等基本运算,而逻辑运算则包括比较、与、或、非等操作。ALU从寄存器(如ACC和MQ)接收输入数据,执行相应的运算,并将结果输出回到寄存器或内存。

(3)控制器

完成一条指令:

  • 取指令:PC(Program Counter,程序计数器)寄存器存放当前将要执行的指令的地址,具有计数功能。每次CPU执行一条指令后,PC的值就会相应增加,以指向下一条指令的位置。对于分支、跳转等改变程序流程的指令,PC会被设置为新的目标地址。

  • 分析指令:IR(Instruction Register,指令寄存器),存放当前将要执行的指令,当从内存中取出一条指令后,它首先被放置到指令寄存器中。然后,控制单元会解释该指令的内容,并根据指令的操作码来决定需要执行的操作以及操作所需的参数。IR在整个指令周期内保持不变,直到开始处理下一条指令。

  • 执行指令:CU(Control Unit,控制单元)从内存中提取指令、解码这些指令,并生成相应的控制信号来执行这些指令。控制单元决定了哪个硬件部件应该接收数据、何时发送数据或控制信号、以及如何处理数据。

(4)主机完成一条指令的过程

以取数指令为例

image-20250302205853049

image-20250302210413779

以存数指令为例

image-20250302210526290

整个过程中,PC负责确保指令按序执行,通过依次指向每条指令的地址;IR暂时保存正在处理的指令,使得CU能够对其进行解码;而CU则扮演指挥角色,协调各个硬件部件的动作,确保指令被正确解读并执行。对于存数指令而言,这个过程特别涉及到从一个特定的寄存器(如ACC)中取出数据,并将其写入由指令指定的内存地址中。这样,通过PC、IR、CU及其它相关组件的紧密合作,计算机能够高效地执行各种指令,包括像存数这样的操作。

posted @   Q7h2q9  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示