数字逻辑与计算机组成——计算机组成

二进制编码

R进制相互转换

(1) 十进制 → 二进制(整数 + 小数分开转换)

  • 整数部分:除 2 取余,逆序排列(直到商为 0,余数从最后一个到第一个)。
    • 例:十进制 13 → 二进制13÷2=6 余 1,6÷2=3 余 0,3÷2=1 余 1,1÷2=0 余 1 → 逆序得 1101。
  • 小数部分:乘 2 取整,顺序排列(直到小数部分为 0 或达到精度要求,整数从第一个到最后一个)。
    • 例:十进制 0.625 → 二进制0.625×2=1.25 取 1,0.25×2=0.5 取 0,0.5×2=1.0 取 1 → 顺序得 0.101。
  • 组合:13.625₁₀ = 1101.101₂。

(2) 十进制 → 十六进制

  • 方法 1:先转二进制,再按 “4 位二进制→1 位十六进制” 分组(整数从右分组,小数从左分组,不足补 0)。
    • 例:13.625₁₀ = 1101.101₂ → 整数 1101=D,小数 1010(补 0)=A → D.A₁₆。
  • 方法 2:除 16 取余(整数)、乘 16 取整(小数),直接转换。

(3) 二进制 / 十六进制 → 十进制

按位权展开求和:

  • 二进制 1101.101₂ = 1×2^3 + 1×2^2 + 0×2^1 + 1×2^0 + 1×2^-1 + 0×2^-2 + 1×2^-3 = 8+4+0+1+0.5+0+0.125 = 13.625₁₀。
  • 十六进制 D.A₁₆ = 13×16^0 + 10×16^-1 = 13 + 0.625 = 13.625₁₀。

(4) 二进制 ↔ 十六进制(快速转换)

  • 二进制→十六进制:4 位一组,不足补 0,每组对应 1 位十六进制(0000=0,1111=F)。
    • 例:1101101.101₂ → 0110 1101 . 1010 → 6D.A₁₆。
  • 十六进制→二进制:1 位拆 4 位,不足补 0。
    • 例:3F.8₁₆ → 0011 1111 . 1000 → 111111.1₂。

机器码与真值的相互转换

机器码类型正数(真值 X>0)负数(真值 X<0)
原码符号位 0 + 数值位(X 的二进制)符号位 1 + 数值位(X 的二进制)
反码同原码符号位 1 + 数值位(X 的二进制按位取反)
补码同原码反码 + 1(符号位不变,取反加一)
移码补码的符号位取反补码的符号位取反

补充:[X]补 按位取反加一(符号位也取反) -> [-X]补

综合应用

1.有符号数

C语言中有符号整数为补码形式。

补码符号扩展:添符号位

2.无符号数

无符号数全部位为数值位,直接转换(把符号位也算进去作数值位)。

单精度 IEEE754 浮点数标准(32位)

单精度浮点数将32为分为3部分:

符号位(S)阶码位(E)尾数部分(M)总位数
1 位(第 31 位)8 位(第 30-23 位)23 位(第 22-0 位)32 位
  • 符号位 S:0 = 正数,1 = 负数。
  • 阶码位 E:采用移码表示,偏移量 = 127(即阶码真值 = E 的二进制值 - 127)。
  • 尾数部分 M:隐含整数位 1(即尾数实际值 = 1.M),采用二进制小数表示。

真值 ↔ 32 位 IEEE754 转换规则

1) 真值→IEEE754

  1. 将真值转换为二进制科学计数法:X = (-1)^S × (1.M) × 2^e(e 为阶码真值)。
  2. 计算阶码位 E:E = e + 127(转换为 8 位二进制,不足补 0)。
  3. 截取尾数部分 M:取 1.M 的小数部分,保留 23 位(超出截断,不足补 0)。
  4. 组合:S(1 位)+ E(8 位)+ M(23 位)。

2)IEEE754 →真值

  1. 拆分 32 位为 S、E、M 三部分。
  2. 计算阶码真值 e:e = [E]十进制 - 127。
  3. 计算尾数实际值:1.M = 1 + [M]十进制。
  4. 计算真值:X = (-1)^S × (1.M) × 2^e。

运算方法和运算部件

基本运算部件

