软考篇(学习cpu)

 CPU结构组成

寻址方式

一、CPU寻址方式概述

寻址方式是指CPU根据指令中的地址码字段,找到操作数真实地址的方法。不同的方式影响指令长度、执行速度和硬件复杂度


二、常见寻址方式及对比

1. 立即寻址(Immediate Addressing)
  • 原理:操作数直接包含在指令中(即立即数)。

  • 优点

    • 速度快(无需访问内存)。

    • 指令简单。

  • 缺点

    • 操作数大小受限(由指令长度决定)。

    • 灵活性差(数据无法动态修改)。

  • 应用场景:初始化寄存器或常量操作。

2. 直接寻址(Direct Addressing)
  • 原理:指令中直接给出操作数的内存地址。

  • 优点

    • 访问简单(一次内存访问即可)。

  • 缺点

    • 地址范围受限(受指令中地址字段长度限制)。

    • 程序移植性差(地址需硬编码)。

  • 应用场景:早期小型程序或固定地址访问。

3. 间接寻址(Indirect Addressing)
  • 原理:指令中的地址码指向操作数的地址(即指针的指针)。

  • 优点

    • 灵活性高(可通过修改指针动态定位数据)。

  • 缺点

    • 速度慢(需多次访问内存)。

    • 硬件复杂度增加。

  • 应用场景:动态数据结构(如链表、数组遍历)。

4. 寄存器寻址(Register Addressing)
  • 原理:操作数存放在寄存器中。

  • 优点

    • 速度最快(无需访问内存)。

    • 指令长度短(寄存器编号占用位数少)。

  • 缺点

    • 寄存器数量有限(可能导致频繁寄存器-内存交换)。

  • 应用场景:高频计算操作。

5. 寄存器间接寻址(Register Indirect Addressing)
  • 原理:寄存器中存储操作数的内存地址。

  • 优点

    • 比纯间接寻址快(减少一次内存访问)。

    • 适合数组/字符串处理。

  • 缺点

    • 仍需访问内存,速度不如寄存器寻址。

6. 基址寻址(Base Addressing)
  • 原理:基址寄存器(如BP) + 偏移量生成有效地址。

  • 优点

    • 支持动态重定位(程序可加载到任意内存区域)。

  • 缺点

    • 需额外维护基址寄存器。

7. 变址寻址(Indexed Addressing)
  • 原理:变址寄存器(如SI/DI) + 偏移量,适合数组遍历。

  • 优点

    • 高效处理连续数据结构。

  • 缺点

    • 需初始化变址寄存器。

8. 相对寻址(Relative Addressing)
  • 原理:PC(程序计数器) + 偏移量生成目标地址(用于跳转指令)。

  • 优点

    • 支持位置无关代码(PIC)。

  • 缺点

    • 跳转范围受偏移量位数限制。


三、综合对比表

寻址方式速度灵活性硬件复杂度典型应用
立即寻址★★★★★★☆☆☆☆★☆☆☆☆常量赋值
寄存器寻址★★★★★★★☆☆☆★★☆☆☆算术运算
直接寻址★★★☆☆★★☆☆☆★★☆☆☆固定地址访问
间接寻址★★☆☆☆★★★★★★★★★☆指针操作
寄存器间接寻址★★★☆☆★★★★☆★★★☆☆数组/字符串处理
基址/变址寻址★★★☆☆★★★★☆★★★☆☆动态内存管理、数组遍历
相对寻址★★★☆☆★★★☆☆★★★☆☆条件跳转

四、相关扩展知识点

1. 寻址方式与指令周期
  • 立即寻址:取指周期即可完成。

  • 内存相关寻址:需增加访存周期

2. 软考常见考题
  • 选择题:给指令判断寻址方式(如MOV AX, [BX+SI+10H]属于基址变址寻址)。

  • 计算题:计算有效地址(如基址寄存器值=2000H,偏移量=30H → 有效地址=2030H)。

CISC和RISC 

一、核心概念对比

特性CISC(如x86)RISC(如ARM、MIPS)
设计目标通过复杂指令减少程序代码量通过精简指令提高执行效率
指令数量多(数百条)少(约100条以内)
指令长度变长(1~15字节)固定(通常4字节)
执行周期不同指令周期差异大(1~几十周期)单周期为主(流水线优化)
硬件复杂度高(微程序控制)低(硬布线控制)
典型应用桌面/服务器(Intel/AMD CPU)移动设备/嵌入式(ARM处理器)

二、深入解析

1. CISC的特点
  • 核心思想一条指令完成复杂操作(比如直接支持乘法、字符串处理)。

  • 优点

    • 程序代码短(指令功能强大,减少指令条数)。

    • 对编译器友好(高级语言映射直接)。

  • 缺点

    • 硬件设计复杂(需微程序解析指令)。

    • 指令利用率低(80%时间只使用20%的指令)。

2. RISC的特点
  • 核心思想简单指令+高速流水线,复杂操作由多条指令组合实现。

  • 优点

    • 执行速度快(单周期指令+流水线优化)。

    • 功耗低(适合移动设备)。

  • 缺点

    • 程序代码较长(需多条指令完成复杂操作)。


三、关键区别总结

  1. 指令复杂度

    • CISC:一条指令≈高级语言的一行代码。

    • RISC:多条指令≈高级语言的一个表达式。

  2. 访存方式

    • CISC:允许内存到内存操作(如ADD [AX], [BX])。

    • RISC:Load/Store架构(只有LOAD/STORE指令能访存)。

  3. 性能优化

    • CISC:依赖硬件微程序解码。

    • RISC:依赖编译器优化指令顺序。

四、软考常见考点

  1. 选择题

    • 问:“以下哪种架构采用Load/Store设计?” → 选RISC。

  2. 简答题

    • 对比CISC和RISC的优缺点(参考上表)

流水线

数据传输

总线

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值