计算机组成原理 期末复习笔记

news2024/12/22 19:10:34

🌱博客主页:大寄一场.

😘博客制作不易欢迎各位👍点赞+⭐收藏+➕关注
75486fdc2eee4efba3dfc46f574e64ef.gif#pic_center

目录

前言

第一章 计算机系统概论计算机软件的发展

 计算机硬件的基本组成

计算机系统的层次结构

计算机的性能指标

第二章 数据表示 与 第三章 数据运算与运算器

第四章 存储系统

存储器的层次结构

主存储器的技术指标

替换算法

写策略

  虚拟存储器

第五章 指令系统

第六章 中央处理器

第七章 总线系统


前言

欢迎来到这篇博客,我将为大家提供一份计算机组成原理期末复习笔记。在本次复习中,我们将回顾和巩固计算机组成原理的重要知识点,包括计算机系统的基本结构、指令集架构、存储器层次结构、总线和通道以及输入输出设备的工作原理等。

计算机组成原理是计算机科学和工程领域的核心课程之一,对于理解计算机系统的运作原理和设计计算机硬件具有重要意义。通过本次复习笔记的阅读,你将加深对计算机组成原理的理解,提高自己的知识水平和技能。

希望这份复习笔记对你有所帮助,如果你在学习过程中遇到任何问题或需要进一步解释,请随时在评论区留言。祝你考试顺利!

本文参考教材:周建敏主编的《计算机组成原理》

B站视频: 王道计算机考研 计算机组成原理;

第一章 计算机系统概论

学到这一章我们便会想知道什么是计算机系统

      计算机系统=软件(具有各种特殊功能的程序)+硬件(计算机的实体)

计算机软件的发展

计算机软件技术的发展,促进计算机系统的发展。

计算机语言的发展经历了面向机器的机器语言和汇编语言、面向问题的高级语言。其中高级语言的发展真正促进了软件的发展,它经历了从科学计算和工程计算的 FORTRAN、结构化程序设计的 PASCAL到面向对象的C++和适应网络环境的Java。

同时,直接影响计算机系统性能提升的各种系统软件也有了长足的发展,特别是操作系统,如 Windows、 Linux、UNIX等。

 计算机硬件的基本组成

 计算机的硬件包括运算器、控制器、存储器、输入/输出设备和总线。随着半导体制造工艺的进步,将运算器和控制器集成在一个芯片上,这样的集成电路芯片称为中央处理器 (CPU)。

  • 运算器(Calculator):负责执行算术和逻辑运算,处理数据的基本操作。

  • ACC:累加器(accumulator),一种计算机中的寄存器,用于保存运算结果。
  • ALU:算术逻辑单元(arithmetic logic unit),用于执行算术和逻辑运算。
  • MQ:乘法器-商寄存器(multiply-quotient),用于存储乘法操作的结果和商。
  • X:通用的操作数寄存器,用于存放操作数

  • 控制器(Controller):控制计算机各部件的工作,确保它们按照正确的顺序和时序协同工作。

IR:指令寄存器,存放当前执行的指令

PC:程序计数器,存放下一条指令地址,有自动加1功能

  • 存储器(Memory):用于暂时存储数据和程序。主要有内存(主存)(RAM随机存储器,ROM只读存储器)和辅助存储器(硬盘、固态硬盘等)。

 

  • 存储单元(Storage Unit):是计算机中用于存储数据的基本单位,通常是一个二进制位(bit)或八个二进制位(byte)。
  • 存储字(Storage Word):是计算机中用于存储一个数据项的基本单位,通常由一个或多个存储单元组成。例如,一个 32 位的存储字可以存储 4 个字节的数据,每个字节包含 8 个二进制位。
  • 存储字长(Storage Word Length):是指一个存储单元可以存储的二进制位数。例如,一个 32 位的存储字长可以存储 32 个二进制位,而一个 64 位的存储字长可以存储 64 个二进制位。
  • 存储元(Storage Element):是计算机中用于存储单个数据的最小单位,通常是一个字节(byte)或两个字节(word)。例如,一个字节可以存储一个八进制数位、一个十进制数位或两个二进制数位。
  • MAR(Memory Address Register)(内存地址寄存器),用于存储CPU将要访问的内存地址,是CPU和主存之间传送地址信息的桥梁。当CPU需要访问主存中的数据时,首先将要访问的地址存储到MAR中,然后通过地址总线将地址发送到主存,主存根据地址读取对应的数据并将其送回给CPU。

  • MDR(Memory Data Register)(内存数据寄存器),用于存储CPU与主存之间传输的数据。当CPU需要进行读取操作时,主存通过数据总线将数据传回给CPU,并存储到MDR中,CPU接着就可以对数据进行计算或处理。当CPU需要进行写入操作时,CPU将要写入的数据存储到MDR中,主存通过数据总线将数据写入到对应的地址中。

  • 输入/输出设备(Input/Output Devices):负责接收外部数据并将其传输到计算机内部,以及将计算机内部的数据输出到外部设备。常见的输入/输出设备有键盘、鼠标、显示器、打印机等。
  • 总线(Bus):连接计算机各部件的通信系统。总线负责在各个部件之间传输数据、地址和控制信号。