运算部件种类(了解)

1.串行进位加法器

        由n 个全加器(FA) 级联构成,每一位全加器的进位输出 Ci 作为下一位全加器的进位输入Ci+1,进位信号从最低位(LSB)向最高位(MSB)逐位传递。

2.并行进位加法器

        通过进位生成逻辑提前计算每一位的进位 Ci,无需等待低位进位,所有位的进位和和值可并行计算,核心是推导进位的 “生成项” 和 “传递项”。

3.带标志位加法器

        在并行进位加法器基础上,增加标志位生成电路,运算后输出反映运算结果特征的标志位,支持程序判断和异常处理

4.算术逻辑部件(ALU)

        通用运算部件,可通过控制信号选择实现算术运算(加减、移位)或逻辑运算(与、或、非、异或),是 CPU 运算器的核心。        

核心标志位(主)

标志位符号含义判断规则(以 n 位补码加法为例)
进位标志CF运算的进位 / 借位有进位/借位 -> 1
零标志ZF运算结果是否为 0结果为0 -> 1
符号标志SF运算结果的符号(补码)负数 -> 1
溢出标志OF有符号数运算是否溢出溢出 -> 1

要先看下面的定点数运算再回来做这道例题

定点数运算

1.补码加减运算

基本规则(注意要忽略最高位进位):

  1. 补码加法:[X + Y]补 = [X]补 + [Y]补
  2. 补码减法:[X - Y]补 = [X]补 + [-Y]补

判断是否溢出:

通常可以先算真值来判断是否溢出

判断方法规则举例(8 位:64+65=129,超出范围)
单符号位法最高位进位C_7 ≠ 次高位进位C6 → OF=1

[64]补=01000000,[65]补=01000001

相加:01000000+01000001=10000001

C7=0,C6=1 → OF=1(溢出)

进位值法符号位进位Cs ≠ 数值位最高进位Cn → OF=1同例:符号位(第 7 位)进位Cs=0,数值位最高(第 6 位)进位Cn=1 → OF=1
双符号位法(变形补码)补码扩展为双符号位(00 = 正,11 = 负),运算后双符号位不同(01/10)→ OF=1

[64]补=001000000,[65]补=001000001

相加:001000000+001000001=010000001

双符号位 01 → OF=1(正溢出)

双符号补充:01 = 正溢出,10 = 负溢出,00/11 = 无溢出

单符号位例题:

双符号位例题:

2.原码乘法运算(原码一位乘法)

[X]原 = 01011,[Y]原 = 10101

C表示前面补0;

判断 Y 的最后一位,1 -> P + X,0 -> P + 0;

n位乘数就要加n次,最后取 无符号X位数+无符号Y位数 再补上符号位。

存储器层次结构

存储器概述

1. 存储器的分类(了解)

存储器是计算机存储数据和程序的核心部件,可从多个维度分类:

分类维度类型特点 / 示例
存储介质半导体存储器基于半导体器件(MOS 管 / 双极型管),速度快、体积小,分为易失性(RAM)和非易失性(ROM)
磁介质存储器硬盘、磁带,容量大、成本低、非易失,速度慢
光介质存储器CD/DVD/ 蓝光光盘,非易失,便携性好
存取方式随机存取存储器(RAM)任意地址单元可随机读写,访问时间与地址无关(如 SRAM、DRAM)
只读存储器(ROM)正常工作时只读,非易失(如掩膜 ROM、EPROM、Flash)
顺序存取存储器(SAM)按顺序读写,访问时间与地址相关(如磁带)
直接存取存储器(DAM)寻址分两步(寻道 + 顺序读写),如硬盘
层次结构高速缓冲存储器(Cache)位于 CPU 与主存之间,速度最快、容量小,缓解 CPU 与主存速度差距
主存储器(内存)计算机核心存储,速度较快、容量适中,易失性
辅助存储器(外存)容量大、成本低,非易失,用于长期存储
易失性易失性存储器断电后数据丢失(SRAM、DRAM、Cache)
非易失性存储器断电后数据保留(ROM、Flash、硬盘、光盘)

2.性能参数指标(了解)

存储器的核心性能指标决定了读写效率和使用体验:

