0

0

组成原理精讲课---运算器控制器和数据通路的搭建

蓮花仙者

蓮花仙者

发布时间:2025-07-25 11:08:02

|

383人浏览过

|

来源于php中文网

原创

1.关于寄存器透明性的澄清

前文对“透明性”的解释有误:所谓透明或不透明,关键在于普通用户能否直接对其进行修改;

Ri代表的是通用寄存器集合,这里特别强调:暂存器其实就是锁存器!!!!!!!!!!

组成原理精讲课---运算器控制器和数据通路的搭建### 2.控制信号的两种实现方式

组成原理精讲课---运算器控制器和数据通路的搭建### 3.运算单元与控制单元图示解析

下图展示的是运算器结构,相关功能说明均已标注在图中,内容清晰明了;

需记住的是图中的T——即暂存寄存器(也称锁存器),它在该结构中设置了两个位置:

  • 第一个T位于ALU运算前,用于保存操作数,防止其被后续数据覆盖;
  • 第二个T置于ALU输出端,目的是避免运算结果通过总线再次进入ALU造成重复计算。

组成原理精讲课---运算器控制器和数据通路的搭建接下来是控制器部分:图中注释详尽,易于理解;

微操作信号发生器(也称为CU)由三个输入决定,即图中指向它的三条线路;

注意MAR与MDR之间的通信方向:一个是单向,一个是双向;

ID为指令译码器,负责将指令翻译成控制信号,不属于寄存器范畴。

组成原理精讲课---运算器控制器和数据通路的搭建### 4.单指令周期与单周期CPU的区别

单指令周期:所有指令执行耗时相同;
单周期CPU:每条指令仅用一个时钟周期完成,无论复杂与否,CPI恒为1(Clocks Per Instruction)。

5.指令周期中的数据流动

5.1 取指阶段的数据流

带括号的操作表示读取括号内寄存器的内容;

组成原理精讲课---运算器控制器和数据通路的搭建#### 5.2 指令分析阶段的数据流

百度MCP广场
百度MCP广场

探索海量可用的MCP Servers

下载

AD(IR) 中的 AD 表示地址码(Address),即从指令寄存器IR中提取出地址字段;
执行完毕后,MDR中存放的是有效地址 EA(Effective Address);

组成原理精讲课---运算器控制器和数据通路的搭建#### 5.3 中断处理阶段的数据流

SP为栈顶指针,图示流程对应中断响应过程中“断点保护”这一环节;

中断处理三步曲:关中断 → 保存断点 → 跳转至中断服务程序;

其中,“关中断”由硬件自动完成无需编程干预,而中断服务程序本质仍是程序,由多条指令构成,其执行属于软件行为。

组成原理精讲课---运算器控制器和数据通路的搭建至于为何SP要先减1,初学者可能困惑,可参考如下分步理解:

6.不同数据通路类型的对比

本节重点区分三种数据传输结构:单总线、三总线、专用通路;

  • 单总线:常见设计,所有部件共享一条总线传输数据,因此必须配备暂存器来暂存中间值;
  • 三总线:使用三条独立总线,避免冲突,无需暂存器,但控制逻辑更复杂;
  • 专用数据通路:ALU与各寄存器直接相连,无需经过总线传输;此时需引入多路选择器和三态门来控制哪一路寄存器可通,哪一路阻断,实现精准的数据流向管理。

组成原理精讲课---运算器控制器和数据通路的搭建### 7.中断向量表机制详解

下图为中断与异常的分类示意:

组成原理精讲课---运算器控制器和数据通路的搭建当中断发生时,系统首先获得中断类型号,据此查表找到对应中断服务程序入口地址,进而跳转执行;

组成原理精讲课---运算器控制器和数据通路的搭建中断为何说是软硬件协同?原因如下:

1)硬件层面:中断隐指令自动完成关中断、保存断点、跳转入口等工作,这不是程序员写的指令,而是CPU内置机制; 2)软件层面:真正的中断服务程序由操作系统或用户编写,运行时由软件驱动;

因此,整个中断处理过程体现了软硬件的高度协作。

相关专题

更多
堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

392

2023.07.18

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

572

2023.08.10

PHP WebSocket 实时通信开发
PHP WebSocket 实时通信开发

本专题系统讲解 PHP 在实时通信与长连接场景中的应用实践,涵盖 WebSocket 协议原理、服务端连接管理、消息推送机制、心跳检测、断线重连以及与前端的实时交互实现。通过聊天系统、实时通知等案例,帮助开发者掌握 使用 PHP 构建实时通信与推送服务的完整开发流程,适用于即时消息与高互动性应用场景。

11

2026.01.19

微信聊天记录删除恢复导出教程汇总
微信聊天记录删除恢复导出教程汇总

本专题整合了微信聊天记录相关教程大全,阅读专题下面的文章了解更多详细内容。

73

2026.01.18

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

109

2026.01.16

全民K歌得高分教程大全
全民K歌得高分教程大全

本专题整合了全民K歌得高分技巧汇总,阅读专题下面的文章了解更多详细内容。

152

2026.01.16

C++ 单元测试与代码质量保障
C++ 单元测试与代码质量保障

本专题系统讲解 C++ 在单元测试与代码质量保障方面的实战方法,包括测试驱动开发理念、Google Test/Google Mock 的使用、测试用例设计、边界条件验证、持续集成中的自动化测试流程,以及常见代码质量问题的发现与修复。通过工程化示例,帮助开发者建立 可测试、可维护、高质量的 C++ 项目体系。

78

2026.01.16

java数据库连接教程大全
java数据库连接教程大全

本专题整合了java数据库连接相关教程,阅读专题下面的文章了解更多详细内容。

44

2026.01.15

Java音频处理教程汇总
Java音频处理教程汇总

本专题整合了java音频处理教程大全,阅读专题下面的文章了解更多详细内容。

20

2026.01.15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
XML教程
XML教程

共142课时 | 5.7万人学习

进程与SOCKET
进程与SOCKET

共6课时 | 0.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号