冯诺依曼计算机

早期的冯·诺依曼机以运算器为中心,且是单处理机,最根本的特征是采用“存储程序”原理,基本工作方式是控制流驱动方式

冯诺依曼计算机的特点:

  1. 存储程序:计算机的程序和数据都存储在同一个内存中,而程序可以被当做数据进行处理,从而实现程序可以自我修改和自我执行的特性。

  2. 指令流控制:计算机按照指令流的顺序执行程序,每行指令完成后跳转到下一行继续执行,这种控制方式简洁高效。

  3. 二进制代码:计算机中所有的数据和指令都以二进制的形式表示,使得计算机处理数据的方式简单而统一。

  4. 高度灵活:计算机可以根据不同的需求,通过改变指令或数据的存储位置,来实现不同的功能,具有高度灵活性和可编程性。

  5. 通用性:冯诺依曼计算机的架构支持各种类型的数据处理和算法实现,适用于各种领域的应用。

现代计算机 

以存储器为中心 

CPU=运算器+控制器 

计算机系统的层次结构

计算机的性能指标

计算机的性能指标包括主频、CPU 时钟周期、CPI、CPU 执行时间、运算速度、基本字长、主存容量和主存存取周期等。

  • 主频(CPU Clock Frequency):指 CPU 的主频,也就是 CPU 内部时钟的频率。主频越高,CPU 的计算速度就越快。

CPU主频=1/ CPU时钟周期

  • CPU 时钟周期(CPU Clock Cycle):指 CPU 内部时钟的一个完整周期的时间长度。CPU 时钟周期越短,CPU 执行指令的速度就越快。
  • CPI(Cache Hit Rate in percent):指 CPU 缓存命中率,即 CPU 从缓存中读取数据的成功率。CPI 越高,CPU 从缓存中读取数据的速度就越快。

执行一条指令的耗时=CPI*CPU时钟周期

  • CPU 执行时间(Execution Time):指 CPU 对一条指令的执行时间。CPU 执行时间越短,CPU 处理指令的速度就越快。

  CPU执行时间=CPU时钟周期数/主频=(指令条数*CPI)/主频

  • 运算速度:指 CPU 在执行算术或逻辑运算时的速度。运算速度越快,CPU 可以更快地完成各种计算任务。
  • IPS是指每秒钟可以执行的指令数,它用于衡量计算机的处理速度。IPS的值越高,计算机的处理能力就越强。IPS通常用于衡量CPU的性能。
  • FLOPS是指每秒浮点运算次数,它用于衡量计算机的计算速度。FLOPS的值越高,计算机可以在单位时间内执行更多的浮点运算。FLOPS通常用于衡量GPU或其他处理器的性能。

IPS=主频/平均CPI

  • 基本字长(Basic Element Size):指 CPU 每个指令所操作的基本数据单元的大小。基本字长越小,CPU 可以更快地处理数据。
  • 主存容量(Main Memory Capacity):指计算机主存(也称为随机存储器)的容量大小。主存容量越大,计算机可以存储更多的数据和程序。
  • 主存存取周期(Memory Access Cycle):指 CPU 从主存中读取或写入数据所需的时间长度。主存存取周期越短,CPU 从主存中读取或写入数据的速度就越快。

第二章 数据表示 与 第三章 数据运算与运算器

博主将俩个章节放在一起

关于这一章的学习大家可以参考博主之前的博文《深度剖析数据在内存中的存储》

本章需要掌握的知识点如下:

  • 字符信息属于符号数据,是处理非数值领域的问题,国际上采用的字符系统是ASCII码。
  • 直接使用西文标准键盘输入汉字,进行处理,并显示打印汉字,是一项重大成就。为此要了解汉字的输入编码、汉字内码、字模码等3 种不同用途的编码。

 

   校验码:

1.奇偶效验

 2.海明码