参数定义说明
存储容量存储器可存储的二进制位数 / 字节数常用单位:B(字节)、KB(1KB=1024B)、MB(1024KB)、GB(1024MB)、TB(1024GB)核心公式:容量 = 地址线位数对应的单元数 × 数据线位数(如 10 根地址线 + 8 根数据线→2^10×8=8192位 = 1KB)
存取时间TA从发出读写命令到完成操作的时间衡量存储器的读写速度,Cache(ns 级)< 主存(ns~μs 级)< 外存(ms 级)
存取周期TM连续两次独立存取操作的最小间隔时间TM ≥ TA,包含存储器恢复时间(如 DRAM 刷新)
带宽单位时间内可传输的最大数据量公式:Bm = 存储容量/存取周期,单位:B/s、bit/s
可靠性用平均无故障时间(MTBF)衡量MTBF 越长,可靠性越高

主存储器的基本结构

(1) 位扩展(增加数据线位数,字数不变)

  • 适用场景:芯片字数满足需求,但位数不足(如用 8K×1 位芯片组成 8K×8 位存储器)。
  • 连接规则:
    1. 所有芯片的地址线、控制线并联;
    2. 各芯片的数据线分别作为存储器的不同位(如第 1 片接 D0,第 2 片接 D1,…,第 8 片接 D7)。

(2) 字扩展(增加地址单元数,位数不变)

  • 适用场景:芯片位数满足需求,但字数不足(如用 8K×8 位芯片组成 32K×8 位存储器)。
  • 连接规则:
    1. 所有芯片的数据线、读写控制线并联;
    2. 新增地址线通过译码器产生片选信号,选中不同芯片(如 32K 需 15 根地址线,8K 需 13 根,新增 A13、A14 经 2-4 译码器产生 4 个片选信号,对应 4 片 8K 芯片)。

(3)地址范围分析(主)

高速缓冲存储器(主)

Cache 与主存的映射方式

1)直接映射(一对一)

2)全相联映射(多对多)

3)组相联映射(分组的直接映射)

注意:主存块号的表示都是一样的。

全相联映射方式:

直接相联方式:

8路组相联映射方式:

Cache 性能参数

1)命中率

CPU 访问的信息在 Cache 中的概率,是 Cache 性能的核心指标:

p = \frac{N_{c}}{N_{c} + N_{m}}

  • Nc:Cache 命中的访问次数;Nm:Cache 未命中(缺失)的访问次数。

2)平均访问时间

CPU 访问储存器的平均时间,综合 Cache 和主存的访问时间:

T_{a} =T_{c} + (1-p) \times T_{m}

  • Tc:Cache 访问时间;Tm:主存访问时间。

3)访问效率

Cache 的有效利用率,反应 Cache 对访问速度的提升效果:

e = \frac{t_{c}}{T_{a}}

速度快10倍,则所需时间为 1/10

指令系统

指令系统设计

寻址方式

机器字长:n位,形式地址A:m位。

真正的操作数 S = (EA)

寻址方式有效地址(EA)计算寻址范围
立即寻址A 就是操作数由立即数字长决定
寄存器寻址EA= R由寄存器位数决定(如 5 位寄存器编号支持 32 个寄存器)
直接寻址EA= A0 \sim 2^{m}-1
间接寻址EA= (A)0 \sim 2^{n}-1
寄存器间接寻址EA= (R)0 \sim 2^{n}-1
变址寻址EA= (R)+A(R 为变址寄存器)0 \sim 2^{n} + 2^{m} -2
基址寻址EA= (R)+A(R 为基址寄存器)0 \sim 2^{n} + 2^{m} -2
相对寻址EA= (PC)+A(PC 为程序计数器)0 \sim 2^{n} + 2^{m} -2

注意:R 表示的是寄存器,(R) 才是寄存器的值。

扩展操作码

基本原则:地址码位数越少,操作码位数越多。

中央处理器

CPU 是计算机的核心部件,负责指令的读取、译码、执行以及数据的运算和处理,其性能直接决定计算机的整体运行效率。

