0
0
0

【中软设】2.7 计算机组成与体系结构-CISC与RISC、流水线、可靠性

# 1. CISC 与 RISC | 对比维度 | CISC(复杂指令集 Complex) | RISC(精简指令集 Reduced) | | ---- | ---- | ---- | | 指令特点 | 数量多,使用频率差别大;**可变长格式** | 数量少,使用频率接近;**定长格式**,大部分为单周期指令;运算操作针对寄存器,仅 Load/Store 操作内存 | | 寻址方式 | 支持多种 | 支持方式少 | | 实现方式 | 微程序控制技术(微码) | 增加通用寄存器;**硬布线逻辑控制为主**;适合流水线 | | 其他 | 研制周期长 | 优化编译,有效支持高级语言 | ## 1.1 例题 1 以下关于 RISC(精简指令系统计算机)技术的叙述中,错误的是()。 - A、指令长度固定、指令种类尽量少 - B、指令功能强大、寻址方式复杂多样 - C、增加寄存器数目以减少访存次数 - D、用硬布线电路实现指令解码,快速完成指令译码 **答案:B** **解析**:“指令功能强大、寻址方式复杂多样”是 CISC 复杂指令集的特点。RISC 寻址方式少,指令功能简单,复杂工作交给编译器实现。 # 2. 流水线技术 相关参数计算:**流水线执行时间计算、流水线吞吐率、流水线加速比、流水线效率**等。 ## 2.1 概念 - 流水线是指在程序执行时多条指令重叠进行操作的一种**准并行处理**实现技术。 - 各种部件同时处理是针对不同指令而言的,它们可同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令的平均执行速度。 ![图片1](https://blogs.evocosmos.com/upload/blogs_20260922001-image1.png) ![图片3](https://blogs.evocosmos.com/upload/blogs_20260922001-image3.png) ## 2.2 流水线时间计算 > **流水线周期**:取执行时间最长的一段,记作 $t_{max}$ > > **流水线总时间公式**: > > $$T_{总}=1条指令执行时间 + (指令条数-1) \times 流水线周期$$ ### 2.2.1 例题 2 一条指令的执行过程可以分解为**取指、分析和执行**三步:$t_{取指}=3\triangle t$、$t_{分析}=2\triangle t$、$t_{执行}=4\triangle t$。 - 若按**串行方式**执行,则 10 条指令全部执行完需要()$\triangle t$; - 若按**流水线方式**执行,流水线周期为()$\triangle t$,则 10 条指令全部执行完需要()$\triangle t$。 **计算过程**: 1. 单条指令串行时间:$3\triangle t+2\triangle t+4\triangle t =9\triangle t$ 2. 串行 10 条:$10 \times 9\triangle t=\boldsymbol{90\triangle t}$ 3. 流水线周期取最大值:$\boldsymbol{4\triangle t}$ 4. 流水线总时间:$9\triangle t + (10-1)\times4\triangle t =9+36=\boldsymbol{45\triangle t}$ **答案:90;4;45** ## 2.3 流水线吞吐率 ### 2.3.1 基本概念 **吞吐率(TP)**:单位时间内流水线完成的任务/指令数量。 $$ TP=\frac{指令条数}{流水线执行时间} $$ ### 2.3.2 最大吞吐率 指令数量趋向无穷大时的吞吐率极限。 $$ TP_{max}=\lim_{n \to \infty}\frac{n}{(k+n-1)t_{max}}=\frac{1}{t_{max}} $$ ### 2.3.3 例题 3 一条指令的执行过程可以分解为取指、分析和执行三步,$t_{取指}=3\triangle t$、$t_{分析}=2\triangle t$、$t_{执行}=4\triangle t$。 10 条指令的吞吐率是()?最大吞吐率是()? **计算过程**: 1. 前面已算出 10 条指令流水线总执行时间:$45\triangle t$ 2. 实际吞吐率:$TP=\frac{10}{45\triangle t}=\boldsymbol{\frac{2}{9\triangle t}}$ 3. 流水线周期:$t_{max}=4\triangle t$ 4. 最大吞吐率:$TP_{max}=\boldsymbol{\frac{1}{4\triangle t}}$ **答案**:$\displaystyle \frac{2}{9\triangle t}$;$\displaystyle \frac{1}{4\triangle t}$ ## 2.4 例题 4 下列关于流水线方式执行指令的叙述中,不正确的是( )。 - A、流水线方式可提高单条指令的执行速度 - B、流水线方式下可同时执行多条指令 - C、流水线方式提高了各部件的利用率 - D、流水线方式提高了系统的吞吐率 **答案:A** **解析**:流水线不能缩短单条指令本身的执行时间,单条指令耗时不变;只是多条指令重叠执行,提升整体吞吐率与部件利用率。 ## 2.5 例题 5 将一条指令的执行过程分解为**取指、分析和执行**三步,按照流水方式执行。若取指时间 $t_{取指}=4\triangle t$、分析时间 $t_{分析}=2\triangle t$、执行时间 $t_{执行}=3\triangle t$,则执行完 100 条指令,需要的时间为()$\triangle t$。 - A、200 - B、300 - C、400 - D、405 **计算过程**: 1. 单条指令执行总时间:$4\triangle t+2\triangle t+3\triangle t =9\triangle t$ 2. 流水线周期取最大段时间:$t_{max}=4\triangle t$ 3. 流水线总时间公式:$T_{总}=单条指令时间+(指令条数-1)\times流水线周期$ 4. 代入:$9\triangle t + (100-1)\times4\triangle t = 9 + 396 = \boldsymbol{405\triangle t}$ **答案:D** # 3. 系统可靠性指标 ## 3.1 基本指标 - **MTTF(平均无故障时间)**:$MTTF=\displaystyle \frac{1}{\lambda}$,$\lambda$ 为失效率 - **MTTR(平均故障修复时间)**:$MTTR=\displaystyle \frac{1}{\mu}$,$\mu$ 为修复率 - **MTBF(平均故障间隔时间)**:$MTBF = MTTR + MTTF$ > 实际应用中 MTTR 很小,一般认为 $MTBF \approx MTTF$ - **可靠性**:$\displaystyle \frac{MTTF}{1+MTTF}$ - **可维护性**:$\displaystyle \frac{1}{1+MTTR}$ - **可用性**:$\displaystyle \frac{MTBF}{1+MTBF}$ ![图片4](https://blogs.evocosmos.com/upload/blogs_20260922001-image4.png) ## 3.2 串联电路图和并联电路图可靠度计算 ![图片5](https://blogs.evocosmos.com/upload/blogs_20260922001-image5.png) - **串联计算**:每个可靠整个才可靠,所以是乘法。 - **并联计算**:1-失效率=可靠度,1-每个部件失效率=整个部件的可靠率。 ## 3.3 混合电路可靠率 ![图片6](https://blogs.evocosmos.com/upload/blogs_20260922001-image6.png) > 前提:单个部件可靠度为 $R$ 1. **串联**:全部部件正常,系统才正常。总可靠度 = 各部件可靠度相乘。 2. **并联**:至少 1 个部件正常,系统就正常。并联可靠度公式:$\boldsymbol{1-(1-R)^n}$,$n$ 为并联部件数量。 $$ R_{总}=R \times \big[1-(1-R)^3\big] \times \big[1-(1-R)^2\big] $$ ## 3.4 例题 6 计算机系统的( )可以用 $\displaystyle \frac{MTBF}{1+MTBF}$ 来度量,其中 MTBF 为平均失效间隔时间。 - A、可靠性 - B、可用性 - C、可维护性 - D、健壮性 **公式回顾**: - **可靠性**:$\displaystyle \frac{MTTF}{1+MTTF}$ - **可维护性**:$\displaystyle \frac{1}{1+MTTR}$ - **可用性**:$\displaystyle \frac{MTBF}{1+MTBF}$ **答案:B** ## 3.5 例题 7 某计算机系统由下图所示的部件构成,假定每个部件的千小时可靠度都为 $R$,则该系统的千小时可靠度为( )。 - A、$R+2R/4$ - B、$R+R^2/4$ - C、$R(1-(1-R)^2)$ - D、$R\big(1-(1-R)^2\big)^2$ **结构分析**: 1. **左侧**:2 个部件并联,可靠度:$1-(1-R)^2$ 2. **中间**:1 个部件串联,可靠度:$R$ 3. **右侧**:2 个部件并联,可靠度:$1-(1-R)^2$ 三部分整体串联,总可靠度: $$ R_{总}= \big[1-(1-R)^2\big] \times R \times \big[1-(1-R)^2\big] = R\big(1-(1-R)^2\big)^2 $$ **答案:D**

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或者给予支持!

评论