3.循环冗余

  • 一个定点数由符号位和数值位两部分组成。按小数点位置不同,定点数有纯小数和纯整教两种表示方法。
  • 数的真值变成机器码时有4种表示方法:原码表示法、反码表示法、补码表示法和移码表示法。其中,移码主要用于表示浮点数的阶码 E,以利于比较两个指数的大小。
  • 按IEEE 754标准,一个浮点数由符号位S、阶码E、尾数M三个域组成。其中阶码E的值等于指数的真值e加上一个固定偏置值。

 

  • 原码加法规则:先判断符号位,若符号位相同,则绝对值相加,结果符号位不变:若符号位不同,则绝对值大的数减去绝对值小的数,结果符号位与绝对值大的数相同。
  • 补码加法的特点是符号位要作为数的一部分参加运算,并且要在模 M的意义下相加,即超过M的进位要丢掉。
  • 当运算结果超过了数的表示范围时称为溢出。
  • 在计算机中,乘法运算由累加和右移操作实现。根据机器数的不同,可分为原码一位乘法和补码一位乘法.
  • 完成浮点加减法运算的操作过程大体分为6步:0操作数检查,比较阶码大小并完成对阶,尾数求和运算,结果规格化,舍入处理,溢出判断。
  • 算术逻辑单元ALU的基本组成是加法器。

第四章 存储系统

存储器的功能是存放指令和数据,它使计算机具有了记忆能力,进而具备了自动操作能力,因此,存储器在计算机中具有重要的地位。本章首先介绍存储器的分类

存储器分类:

存储器的层次结构

主存储器的技术指标

  • 存储容量:主存储器的存储容量通常以字节(byte)为单位进行计算,例如1GB=1024MB=1,073,741,824字节。

存取容量=存取单元个数*存储字长/8

存储器容量扩展

  • 位扩展:位扩展是指通过增加主存中每个地址所对应的二进制位数来增加主存的容量。例如,将主存从8位扩展到16位或32位,可以使主存能够存储更多的数据。位扩展通常用于CPU速度较快的计算机系统中,因为它需要更多的时钟周期来完成数据传输。
    存储芯片与CPU的引脚连接方式:
    (1)地址线:各芯片的地址线直接与CPU地址线连接。
    (2)数据线:各芯片的数据线分别与CPU数据线的不同位连接。
    (3)片选及读/写线:各芯片的片选及读/写信号线直接与 CPU 的访存及读/写信号线
    连接。
  • 字拓展:字拓展是指通过增加主存中每个地址所对应的字(即一组二进制位)的数量来增加主存的容量。
    例如,将主存从4KB扩展到8KB或16KB,可以使主存能够存储更多的数据。字拓展通常用于CPU速度较慢但需要大量内存的计算机系统中,因为它可以在不增加时钟周期的情况下提高系统的性能。
    存储芯片与CPU的引脚连接方式:
    (1)地址线:各芯片的地址线与 CPU 的低位地址线直接连接。
    (2)数据线:各芯片的数据线直接与 CPU 数据线连接。
    (3)读/写线:各芯片的读/写信号线直接与 CPU 的读/写信号线连接
    (4)片选信号:各芯片的片选信号由 CPU的高位地址和访存信号产生。
  • 字位同时扩展:位字同时扩展是指同时增加主存中每个地址所对应的二进制位数和字的数量来增加主存的容量。(先位拓展后字拓展)
    例如,将主存从8位扩展到16位并将其从4KB扩展到8KB,可以使主存能够存储更多的数据,并且在处理大量数据时具有更高的性能。

 

  • 存取时间:存取时间是从启动一次访问操作到完成该操作所经历的时间,以 ns 为单位,存取时间又分读出时间和写入时间两种。
  • 存取周期:存取周期是存储器连续启动两次独立的访问操作所需的最小间隔时间,以 ns 为单位即。

存取周期=存取时间+复原时间。

  • 存储器带宽:存储器带宽是每秒从存储器进出的最大数据量,单位为 b/s(位/秒)或者 B/s(字节/秒)。

带宽=每周期的信息量/周期时长

 本章需要掌握的知识点如下:

  • 对存储器的要求是容量大、速度快、成本低。为了解决这三方面的矛盾,计算机采用多级存储体系结构,即 Cache、主存和辅存。

  • 广泛使用的 SRAM 和DRAM 都是半导体随机存储器,前者速度比后者快,但集成度不如后者高。二者的优点是体积小,可靠性高,价格低廉,缺点是断电后不能保存信息。