CPU概述(了解)

 CPU 的核心功能

  1. 指令控制:从主存中按顺序读取指令(取指),保证指令按正确顺序执行。
  2. 操作控制:对指令进行译码,产生完成指令功能所需的控制信号,控制运算器、存储器、I/O 设备等协同工作。
  3. 数据加工:通过运算器(ALU)完成算术运算(加减乘除)和逻辑运算(与、或、非、移位)。
  4. 异常与中断处理:响应程序异常(如除零错误)和外部中断(如键盘输入),暂停当前程序并执行处理程序。

CPU的基本组成

组成部分核心子部件功能说明
运算器(ALU)算术逻辑单元、通用寄存器、移位器、状态寄存器

执行算术 / 逻辑运算;

暂存运算数据和结果;

记录运算状态标志(ZF、SF、OF、CF)

控制器程序计数器(PC)、指令寄存器(IR)、指令译码器、控制信号发生器

PC:存放下一条要执行的指令地址;

IR:存放当前正在执行的指令;

控制信号发生器:根据译码结果产生控制信号

寄存器组通用寄存器(如 RISC-V 的 x0~x31)、专用寄存器(PC、IR、MAR、MDR)

通用寄存器:高速暂存数据,减少访存次数;

MAR(存储器地址寄存器):存放访存地址;MDR(存储器数据寄存器):存放访存数据

单周期CPU设计

9 条核心指令

关键控制信号说明

控制信号说明
Branch分支
Jump跳转
ALUASrc控制 ALU 的第二个操作数来源
MemtoReg控制写回寄存器堆的数据来源
RegWr寄存器堆写使能
MemWr主存写使能

9 条指令对应的控制信号值

指令addsltsltuoriluilwswbeqjal
控制信号
Branch000000010
Jump000000001
ALUASrc0000x0001
MemtoReg000001xx0
RegWr111111001
MemWr000000100

流水线CPU设计

流水线 CPU 的核心思想是将指令执行阶段重叠进行(划分为多个"流水段",段间插入寄存器,用于暂存中间结果),类似于工厂的流水线作业,从而提升 CPU 的指令吞吐量。

流水线性能指标

1)时钟周期

最长段延时 + 寄存器延时,是流水线的基本时间单位。

2)指令吞吐率

单位时间内完成的指令数,吞吐率 = 1/时钟周期

3)指令执行时间

执行时间 = 时钟周期 × 流水线级数

结论:划分的流水段多,时钟周期就变短,指令执行吞吐率就变高,而相应的额外开销(即插入的流水段寄存器的延时)也变大,使得一条指令的执行时间变长。

