张雪峰数字媒体技术,网站seo优化排名,免费建立个人网站的哪些平台好,韩国ps教程网站说明
博客作为笔记备份#xff0c;不定时更新参考内容为《计算机组成原理#xff08;第3版#xff09;》唐朔飞 高等教育出版社#xff1b;王道考研《计算机组成原理考研复习指导2023》文中的例题摘自王道考研《计算机组成原理考研复习指导2023》#xff0c;大多是我个人…说明
博客作为笔记备份不定时更新参考内容为《计算机组成原理第3版》唐朔飞 高等教育出版社王道考研《计算机组成原理考研复习指导2023》文中的例题摘自王道考研《计算机组成原理考研复习指导2023》大多是我个人认为较为典型的题目以及错题的部分整理 文章目录 指令流水1. 流水线的基本概念1.1 指令流水的定义1.2 流水线的表示方式1.3流水线特点总结流水线分类补充来自体系结构课本单功能流水线与多功能流水线静态流水线和动态流水线部件级、处理机级、处理机间流水线线性流水线与非线性流水线顺序流水线和乱序流水线 2. 流水线的性能指标吞吐率 TP加速比 S效率 3. 流水线的冒险与处理3.1 相关数据相关名相关控制相关 3.2 冒险也称冲突结构冒险数据冒险控制冒险 4. 流水线的基本实现4.1 流水线的数据通路4.2 流水线的控制信号4.3 流水线的执行过程 5. 高级流水线技术5.1 超标量流水线技术5.2 超长指令字技术5.3 超流水线技术 6. 例题超标量流水线数据通路流水线每段的时间与CPU时钟周期综合题 更新文档 指令流水
《计算机系统结构第2版》张晨曦 王志英 高等教育出版社 C h a p t e r 3 P 50 Chapter 3\ P_{50} Chapter3 P50
1. 流水线的基本概念
可从两方面提高处理机的并行性 时间上的并行技术将一个任务划分为几个不同的子阶段每个阶段在不同的功能部件上并行执行以便在同一时间能同时执行多个任务从而提升系统性能。这种方法被称为流水线技术空间上的并行技术在一个处理机内设置多个执行相同任务的功能部件并让这些功能部件并行工作这样的处理机称为超标量处理机
1.1 指令流水的定义
假设一条指令执行过程为如下5个阶段 取指 IF从IR或Cache中取指令译码/读寄存器 ID操作控制器对指令进行译码同时从寄存器堆中取操作数执行/计算地址 EXE执行运算操作或计算地址访存 MEM对存储器进行读/写操作写回 WB将指令执行结果写回寄存器堆 流水线的设计原则 指令流水段个数以最复杂指令所用的功能段个数为准流水段的长度以最复杂的操作所花的时间为准注流水线方式并不能缩短单条指令的执行时间但对于整个程序来说执行效率得到了大幅提高 为了利于实现流水线指令集应该 指令长度应尽量一致有利于简化取指和译码操作指令格式应尽量规整尽量保证源寄存器的位置相同有利于在指令未知时就可取寄存器操作数否则要等译码后才能确定指令中各寄存器编号的位置采用LOAD/STOER指令其他指令不能访存这样可以把LOAD/STORE指令的地址计算和运算指令的执行步骤规整在同一个周期中有利于减少操作步骤数据和指令在存储器中对齐存放有利于减少访存次数使得所需的数据在一个流水段内就能从存储器中得到
1.2 流水线的表示方式
通常用时空图描述流水线的执行情况
1.3流水线特点总结
流水线实际上是把一个大的处理功能部件划分为多个独立的功能部件并依靠它们的并行工作来缩短程序的执行时间流水线各段的时间应尽量相等否则将引起流水线堵塞、断流因为时间长的段将成为流水线的瓶颈此时流水线中其他功能部件就不能充分发挥作用流水线每个功能部件后都要有一个缓冲寄存器锁存器)成为流水寄存器其作用是在相邻两段之间传送数据并把各段的处理工作相互隔离流水线技术适用于大量重复的时序过程只有在输入端不断地提供任务才能充分发挥流水线的效率流水线需要通过时间和排空时间分别指第一个任务和最后一个任务从进入流水线到流出结果的那个时间段在这两个时间段中流水线都不是满段
流水线分类补充来自体系结构课本
单功能流水线与多功能流水线
按流水线所完成的功能来分单功能流水线只能完成一种固定功能的流水线多功能流水线流水线的各段可进行不同的连接以实现不同的功能
静态流水线和动态流水线
按同一时间内各段之间的连接方式对多功能流水线进一步划分静态流水线同一时间段内多功能流水线各段只能按同一种功能的连接方式工作。比如当要在n个浮点加法运算后进行定点乘法时必须等最后一个浮点加法完成、流水线排空后才能改变连接开始新的运算动态流水线同一时间段内多功能流水线中的各段可以按照不同的方式连接同时执行多种功能。即允许某些段在实现某种运算时另一些段在实现另一种运算
部件级、处理机级、处理机间流水线
按流水的级别分部件级流水线又称运算操作流水线把处理机的算术逻辑运算部件分段处理机级流水线又称指令流水线把指令的解释执行过程按流水方式处理处理机间流水线又称宏流水线由两个或两个以上的处理机串行连接起来对同一数据流进行处理每个处理机完成整个任务的一部分
线性流水线与非线性流水线
按流水线中是否有反馈回路来分线性流水线流水线各段串行连接没有反馈回路数据流过流水线的各段时每个段最多只能流过一次非线性流水线含有反馈回路。在非线性流水线中要确定何时向流水线引进新的任务才能使该任务不会与先进入流水线的任务发生冲突——争用流水段这就是非线性流水线的调度问题
顺序流水线和乱序流水线
按任务流入和流出的顺序是否相同来分顺序流水线流水线输出端任务流出的顺序与输入端任务流入顺序一致乱序流水线流出和流入顺序可以不同允许后进来流水线的任务先完成
2. 流水线的性能指标
吞吐率 TP
单位时间内流水线所完成的任务数量或输出结果的数量 T P n T k TP\cfrac{n}{T_k} TPTkn, n是任务数 T k T_k Tk是处理完n个任务所用的总时间设k为流水线段数 Δ t \Delta t Δt是时钟周期在输入流水线中的任务连续的理想情况下一条k段流水线能在 k n − 1 kn-1 kn−1个时钟周期内完成n个任务得到流水线吞吐率 T P n ( k n − 1 ) Δ t TP \cfrac{n}{(kn-1)\Delta t} TP(kn−1)Δtn T P m a x 1 Δ t TP_{max} \cfrac{1}{\Delta t} TPmaxΔt1 T P n k n − 1 T P m a x TP\cfrac{n}{kn-1}TP_{max} TPkn−1nTPmax只有当 n ≫ k n \gg k n≫k时才有 T P ≈ T P m a x TP\approx TP_{max} TP≈TPmax
加速比 S
完成同一批任务不使用流水线和使用流水线所用时间之比 S T 0 T k S \cfrac{T_0}{T_k} STkT0 T 0 T_0 T0表示不使用流水线的总时间 T k T_k Tk表示使用k段流水线的总时间 S k n Δ t ( k n − 1 ) Δ t k n k n − 1 S \cfrac{kn\Delta t}{(kn-1)\Delta t}\cfrac{kn}{kn-1} S(kn−1)ΔtknΔtkn−1kn S m a x k S_{max} k Smaxk当 n ≫ k n\gg k n≫k时流水线的加速比等于其段数
效率
流水线中的设备实际使用时间与整个运行时间的比值即流水线设备的利用率从时空图上看效率就是n个任务占用的时空面积和k个段总的时空面积比
3. 流水线的冒险与处理
3.1 相关
相关指两条指令之间存在某种依赖关系。若两条指令相关则它们就有可能不能在流水线中重叠执行或只能部分重叠
数据相关
对于指令i在前和指令j在后若满足一下条件之一就称j和i数据相关 指令 j 使用指令 i 产生的结果指令 j 与指令 k 数据相关而指令 k 与指令 i 数据相关这表明数据相关具有传递性 数据相关反映了数据的流动关系即如何从其产生者流动到其消费者
名相关
“名”指指令所访问的寄存器或存储器单元的名称。若两条指令使用相同的名但它们之间没有数据流动就成它们存在名相关指令 j 和 i 之间的名相关有两种 反相关 anti-dependence指令 j 写的名与指令 i 读的名相同。反相关指令之间的执行顺序必须严格遵守以保证 i 读的值是正确的输出相关 output-dependence指令 j 和指令 i 写相同的名。输出相关的执行顺序不能颠倒以保证最后的结果是指令 j 写进去的 与真数据相关不同名相关的两条指令之间并没有数据的传送只是使用了相同的名可通过改变指令中操作数的名来消除名相关这就是换名技术对寄存器操作数的换名又称为寄存器换名
控制相关
由分支引起的相关。它需要根据分支指令的执行结果来确定后续指令是否执行
if p1{S1;
};
S;
if p2{S2;
};语句S1与p1控制相关S2与p2控制相关S与p1和p2均无关控制相关带来的限制 与一条分支指令控制的指令不能被移到该分支之前。对上例then部分中的指令不能移到if语句之前若一条指令与某分支指令不存在控制相关就不能把该指令移到该分支指令之后。对上例不能把S移到if语句的then部分中
3.2 冒险也称冲突
结构冒险
由于多条指令在同一时刻争用同一资源而形成的冲突也称为资源冲突即由硬件资源竞争而造成的冲突解决 前一指令访存时使后一条相关指令以及其后续指令暂停一个时钟周期单独设置数据存储器和指令存储器使取数和取指令操作各自在不同的存储器中进行。现代计算机引入Cache机制L1 Cache通常采用指令和数据分离的方式从而避免资源冲突
数据冒险
在一个程序中下一条指令会用到当前指令计算出的结果。当相关的指令靠的足够近时它们在流水线中的重叠执行或者重新排序会改变指令读/写操作数的顺序使之不同于它们非流水线实现时的顺序则发生了数据冲突数据冲突习惯上这些冲突是按照流水线必须保持的访问顺序来命名的 写后读冲突 RAW指令 j 用到指令 i 的计算结果而且在 i 将结果写入寄存器之前就去读该寄存器因此得到的是旧值。对应于真数据相关写后写冲突 WAW指令 j 和指令 i 的结果单元寄存器或存储器单元相同而且 j 在 i 写入之前就先对该单元进行了写入操作从而导致写入顺序错误。对应于输出相关 WAW冲突仅发生在流水线中不止一个段可以进行写操作或当先前某条指令停顿时允许后续指令继续前进 读后写冲突 WAR 指令 j 的结果单元和指令 i 的源操作数单元相同而且 j 在 i 读取该单元之前就对该单元进行了写操作导致 i 读到的值是错误的 WAR冲突仅发生在有些指令的写结果操作提前了而有些指令的读操作滞后了或者指令被重新排序了 解决 采用数据旁路技术定向技术 思想在某条指令产生计算结果之前其他指令并不真正立即需要该计算结果若能够将该计算结果从其产生的地方直接送到其他指令需要它的地方就可以避免停顿。推广将结果数据从其产生的地方直接传送到所有需要它的功能部件可以这样实现定向 EX段和MEM段之间的流水寄存器中保存的ALU运算的结果总是回送到ALU的输入端但当定向硬件检测到前一个ALU运算结果写入的寄存器就是当前ALU操作的源寄存器时那么控制逻辑就选择定向的数据作为ALU的输入而不采用从通用寄存器组中读出的值 需要停顿的数据冲突 把遇到数据相关的指令及其后续指令都暂停一至几个时钟周期直到数据相关消失后再继续执行。可分为硬件阻塞stall和软件插入NOP指令两种方法stall方式设置一个“流水线互锁机制”的功能部件一般来说它的作用是检测发现数据冲突并使流水线停顿直至冲突消失 依靠编译器解决 通过编译器对数据相关的指令编译优化调整指令顺序来解决数据相关。这种技术称为指令调度或流水线调度
控制冒险
指令通常是顺序执行的但在遇到执行转移、调用或返回执行时会改变PC的值会造成断流从而引起控制冒险解决 分支预测尽早生成转移目标地址 分为简单静态预测和动态预测静态预测总是预测条件不满足即继续执行后续指令动态预测根据程序执行的历史情况进行动态预测调整有较高的预测准确率 预取转移成功和不成功两个控制流方向上的目标指令加快和提前形成条件码提高转移方向的猜准率
4. 流水线的基本实现
4.1 流水线的数据通路 IF段包括PC、指令存储器、下条指令地址的计算逻辑ID段包括操作控制器、取操作数逻辑、立即数符号扩展模块EX段主要包括ALU、分支地址计算模块MEM段主要包括数据存储器读写模块WB段主要包括存储器写入控制模块说明 各种寄存器和数据存储器均采用统一时钟CLK进行同步每来一个时钟就会一条新的指令进入流水线IF段流水寄存器会锁存前段加工处理完的数据和控制信号不同流水寄存器锁存的数据不相同
4.2 流水线的控制信号
在某一时刻每个流水段执行不同指令的某个阶段每个流水段需要正在执行指令的对应功能段的控制信号图5.19中的控制信号分类
控制信号位置来源功能说明BranchTakenIFEX分支跳转信号1表示跳转由EX段的Branch信号与equal标志进行“逻辑与”生成RegDstIDID写入目的寄存器选择为1时目的寄存器为rd寄存器为0时目的寄存器为rt寄存器RegWriteIDWB控制寄存器堆写操作为1时数据需要写回寄存器堆中的指定寄存器AluSreEXEXALU的第二个输入选择控制为0时输入寄存器rt为1时输入扩展后的立即数AluOpEXEX控制ALU进行不同的运算具体取值和位宽与ALU的设计有关MemWriteMEMMEM控制数据存储器写操作为0时进行读操作为1时进行写操作MemToRegWBWB为1时将数据存储器读出数据写回寄存器堆否则将ALU运算结果写回
每个流水寄存器中保存的信息包括 后面流水段需要用到的所有数据信息包括PC4、指令、立即数、目的寄存器、ALU运算结果、标志信息等前面传递过来的后面流水段要用到的所有控制信号
4.3 流水线的执行过程
取指 IF 将PC值作为地址从指令寄存器中取出第一条指令字并计算PC4将其送入PC输入端以便于在下一个时钟周期取下条指令这些功能由取指部件完成取出的指令字通过RD输出端送入IF/ID流水寄存器PC4也送入IF/ID流水寄存器只要是后续功能段可能用到的数据和控制信号都要向后传递时钟到来时将更新后的PC值和指令字锁存到IF/ID流水寄存器中本条指令 I 1 I_1 I1进入ID段IF段取出下一条指令 I 2 I_2 I2 译码/读寄存器 ID 由控制器根据IF/ID流水寄存器中的指令字生成后续各段所需的控制信号 对于LW访存指令根据指令字中的rs、rt取出寄存器堆中的值RS和RT符号扩展单元会将指令字中的16位立即数符号扩展为32位多路选择器根据指令字生成指令可能的写寄存器编号WriteReg# 时钟到来时这些数据、控制信号、PC4都会锁存到ID/EX流水寄存器中指令 I 1 I_1 I1 进入EX段 I 2 I_2 I2进入ID段指令 I 3 I_3 I3进入IF段 执行/计算地址 EX EX段的功能由具体的指令确定不同指令经ID段译码后得到不同的控制信号 对于LW指令EX主要用来计算访存地址将ID/EX流水寄存器中的RS值与符号扩展后的立即数相加得到的访存地址送入EX/MEM寄存器EX段可能还要计算分支地址生成分支跳转信号BranchTakenRT的值可能会在MEM段作为写入数据使用所以RT会作为数据WriteData送入EX/MEM流水寄存器 时钟到来后这些数据和控制信号会锁存到EX/MEM流水寄存器中 I 1 I_1 I1进入MEM段 I 2 、 I 3 、 I 4 I_2、I_3、I_4 I2、I3、I4分别进入EX、ID、IF段 访存 MEM MEM段的功能也由具体指令确定 对于LW指令主要是根据EX/MEM流水寄存器中的访存地址写入数据和内存读写控制信号MemWrite对存储器进行读/写操作EX/MEM流水寄存器中的访存地址、WriteReg#、数据存储器读出的数据都会送入MEM/WB流水寄存器 时钟到来后这些数据和控制信号会锁存到MEM/WB流水寄存器中 I 1 I_1 I1 进入WB段 I 2 、 I 3 、 I 4 、 I 5 I_2、I_3、I_4、I_5 I2、I3、I4、I5分别进入MEM、EX、ID、IF段 写回 WB WB段的功能也由具体指令确定 将MEM/WB流水寄存器中数据存储器读出的数据写回指令寄存器WriteReg# 时钟到来时会完成数据写入寄存器 I 1 I_1 I1 离开流水线 I 2 、 I 3 、 I 4 、 I 5 、 I 6 I_2、I_3、I_4、I_5、I_6 I2、I3、I4、I5、I6分别进入WB、MEM、EX、ID、IF段
5. 高级流水线技术
增加指令级并行的策略 多发射技术通过采用多个内部功能部件使流水线功能段能同时处理多条指令处理机一次可以发射多条指令进入流水线执行超流水线技术通过增加流水线的级数使更多的指令同时在流水线中重叠执行
5.1 超标量流水线技术 超标量流水线技术也称动态多发射技术每个时钟周期内可并发多条独立指令以并行操作方式将两条或多条指令编译并执行为此需配置多个功能部件超标量技术不能调整指令的执行顺序因此通过编译优化技术把可并行执行的指令搭配起来挖掘更多的指令并行性
5.2 超长指令字技术 也称静态多发射技术由编译程序挖掘出指令间潜在的并行性将多条能并行操作的指令组合成一条具有多个操作码字段的超长指令字为此需要多个处理部件
5.3 超流水线技术 流水线功能段划分的越多时钟周期就越短指令吞吐率就越高因此超流水线技术就是通过提高流水线主频的方式来提升流水线性能的流水线级数越多用于流水寄存器的开销越大因此流水线的级数是有限制的并非越多越好超流水线CPU在流水线充满后每个时钟周期还是执行一条指令CPI1但其主频更高多发射流水线CPU每个时钟周期可以处理多条指令 C P I 1 CPI\lt 1 CPI1相对而言 多发射流水线成本更高控制更复杂
6. 例题
超标量流水线 P 254 2 P_{254}\ 2 P254 2下列关于超标量流水线的叙述中不正确的是 A. 在一个时钟周期内一条流水线可执行一条以上的指令 B. 一条指令分为多段指令由不同电路单元完成 C. 超标量通过内置多条流水线来同时执行多个处理器其实质是以空间换取时间 D. 超标量流水线是指运算操作并行 解答超标量流水线是指在一个时钟周期内一条流水线可执行一条以上的指令。一条指令分为多段指令由不同电路单元完成。超标量通过内置多条流水线来同时执行多个处理器实际是以空间换时间。选D 错误原因错选A对超标量流水线相关概念掌握不好 2017 2017 2017下列关于超标量流水线特性的叙述中正确的是 I. 能缩短流水线功能段的处理时间 II. 能在一个时钟周期内同时发射多条指令 III. 能结合动态调度技术提高指令执行并行性 A. 仅II B. 仅I、III C. 仅II、III D. I、II、III 解答选C 错误原因错选A
数据通路 2017 2017 2017下列关于指令流水线数据通路的叙述中错误的是 A. 包含生成控制信号的控制部件 B. 包含算术逻辑运算部件ALU C. 包含通用寄存器组和取指部件 D. 由组合逻辑电路和时序逻辑电路组合而成 解答数据在功能部件之间传送的路径被称为数据通路包括数据通路上流经的部件如程序计数器、ALU、通用寄存器、状态寄存器、异常和中断处理逻辑等。数据通路由控制部件控制控制部件根据每条指令功能的不同生成对数据通路的控制信号因此不包括控制部件 错误原因错选D
流水线每段的时间与CPU时钟周期 2018 2018 2018若某计算机最复杂指令的执行需要完成5个子功能分别由功能部件A~E实现各功能部件所需时间分贝为80ps、50ps、50ps、70ps、50ps采用流水线方式执行指令流水段寄存器延时为20ps则CPU时钟周期至少为 A. 60ps B. 70ps C. 80ps D. 100ps 解答80ps20ps100ps 错误原因错选C其实应该加上流水段的延迟时间
综合题 2014 2014 2014某程序中有循环代码段P: for (int i0; iN; i)sum A[i];.假设编译时变量sum和i分别分配在寄存器R1和R2中。常量N在寄存器R6中数组A的首地址在寄存器R3中。 程序段p的起始地址为0804 8100H, 对应的汇编代码和机器代码如下表所示。
请回答下列问题并说明理由。
M的存储器编址单位是什么? 解答已知计算机M采用32位定长指令字即一条指令占4B根据表中各指令的地址可知每条指令的地址差为4个地址单位即4个地址单位代表4B一个地址单位就代表了1B因此该计算机是按字节编址的。巳知sll指令实现左移功能数组A中每个元素占多少位? 解答在二进制中某数左移2位代表乘以4由此可知数组间的数据间隔为4个地址单位计算机按字节编址因此数组A中每个元素占4B表中bne指令的OFFSET字段的值是多少?已知bne指令采用相对寻址方式当前PC内容为bne指令地址通过分析表中指令地址和bne指令内容推断bne指令的转移目标地址计算公式。 解答 由表可知bne指令的机器代码是1446FFFAH根据题目给出的指令格式后2B的内容是OFFSET字段所以该指令的OFFSET字段为FFFAH用补码表示即值为-6系统执行到bne指令时PC自动加4PC的内容为08048118H而跳转的目标是08048100H二者相差18H即24个单位的地址间隔所以偏移地址的一位即是真实跳转地址的-24/-64位可知bne指令的转移目标地址计算公式为 ( P C ) 4 O F F S E T × 4 (PC)4OFFSET\times 4 (PC)4OFFSET×4 若M采用如下“按序发射、按序完成”的5级指令流水线: IF (取值)、ID (译码及取数)、EXE (执行)、MEM (访存)、WB (写回寄存器)且硬件不采取任何转发措施分支指令的执行均引起3个时钟周期的阻塞则P中哪些指令的执行会由于数据相关而发生流水线阻塞?哪条指令的执行会发生控制冒险?为什么指令1的执行不会因为与指令5的数据相关而发生阻塞? 解答由于数据相关而发生阻塞的指令为2,3,4,6条因为它们都与各自前一条指令发生数据相关。第6条指令会发生控制冒险。当前循环的第5条指令与下次循环的第1条指令虽然有数据相关但由于第6条指令后有3个时钟周期的阻塞因而消除了数据相关 2014 2014 2014假设对于上题中的计算机M和程序P的机器代码M采用页式虚拟存储管理; P开始执行时(R1) (R2) 0(R6) 1000其机器代码巳调入主存但不在Cache中;数组A未调入主存且所有数组元素在同一页并存储在磁盘的同一个扇区。请回答下列问题并说明理由。
P执行结束时R2的内容是多少? 解答R2中装入的是i的值循环条件是i1000即当i自增到不满足这个条件时跳出循环程序结束所以此时i的值为1000M的指令Cache和数据Cache分离。若指令Cache共有16行Cache和主存交换的块大小为32B 则其数据区的容量是多少?若仅考虑程序段P的执行则指令Cache的命中率为多少? 解答 Cache一共16行每块32字节所以Cache数据区的容量为 16 × 32 B 512 B 16\times 32B512B 16×32B512BP共有6条指令占24B小于主存块大小32B其起始地址为0804 8100H对应一块的开始位置由此可知所有指令都在一个主存块内。读取第一条指令时会发生Cache缺失因此将P所在的主存块调入Cache的某一行以后每次读取指令时都能在指令Cache中命中。因此1000次循环中只会发生1次指令访问缺失所以指令Cache的命中率为 1000 × 6 − 1 1000 × 6 99.98 % \frac{1000\times6-1}{1000\times6}99.98\% 1000×61000×6−199.98% P在执行过程中哪条指令的执行可能发生溢出异常?哪条指令的执行可能产生缺页异常?对于数组A的访问需要读磁盘和TLB至少各多少次? 解答 指令4位加法指令即对应sumA[i]当数组A中元素的值过大时会导致这条加法指令发生溢出异常而指令2,5虽都是加法指令但它们分别是数组地址的计算指令和存储变量i的寄存器进行自增的指令而i最大到1000所以它们都不会产生溢出异常只有访存指令可能产生缺页异常即指令3可能产生缺页异常。因为数组A在磁盘的一页上而一开始数组并不在主存中第一次访问数组时会导致访盘把A调入内存而以后数组A的元素都在内存中不会导致访盘所以该程序共访盘一次每访问一次内存数据就会查一次TLB共访问数组1000次因此此时又访问TLB1000次还要考虑到第一次访问数组A即访问A[0]时会多访问一次TLB第一次访问A[0]时会先查一次TLB然后产生缺页处理完缺页中断后会重新访问A[0]此时又查TLB所以访问TLB的次数一共是1001次
更新文档
更新日期更新内容