特点SRAMDRAM
存储原理触发器电容
破坏性读出
需要刷新不需要需要
送行列地址同时送分两次送
运行速度
集成度
发热量(功率)
存储成本
主要用途高速缓存主机内存
  • 只读存储器和闪速存储器正好弥补了 SRAM 和DRAM 的缺点,即使断电也仍能保存原先写入的数据。特别是闪速存储器能提供高性能、低功耗、高可靠性及移动性,是一种全新的存储器体系结构。
  • 多模块交叉存储器属于并行存储器结构。Cache 是一种高速缓冲存储器,是为了解决 CPU 和主存之间速度不匹配而采用的一项重要的硬件技术。主存与 Cache 的地址映射有直接、全相联、组相联三种方式。其中组相联方式是前二者的折中方案,适度地兼顾了二者的优点又尽量避免其缺点,从灵活性、命中率、硬件投资来说较为理想,因而得到了普遍的应用。

  • 全相联映射方式:全相联映射方式是指在主存中每个地址所对应的物理位置是连续的,并且可以直接通过地址来访问内存中的数据。
    优点:访问速度非常快,因为可以直接访问内存中的数据。
    缺点:当需要扩展主存容量时,需要重新分配物理空间,这会导致系统性能下降。
  • 直接映射方式:直接映射方式是指在主存中每个地址所对应的物理位置是不连续的,但是可以通过一个映射表将地址映射到物理位置。
    优点:可以根据需要灵活地扩展主存容量,而不需要重新分配物理空间。
    缺点:访问速度相对较慢,因为需要通过映射表来访问内存中的数据。
  • 组相联映射方式:组相联映射方式是指在主存中每个地址所对应的物理位置是不连续的,但是可以将一组相邻的地址映射到同一个物理位置上。
    优点:可以提高访问速度,因为可以同时访问多个相邻的地址。
    缺点:当需要扩展主存容量时,需要重新分配物理空间,这会导致系统性能下降。

替换算法

  • 随机算法(RAND):随机地确定替换的 Cache块。它的实现比较简单,但没有依据程序访问的局部性原理,故可能命中率较低
  • 先进先出算法(FIFO):选择最早调入的行进行替换。它比较容易实现,但也没有依据程序访问的局部性原理,可能会把一些需要经常使用的程序块(如循环程序)也作为最早进入 Cache的块替换掉。
  • 近期最少使用算法(LRU):依据程序访问的局部性原理选择近期内长久未访问过的存储行作为替换的行,平均命中率要比FFO要高,是堆栈类算法。LRU算法对每行设置一个计数器, Cache每命中一次,命中行计数器清0,而其他各行计数器均加1,需要替换时比较各特定行的计数值,将计数值最大的行换出。
  • 最不经常使用算法(LFU):将一段时间内被访问次数最少的存储行换出。每行也设置一个计数器,新行建立后从0开始计数,每访问一次,被访问的行计数器加1,需要替换时比较各特定行的计数值,将计数值最小的行换出。

写策略

写回法:当写 Cache 命中时,先将更新内容写入 Cache,并做标记,在特定时间将 Cache 内容写回主存。

写贯穿(全写法): 当写 Cache 命中时,同时写入 Cache 和主存。其优点是一致性好,方法简单可靠;缺点是时间开销为访存时间,速度会受影响。 

  虚拟存储器

虚拟存储器是一个逻辑模型

功能:用户给出一个地址,叫做虚地址或逻辑地址虚拟存储器要给出该地址对应的数据。

实现:由辅助硬件将虚地址映射到主存当中的某个单元,主存单元地址称为实地址或物理地址。

  • 页式虚拟存储系统中,虚地址空间和主存空间都被分成大小相等的页,通过页表可以把虚地址转换成实地址。

 

  • 分页方式的缺点是页长与程序的逻辑大小不相关,而分段方式则可按照程序的自然分界将主存空间划分为长度可以动态改变的存储区域。在段式虚拟存储系统中,虚地址由段号和段内地址(偏移量)组成。段页式虚拟存储器是段式虚拟存储器和页式虚拟存储器的结合,程序按页进行调入和调出操作,但可按段进行编程、保护和共享。

第五章 指令系统

本章需要掌握的知识点如下:

  • 一台计算机中所有机器指令的集合,称为这台计算机的指令系统。

  • 指令格式是指令字用二进制代码表示的结构形式,通常由操作码字段地址码字段组成。操作码字段表示指令的操作特性与功能,而地址码字段指示操作数的地址。指令中可以有零个、一个、两个、三个或多个地址码,分别称为零地址指令一地址指令、二地址指令、三地址指令或多地址指令。