【电力系统】单机无穷大电力系统短路故障暂态稳定Simulink仿真(带说明文档)内容概要:本文档围绕“单机无穷大电力系统短路故障暂态稳定Simulink仿真”展开,提供了完整的仿真模型说明文档,重点研究电力系统在发生短路故障后的暂态稳定性问题。通过Simulink搭建单机无穷大系统模型,模拟不同类型的短路故障(如三相短路),分析系统在故障期间及切除后的动态响应,包括发电机转子角度、转速、电压和功率等关键参数的变化,进而评估系统的暂态稳定能力。该仿真有助于理解电力系统稳定性机理,掌握暂态过程分析方法。; 适合人群:电气工程及相关专业的本科生、研究生,以及从事电力系统分析、运行控制工作的科研人员和工程师。; 使用场景及目标:①学习电力系统暂态稳定的基本概念分析方法;②掌握利用Simulink进行电力系统建模仿真的技能;③研究短路故障对系统稳定性的影响及提高稳定性的措施(如故障清除时间优化);④辅助课程设计、毕业设计或科研项目中的系统仿真验证。; 阅读建议:建议结合电力系统稳定性理论知识进行学习,先理解仿真模型各模块的功能参数设置,再运行仿真并仔细分析输出结果,尝试改变故障类型或系统参数以观察其对稳定性的影响,从而深化对暂态稳定问题的理解。
本研究聚焦于运用MATLAB平台,将支持向量机(SVM)应用于数据预测任务,并引入粒子群优化(PSO)算法对模型的关键参数进行自动调优。该研究属于机器学习领域的典型实践,其核心在于利用SVM构建分类模型,同时借助PSO的全局搜索能力,高效确定SVM的最优超参数配置,从而显著增强模型的整体预测效能。 支持向量机作为一种经典的监督学习方法,其基本原理是通过在高维特征空间中构造一个具有最大间隔的决策边界,以实现对样本数据的分类或回归分析。该算法擅长处理小规模样本集、非线性关系以及高维度特征识别问题,其有效性源于通过核函数将原始数据映射至更高维的空间,使得原本复杂的分类问题变得线性可分。 粒子群优化算法是一种模拟鸟群社会行为的群体智能优化技术。在该算法框架下,每个潜在解被视作一个“粒子”,粒子群在解空间中协同搜索,通过不断迭代更新自身速度位置,并参考个体历史最优解和群体全局最优解的信息,逐步逼近问题的最优解。在本应用中,PSO被专门用于搜寻SVM中影响模型性能的两个关键参数——正则化参数C核函数参数γ的最优组合。 项目所提供的实现代码涵盖了从数据加载、预处理(如标准化处理)、基础SVM模型构建到PSO优化流程的完整步骤。优化过程会针对不同的核函数(例如线性核、多项式核及径向基函数核等)进行参数寻优,并系统评估优化前后模型性能的差异。性能对比通常基于准确率、精确率、召回率及F1分数等多项分类指标展开,从而定量验证PSO算法在提升SVM模型分类能力方面的实际效果。 本研究通过一个具体的MATLAB实现案例,旨在演示如何将全局优化算法机器学习模型相结合,以解决模型参数选择这一关键问题。通过此实践,研究者不仅能够深入理解SVM的工作原理,还能掌握利用智能优化技术提升模型泛化性能的有效方法,这对于机器学习在实际问题中的应用具有重要的参考价值。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
### 数字逻辑计算机组成原理教程资料 #### 一、基础知识概述 数字逻辑计算机组成原理是计算机科学的核心领域之一,涵盖了从基本的二进制运算到复杂的中央处理器(CPU)架构等多个方面。该学科不仅涉及理论分析还注重实际应用,在电子工程和信息技术等领域具有广泛的应用价值[^1]。 #### 二、主要知识点介绍 - **布尔代数门电路** - 布尔表达式的简化及其对应的真值表表示法;不同类型的逻辑门(AND, OR, NOT等),以及它们之间相互转换的方法。 - **组合逻辑时序逻辑** - 组合逻辑电路的特点是没有记忆功能,其输出仅取决于当前输入信号的状态;而时序逻辑则具备存储数据的能力,能够实现状态转移等功能。 - **寄存器传输级(RTL)描述** - 使用高级抽象来定义硬件行为的方式,可以更方便地理解和设计复杂系统中的各个模块间的数据流动过程。 - **指令集架构(ISA)** - 定义了CPU所能执行的所有操作命令集合,包括算术运算、控制流跳转等多种类型的操作码格式说明文档。 - **微程序控制器** - 解释每条机器语言指令的具体执行流程,通常由一系列微指令构成,这些微指令负责协调各部件完成特定任务所需的全部动作序列。 - **流水线技术和超标量技术** - 提高吞吐率的有效手段之一就是采用多阶段处理机制——即让多个指令在同一时刻处于不同的加工环节之中;另外还可以通过增加独立的功能单元数量从而允许同时启动更多计算活动以达到加速目的。 ```python def pipeline_example(): stages = ['取指', '译码', '执行', '访存', '写回'] instructions = ["ADD R0,R1,R2", "SUB R3,R4,R5"] for instr in instructions: for stage in stages: print(f"{instr} 正在 {stage}") pipeline_example() ``` - **缓存层次结构** - 计算机内存子系统的优化措施,旨在减少访问延迟并提高效率。它按照距离CPU远近分为L1/L2/L3三级缓存,越靠近核心速度越快但容量也相对较小。 - **虚拟地址空间管理** - 将应用程序使用的逻辑地址映射成物理RAM位置的过程,涉及到页表项(Page Table Entry,PTEs),段式(Segmentation),分页(Paging)两种常见方案的选择依据等内容。 #### 三、学习资源推荐 对于希望深入了解此领域的读者来说,《数字逻辑计算机组成》这本书提供了详尽的内容覆盖范围,适合初学者逐步建立起扎实的知识框架,并且随着章节推进逐渐接触到更为前沿的研究成果和技术趋势。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值