指令寻址方式 

  • 形成操作数地址的方式,称为数据寻址方式。操作数可放在专用寄存器、通用寄存器、主存和指令中。数据寻址方式有隐含寻址、立即寻址、直接寻址、存储器间接寻址、寄存器寻址、寄存器间接寻址、相对寻址、基值寻址、变址寻址、段寻址和堆栈寻址等多种。

  • 直接寻址:指令中给出了操作数的地址,指令操作直接读取该地址上的内容。

  • 间接寻址:指令中给出了一个地址,该地址存储了操作数的地址。指令操作需要先读取该地址上的内容,然后再读取操作数的内容。

  • 寄存器寻址:指令中使用寄存器作为操作数的地址,指令操作直接使用寄存器中存储的内容。

 

  • 基址寻址:指令中使用基址寄存器和一个偏移量来计算操作数的地址。

  • 变址寻址:指令中使用变址寄存器和一个偏移量来计算操作数的地址。

  • 相对寻址:指令中使用一个相对地址或一个相对偏移量来计算操作数的地址。

  • 不同机器有不同的指令系统。一个较完善的指令系统应包含数据传送指令、数据运算指令、程序控制指令、输入输出指令、字符串处理指令、处理机控制指令和特权指令等。
  • RISC 指令系统是目前计算机发展的主流,也是 CISC 指令系统的改进。

CISC: Complex Instruction Set Computer 复杂指令集计算集
设计思路:一条指令完成一个复杂的基本功能。
代表:x86架构,主要用于笔记本、台式机等

RISC: Reduced Instruction Set Computer精简指令集计算机
设计思路:一条指令完成一个基本“动作”:
多条指令组合完成一个复杂的基本功能。代表:ARM架构,主要用于手机、平板等

对比项目CISCRISC
指令系统复杂,庞大简单,精简
指令数目一般大于200条一般小于100条
指令字长不固定定长
可访存指令不加限制只有Load/Store指令
各种指令执行时间相差较大绝大多数在一个周期内完成
各种指令使用频度相差很大都比较常用
通用寄存器数量较少
目标代码难以用优化编译生成高效的目标代码程序采用优化的编译程序,生成代码较为高效
控制方式绝大多数为微程序控制绝大多数为组合逻辑控制
指令流水线可以通过一定方式实现必须实现

指令助记符 

典型指令指令助记符助记符含义二进制操作码
加法ADDAdd001
减法SUBSubtract010
传送MOVMove011
跳转JMPJump100
转子JSRJump subroutine101
存储STRStore110
读数LDALoad111

第六章 中央处理器

本章需要掌握的知识点如下:

CPU的功能: 

  • CPU是计算机的中央处理部件,具有指令控制、操作控制、时间控制、数据加工和中断处理等基本功能。

指令控制:完成取指令、分析指令和执行指令的操作,即程序的顺序控制。
操作控制:一条指令的功能往往是由若干操作信号的组合来实现的。CPU管理并产生由内存取出的每条指令的操作信号,把各种操作信号送往相应的部件,从而控制这些部件按指令的要求进行作。
时间控制:对各种操作加以时间上的控制。时间控制要为每条指令按时间顺序提供应有的控制信号。
数据加工:对数据进行算术和逻辑运算。
中断处理:对计算机运行过程中出现的异常情况和特殊请求进行处理。
 

  • CPU 中至少有6类寄存器:指令寄存器、程序计数器、地址寄存器、数据缓冲寄存器、累加寄存器和程序状态寄存器。
种类功能
IR指令寄存器(存储当前正在执行的指令)
PC程序计数器(存储下一条指令的地址)
AR地址寄存器(存储当前指令的操作数或数据的地址)
DR数据缓冲寄存器(存储数据缓存区的数据)
ACC累加寄存器(通常用于进行算术运算或逻辑运算)
PSW状态寄存器(存储一些与程序状态相关的信息)

种类功能
EAX累加器(加法乘法指令)
EBX基址寄存器(在内存寻址时存放基地址)
ECX计数器(在循环和串操作中充当计数器)
EDX数据寄存器(在I/O指令中可用作端口地址寄存器,乘除指令中用作辅助累加器)
EBP寄存器存放当前线程的栈底指针
ESP寄存器存放当前线程的栈顶指针
ESI源变址寄存器
EDI目的变址寄存器

  • CPU 从存储器取出一条指令并执行这条指令的时间和称为指令周期。

指令周期: CPU从主存中每取出并执行一条指令所需的全部时间指令周期常常用若干机器周期来表示,机器周期又叫CPU周期。1个机器周期又包含若干时钟周期(也称为节拍、T周期或CPU时钟周期,它是CPU操作的最基本单位)。

  • 时序信号产生器提供CPU 周期(也称机器周期)所需的时序信号。操作控制器利用这些时序信号进行定时,有条不素地取出一条指令并执行这条指令。

  • 硬布线控制器的基本思想是:某一微操作控制信号是指令操作码译码输出、时序信号和状态条件信号的逻辑函数,即用布尔代数写出逻辑表达式,然后用门电路触发器等器件实现。

硬布线工作原理:

微操作控制信号由组合逻辑电路根据当前的指令码、状态和时序,即时产生

  • 微程序设计技术是利用软件方法设计操作控制器的一门技术,具有规整性、灵活性、可维护性等一系列优点,因而在计算机设计中得到了广泛应用。

微程序工作原理:

事先把微操作控制信号存储在一个专门的存储器(控制存储器)中,将每一条机器指令编写成一个微程序,这些微程序可以存到一个控制存储器中,用寻址用户程序机器指令的办法来寻址每个微程序中的微指令。

  • 不论微型机还是超级计算机,并行处理技术已成为计算机技术发展的主流。并行处理技术可贯穿于信息加工的各个步骤和阶段。概括起来,主要有三种形式:时间并行,空间并行,时间并行+空间并行。

  • 流水CPU是以时间并行性为原理构造的处理机,是一种非常经济而实用的并行技术。目前的高性能微处理机几乎无一例外地使用了流水技术。流水技术中的主要问题是资源相关、数据相关和控制相关。

指令流水:是指将一条计算机指令划分为多个阶段,多个指令在各个阶段并行执行的计算机架构。通过指令流水,可以有效地提高计算机的运行效率和吞吐量。具体来说,指令流水将一条指令分为取指、译码、执行、访存和写回等多个阶段,不同指令在不同阶段并行执行,使得计算机可以同时进行多条指令的处理,从而提高计算机的运行速度。

流水线的性能指标包括以下几个方面:

  • 吞吐率:吞吐率是指在单位时间内流水线所完成的任务数量,或是输出结果的数量。设任务数为n;处理完成n个任务所用的时间为Tk

TP(吞吐率)=n/Tk

  • 加速比:完成同样一批任务,不使用流水线所用的时间与使用流水线所用的时间之比
    设:T0表示不使用流水线时的执行时间,即顺序执行所用的时间;Tk表示使用流水线时的执行时间
    S=
  1. 流水线吞吐率(Pipeline throughput):指单位时间内,从流水线中处理器的后端输出的指令数。

  2. 硬件使用效率(Hardware utilization):指流水线中使用的硬件资源的利用率。硬件使用效率越高,处理速度就越快。

第七章 总线系统

总线的特性

  • 机械特性:尺寸、形状、管脚数、排列顺序
  • 电气特性:传输方向和有效的电平范围
  • 功能特性:每根传输线的功能(地址、数据、控制)
  • 时间特性:信号的时序关系

总线的分类

  • 片内总线:片内总线是连接 CPU 和芯片内部其他部件的总线,它可以实现 CPU 与芯片内部其他部件的数据交换和控制信号传输。常见的片内总线有数据总线、地址总线和控制总线等。

  • 系统总线:系统总线是连接 CPU 和主板上的其他设备(如内存、显卡、声卡等)的总线,它可以实现不同设备之间的数据交换和控制信号传输。常见的系统总线有扩展总线、I/O 总线和内存总线等。

  • 通信总线:通信总线是连接计算机与其他设备(如打印机、扫描仪、网络适配器等)的总线,它可以实现计算机与其他设备之间的数据交换和控制信号传输。常见的通信总线有串行通信总线、并行通信总线和网络通信总线等。

  • 串行总线:串行总线是指数据一次只能传输一位,并且需要在发送端和接收端之间进行同步,以保证数据的准确性和可靠性。串行总线的传输速率较慢,但可以通过增加线路数量提高传输速率。常见的串行总线有RS-232、RS-485、USB等。

  • 并行总线:并行总线是指数据同时传输多位,并且不需要在发送端和接收端之间进行同步,以提高传输速率。并行总线的传输速率较快,但需要在多个线路上并行传输,增加了复杂度和难度。常见的并行总线有PCI、AGP、PCI Express等。

  • 同步总线:同步总线是指数据传输需要采用时钟信号进行同步,以保证数据的准确性和可靠性。在同步总线上,发送端和接收端必须严格按照时序进行操作,否则会导致数据错误或丢失。常见的同步总线有RS-232、RS-485等。

  • 异步总线:异步总线是指数据传输不需要采用时钟信号进行同步,可以在任意时刻开始和结束,但容易产生干扰和错误。在异步总线上,发送端和接收端的操作没有严格的时序要求,因此可以更加灵活地适应不同的应用场景。常见的异步总线有USB、IEEE 1394等。

在计算机系统中,CPU 对 I/O 设备的管理方式有程序查询方式、程序中断方式、DMA 方式、通道方式和 IO 处理机方式。

  • 程序查询方式:CPU 通过查询 I/O 设备的寄存器或内存地址来获取设备状态和控制信息,这种方式需要 CPU 与 I/O 设备之间进行数据传输,速度较慢。

  • 程序中断方式:
    程序中断方式是各类计算机中广泛使用的一种数据交换方式。当某一外设的数据准备就绪后,它“主动”向 CPU 发出请求信号。CPU 响应中断请求后,暂停运行主程序,自动转移到该设备的中断服务子程序,为该设备进行服务,结束时返回主程序。中断处理过程可以嵌套进行,优先级高的设备可以中断优先级低的中断服务程序。

  • DMA 方式:DMA(Direct Memory Access)是一种数据传输方式,它可以在不使用 CPU 的帮助下将数据从外设直接传输到内存中,或者从内存中传输数据到外设中。CPU 通过 DMA控制器控制 DMA 通道,实现对 I/O 设备的高速数据传输。
    DMA 技术的出现,使得I/O 设备可以通过 DMA 控制器直接访问主存,与此同时CPU 可以继续执行程序。DMA 传送方式有 3 种:停止 CPU 访问主存、周期挪用DMA与CPU 交替访问主存

  • 通道方式:通道是一种硬件接口,它提供了一种高效的数据传输方式。通道可以被看作是一条双向的通信路径,CPU 可以通过通道与 I/O 设备进行高速数据传输。通道通常用于连接不同类型的 I/O 设备,如磁盘驱动器、网络适配器等。
    通道是一个特殊功能的处理器。它有自己的指令和程序专门负资数据输入输出的传输控  制,从而使 CPU将“传输控制”的功能下放给通道,CPU 只负责“数据处理”功能。

  • IO 处理机方式:IO 处理机是一种专门的硬件设备,它可以执行各种 I/O 操作,如读取磁盘、发送网络数据包等。CPU 可以利用 IO 处理机来执行一些复杂的 I/O 操作,提高系统的性能和效率。
    I/O处理机的功能与一般的处理机相仿,有时甚至于就是一台普通的通用计算机,I/O处理机能够承担起输入输出过程中的全部工作,完全不需要 CPU参与。


本片文章就到此结束啦,希望佬们多多指教

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/579977.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Go语言实现JDBC

Go语言操作数据库 Go语言提供了关于数据库的操作,包下有sql/driver 该包用来定义操作数据库的接口,这保证了无论使用哪种数据库,操作方式都是相同的; 准备工作: 下载驱动 需要在代码所在文件夹下执行相应的命令 go get github.com/go-sql-driver/mys…

DAY 69 rsync远程同步

rsync介绍 rsync简介 rsync(Remote Sync,远程同步)是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,并保持链接和权限,且采用优化的同步算法,传输前…

超超超级详细的画图以及代码分析各种排序的实现!

各种排序的实现 排序的概念直接插入排序基本思想实现直接插入排序的特性总结 希尔排序基本思想实现希尔排序的特性总结 简单选择排序基本思想实现直接选择排序的特性总结 堆排序实现堆排序的特性总结 冒泡排序基本思想实现冒泡排序的特性总结 快速排序基本思想hoare版本挖坑法前…

JDBC测试

JDBC是什么? JDBC是一套接口,各大厂商来实现这套接口,进行数据库连接操作 比如Mysql驱动,Oracle驱动,sqlServer驱动,高斯驱动 以Mysql为例: JDBC编程六步 第一步:注册驱动 第二步:获取连接 第三步:获取数据库操作对象 第…

为什么不用Go开发操作系统?

操作系统 (OS) 是计算机系统的心脏和灵魂,它管理着计算机的硬件和软件资源,并为用户提供与计算机交互的方式。传统上,C 和 Assembly 等语言因其低开销和 “接近机器码” 的特性而被用于开发操作系统。 但诸如 Go 等高级语言的兴起引入了一些…

黑客为什么不攻击赌博网站?

攻击了,只是你不知道而已! 同样,对方也不会通知你,告诉你他黑了赌博网站。 攻击赌博网站的不一定是正义的黑客,也可能是因赌博输钱而误入歧途的法外狂徒。之前看过一个警方破获的真实案件:28岁小伙因赌博…

Xubuntu22.04之替换blueman-manager连接蓝牙设备(一百七十五)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…

【C++】static在类中修饰成员变量成员函数

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、定义:二、特性:1. 静态成员为所有类对象所共享,不属于某个具体的对象,存放在静态区2. 静态成员变量必须在类外定…

C++学习笔记3:sort和priority_queue的比较器重载

1 sort 三种方法 1. 直接重载函数 #include <vector> #include <memory> #include <vector> #include <queue> #include <iostream> #include <algorithm>using namespace std;class Node{ public:int value;Node(){value 0;};explici…

【解决】sklearn-LabelEncoder遇到没在编码规则里的新值

文章目录 一、问题描述二、解决方法Reference 一、问题描述 问题&#xff1a;sklearn-LabelEncoder 遇到没在编码规则里的新值 二、解决方法 方法一&#xff1a;直接保存old_data和encoder_data和之间的映射关系&#xff0c;字典或者下面的csv格式里都可以。 for col in be…

UDS诊断实战系列-再谈19 04读取冻结帧子服务

本文框架 1. 前言2. 19 04 子服务2.1 请求某DTC快照信息2.1.1 请求报文格式及说明2.1.2 响应报文格式及说明 3. 开发注意事项3.1 快照高低字节顺序3.2 快照DID 1. 前言 19服务在整个UDS服务中非常重要&#xff0c;而19 04读取DTC冻结帧数据子服务又在0x19服务中非常重要&#…

<Linux开发>驱动开发 -之-资源的并发与竞争处理

&#xff1c;Linux开发&#xff1e;驱动开发 -之-资源的并发与竞争处理 交叉编译环境搭建&#xff1a; &#xff1c;Linux开发&#xff1e; linux开发工具-之-交叉编译环境搭建 uboot移植可参考以下&#xff1a; &#xff1c;Linux开发&#xff1e; -之-系统移植 uboot移植过…

K8s之Pod生命周期、启动停止钩子详解

文章目录 一、Pod生命周期流程二、初始化容器-initContainers三、主容器操作-containers1、启动钩子-lifecycle.postStart2、停止钩子-lifecycle.preStop 一、Pod生命周期流程 Pod生命周期整个过程 如下图&#xff1a; 1、在启动任何容器之前&#xff0c;前创建 pause 容器&am…

网络通信IO模型上

计算机组成 计算机由软件和硬件组成&#xff0c;软件包括CPU、内存等&#xff0c;硬件包括主板&#xff0c;磁盘&#xff0c;IO设备&#xff08;网卡、鼠标、键盘等&#xff09;、电源按钮。 内核程序加载过程 当接通电源的时候1、BIOS就会把它的一段代码放入了内存当中&#…

ORB SLAM3 构建Frame

1.构造Frame 为了构建一帧Frame&#xff0c;主要的步骤如下&#xff1a; 提取ORB特征点(ExtractORB)对提取的特征点进行矫正(cv::undistortPoints)计算去畸变后的图像边界(ComputeImageBounds)将特征点分配到网格中(AssignFeaturesToGrid) A.提取ORB特征点 首先需要对当前帧…

某程序员哀叹:月薪四五万,却每天极度焦虑痛苦,已有生理性不适,又不敢裸辞,该怎么办?

高薪能买来快乐吗&#xff1f; 来看看这位程序员的哀叹&#xff1a; 实在是扛不住了&#xff0c;每天都在极度焦虑和痛苦中度过&#xff0c;早上起来要挣扎着做心理建设去上班&#xff0c;已经产生生理性的头晕恶心食欲不振。有工作本身的原因&#xff0c;更多是自己心态的问…

如何在CSDN获得铁粉

文章目录 前言关于铁粉方法总结 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 铁粉512位即可参加此活动 完成一篇如何获得铁粉&#xff0c;或者相关的文章且质量分达到80分以上即可 关于铁粉 简单地说&#xff0c;就是在过去 N 个月内&#xff0c;一…

vscode配置flutter开发环境,不需要安装第三方安卓模拟器

1.获取Flutter SDK 点击下方的安装包&#xff0c;获取 stable 发行通道的 Flutter SDK 最新版本&#xff1a;Flutter SDK 将压缩包解压&#xff0c;然后把其中的 flutter 目录整个放在你想放置 Flutter SDK 的路径中**&#xff08;注意不要出现中文目录&#xff09;** 配置Wi…

Spring Boot配置文件(5/27)

1.Spring Boot 配置文件的分类和作用 整个项目所有重要的数据都是在配置文件中配置的 1.数据库连接信息&#xff08;包含用户名和密码的设置&#xff09; 2.项目的启动窗口&#xff1b; 3.第三方系统调用密匙等信息 4.用于发现和定位问题的普通日志和异常日志等等 大体上可以分…

基于FPGA的Bayer转RGB算法实现

1 概述 Bayer转RGB在图像处理中被称为去马赛克&#xff08;Demosaic&#xff09;&#xff0c;是机器视觉ISP流程中的一个基础且重要的算法&#xff0c;主要完成彩色图像传感器原始的Bayer格式图像到RGB格式图像的转换。 关于Bayer图像的相关概念和知识&#xff0c;本文不作介绍…