首页 > 其他分享 >计算机组成与体系结构——计算机功能和互连地顶层视图

计算机组成与体系结构——计算机功能和互连地顶层视图

时间:2024-09-19 22:49:09浏览次数:3  
标签:计算机 中断 互连 存储器 视图 PCIe 地址 指令 中断请求

计算机的部件

  • 几乎所有的当代计算机设计都是以冯·诺依曼提出的概念为基础的,它基于以下三个概念:
  1. 数据和指令存储在单一的读/写存储器中
  2. 存储器的内容通过位置寻址,而不关心存储在其中的数据类型
  3. 从一条指令到下一条指令(除非显示修改)顺序执行。
  • 一种方式是硬连线程序(Hardwired Program),通常指的是通过硬件电路直接实现的控制逻辑,而不是通过存储在内存中的软件程序来实现。
  • 现在有另一种方案构造一个具有算术和逻辑结构的通用结构,这组硬件将根据提供给它的控制信号,对数据执行各种功能。对于每个新程序,程序员只需要提供一个新的控制信号集。这一代码或者指令序列被称为软件。
  • 上面的要点指出了系统的两个主要部件:指令解释器和通用算术逻辑功能模块。为了实现计算机的功能,还需要I/O设备与存储器或主存。[[A第一章 基本概念与计算机演化#IAS(指令集体体系结构)计算机]]
  • CPU一般使用两个内部寄存器:1.存储器地址存储器(MAR),为下一次读或写指定存储器的地址。2.存储器缓冲寄存器(MBR),容纳写到内存或从内存接收的数据。类似地,I/O地址寄存器(I/O AR)指定了一个特定地I/O设备;I/O缓冲寄存器(I/O BR)用于I/O模块与CPU之间的数据交换。

计算机的功能

  • 计算机完成的基本功能是执行程序,程序的执行就是重复地取指令和执行指令地过程。一条指令所要求的处理过程被称为指令周期,相应地,有取指周期执行周期
    指令的读取和执行是计算机处理任务的基础过程。这一过程涉及计算机如何从内存中取出指令,并按照一定的顺序执行这些指令。下面详细介绍指令的读取和执行过程,以及相关的计算机体系结构概念。

指令的读取和执行流程

1. 取指令(Fetch)

在计算机执行程序的过程中,首先需要从内存中取出要执行的指令。这一过程称为取指令(Fetch)。

  • 地址计算:程序计数器(Program Counter, PC)保存了当前需要执行的指令在内存中的地址。
  • 读取指令:CPU 将 PC 中的地址发送给内存,内存返回存储在该地址处的指令,。
  • 更新PC:在取出指令后,PC 通常会自动增加,指向下一个指令的地址(通常是增加一个指令字节长度的值)。
2. 分析指令(Decode)

取出指令后,接下来需要解码(Decode)这条指令,即分析指令的内容,确定指令的操作类型和操作数的位置。

  • 指令解码:控制单元(Control Unit, CU)负责分析指令,解析出指令的操作码(Opcode)和操作数地址。
  • 操作数获取:如果指令需要操作数,控制单元将从内存或寄存器中获取这些操作数。
3. 执行指令(Execute)

分析完指令后,执行指令(Execute)的过程开始,CPU 将根据指令的操作码执行相应的操作,此时的指令位于(指令寄存器 IR,存放正在执行的指令)。

  • 执行操作:算术逻辑单元(Arithmetic Logic Unit, ALU)根据指令的要求执行算术或逻辑运算。
  • 状态更新:根据指令的要求,更新寄存器、内存或标志寄存器中的状态。
4. 写回结果(Write Back)

指令执行完成后,需要将结果写回到目标位置,可能是寄存器、内存或其他状态寄存器。

  • 结果存储:执行的结果会被保存到指定的寄存器(累加器 AC)或内存位置。
5. 循环执行

上述步骤是一个循环的过程,计算机不断地重复这些步骤直到程序结束或遇到特殊的跳转指令改变执行流程。

中断(Interrupt)是计算机体系结构中的一个重要概念,它允许计算机在执行程序的过程中,暂时停止当前的任务去处理一些紧急或重要的事件。中断机制提高了计算机系统的灵活性和响应速度,使得系统可以及时处理外部设备请求、错误检测等。

中断

中断是指当计算机正在执行某一程序时,由于某种原因需要暂停当前的执行,转而执行另一段程序(通常是处理中断的服务程序),处理完毕后再恢复原来被中断的程序继续执行的过程。

类型

中断的常见类型:

  1. 程序中断,由作为指令执行结果的某些条件产生。
  2. 定时器,由处理器中的计时器产生,它允许操作系统以规整的时间间隔执行特定的功能。
  3. I/O,由I/O控制器产生,以通知操作正常完成或各种出错情况。
  4. 硬件故障,由电源故障或存储器奇偶校验出错这类故障产生。
中断处理流程

中断处理通常遵循以下步骤:

  1. 中断请求(Interrupt Request):当外部设备或软件指令发出中断请求时,中断控制器会向CPU发送中断信号。
  2. 中断响应(Interrupt Acknowledgment):CPU收到中断信号后,会暂停当前的指令执行,并保存当前的状态(如程序计数器、寄存器内容等)。
  3. 中断向量(Interrupt Vector):中断控制器提供中断向量,指示中断服务程序的入口地址。
  4. 执行中断服务程序(Interrupt Service Routine, ISR):CPU转向中断服务程序,处理中断请求。ISR会执行必要的操作,如读取设备状态、更新数据等。
  5. 中断返回(Interrupt Return):ISR执行完毕后,CPU恢复被中断前的状态,并返回到中断之前的指令继续执行。

多重中断(Multilevel Interrupts 或 Nested Interrupts)

指在处理一个中断的过程中,又发生了另一个中断请求,而系统允许处理新的中断请求的现象。这种机制使得计算机能够在处理一个中断的同时,还能及时响应更高优先级的中断请求。多重中断提高了系统的响应能力和效率,尤其是在实时系统和嵌入式系统中尤为重要。

多重中断的基本概念

在传统的单级中断系统中,一旦一个中断开始处理,系统就会屏蔽所有其他中断,直到当前中断处理完毕。这种方式虽然简化了中断处理过程,但却无法及时响应新的紧急中断请求,降低了系统的响应速度。

而在多重中断系统中,中断处理可以被更高优先级的中断请求所打断,从而允许系统处理更高优先性的中断。这种方式增加了系统的复杂性,但也提高了系统的实时性和响应能力。

中断优先级

在多重中断系统中,每一个中断都有一个优先级,优先级高的中断可以打断优先级低的中断。中断优先级通常由硬件或操作系统定义,常见的定义方式包括:

  • 硬件优先级:通过硬件中断控制器(如8259A PIC)设置中断优先级。
  • 软件优先级:操作系统在软件层面上定义中断优先级。
多重中断处理流程

多重中断处理流程通常包括以下几个步骤:

  1. 中断请求:当某个外设或内部事件发生时,向CPU发送中断请求。
  2. 中断响应:CPU响应中断请求,保存当前状态(包括寄存器内容、程序计数器等)。
  3. 检查优先级:CPU检查当前请求的中断优先级,并决定是否进入中断处理。
  4. 中断嵌套:如果当前正在处理一个中断,且新请求的中断优先级更高,则可以打断当前中断处理,先处理新的中断请求。
  5. 执行中断服务程序:根据中断向量表中的地址,转向相应的中断服务程序(ISR)。
  6. 中断返回:中断服务程序执行完毕后,恢复被中断前的状态,并返回到中断前的指令继续执行。
I/O功能
  • I/O模块能直接与处理器交换数据。处理器能把数据写到I/O模块或从I/O模块中读出。
  • 在某些情况下,需要允许I/O直接与存储器交换数据。

互连结构

  • 连接计算机各种模块的通路集合被称为互连结构。
    互连结构(Interconnection Structure)是指计算机系统中用于连接各个模块(如存储器、输入/输出设备、处理器等)的通路集合。互连结构的设计对于计算机系统的性能有着至关重要的影响。下面将分别介绍存储器、I/O模块、处理器的主要输入和输出形式,以及它们之间所需的信息交换种类。
存储器的主要输入和输出形式
输入形式
  • 地址信息:存储器接收来自处理器或其他模块的地址信号,用以定位存储单元。
  • 写数据:当进行写操作时,存储器需要接收写入的数据。
  • 控制信号:存储器接收读/写控制信号,用以决定是读取还是写入数据。
输出形式
  • 读数据:当进行读操作时,存储器提供所请求的数据。
  • 状态信息:有时存储器也会输出状态信息,如忙/空闲状态、错误状态等。
I/O模块的主要输入和输出形式
输入形式
  • 命令:处理器或其他模块发送的命令,指示I/O设备执行特定操作。
  • 数据:在写操作中,I/O设备接收需要处理的数据。
  • 控制信号:指示I/O设备何时开始或停止操作的控制信号。
输出形式
  • 数据:在读操作中,I/O设备提供处理后的数据。
  • 状态信息:I/O设备输出的状态信息,如完成状态、错误状态等。
  • 中断请求:当I/O操作完成或发生错误时,I/O设备可能会向处理器发送中断请求。
处理器的主要输入和输出形式
输入形式
  • 指令:从存储器读取的指令。
  • 数据:从存储器或I/O设备读取的数据。
  • 中断请求:来自I/O设备或其他外围设备的中断请求。
输出形式
  • 控制信号:发送给存储器或I/O设备的控制信号,用于控制它们的行为。
  • 数据:写入存储器或I/O设备的数据。
  • 状态信息:处理器可能也会输出状态信息,如完成某些操作后的状态标志。

总线互连

总线互连(Bus Interconnection)是计算机系统中最常见的互连结构之一,它通过一组共享的物理线路来实现不同模块之间的通信。总线的关键特征是共享传输介质,多个设备同时发送信号会发生重叠,引起混淆。

总线定义

总线是一组导线,用于连接计算机系统中的多个组件(如CPU、存储器、I/O设备等),以实现它们之间的通信。总线可以传输数据、地址、控制信号等多种类型的信息。

总线种类
  • 系统总线:连接计算机的主要部件。
  • 任何总线的线路都可以分成如下3个功能组:数据线、地址线、控制线。
数据线(Data Lines)

数据线用于传输实际的数据位,它是双向的,允许数据在各个模块之间双向流动。数据线的数量决定了数据传输的宽度,即一次可以传输的数据位数。例如,一条32位的数据线可以一次传输32位的数据。

功能

  • 数据传输:在CPU与存储器、外设之间传输数据。
  • 双向性:数据可以从任何方向传输,既可以读取也可以写入数据。
地址线(Address Lines)

地址线用于传输地址信息,指示数据的具体位置。地址线的数量决定了可以寻址的地址空间大小。例如,一条32位的地址线可以寻址(2^{32})个地址(即4GB的空间)。

功能

  • 地址传送:提供存储器或其他设备中的特定位置的地址。
  • 单向性:地址线通常是单向的,从CPU或其他地址源传送到存储器或外设。
控制线(Control Lines)

控制线用于传输控制信号,这些信号用来协调和控制数据和地址信息的传输。控制线可以是单向的,也可以是双向的,取决于具体的功能需求。

功能

  • 存储器读/写:将数据从存储器中读出,将数据写入存储器中的某个地址,
  • I/O 读/写:I/O读/写信号用于指示I/O设备执行读或写操作。
  • 传输响应:传输响应信号(通常表示为TACKACK)用于确认数据传输已完成或数据已被正确接收
  • 总线请求:总线请求信号用于请求访问总线。当一个设备需要使用总线时,它会发送总线请求信号。
  • 总线允许:总线允许信号用于响应总线请求,表明请求的设备现在可以使用总线。
  • 中断请求:中断请求信号用于告知CPU或其他控制单元有紧急或重要的事件需要处理。
  • 中断响应:中断响应信号用于确认中断请求,并允许中断处理程序执行。
  • 时钟:时钟信号用于同步系统中的各个模块,确保它们在同一时间点执行操作
  • 复位:复位信号用于将系统或模块初始化到已知的初始状态

点对点互连

  • 点对点互连是指两个模块之间通过一条或多条专用的物理连接路径进行直接通信的方式。这些连接路径可以是单独的导线、光纤或者其他类型的通信链路。

示例:快速通道互连(QPI)

快速通道互连(QuickPath Interconnect, QPI)不仅是一种点对点互连技术,而且是一个多层次的通信协议栈。QPI的通信协议栈分为多个层次,包括物理层、链路层、路由层和协议层。每一层都有其特定的功能,协同工作以实现高效的数据传输。下面详细介绍QPI的各个层次:

QPI物理层(Physical Layer)

物理层负责处理数据传输的物理介质特性,QPI端口由84条单独的链路组成,每条数据路径由一对线组成,一次传输一位数据,这对线称为通道仅指单向传输,使用多通道技术

功能

  • 信号传输:定义了信号的编码方式,如差分信号(Differential Signaling)。
  • 电气特性:规定了电压范围、电流强度等电气参数。
  • 连接器:定义了连接器的物理规格,如针脚定义、形状尺寸等。
  • 带宽和速度:QPI支持不同的传输速度,如2.4 GT/s、4.8 GT/s等,对应的带宽分别为5.76 GB/s和11.52 GB/s。
例子
  • 在物理层,QPI使用差分信号技术来减少电磁干扰(EMI)的影响。
  • QPI的连接器通常采用专门设计的连接器,以确保信号的完整性。
QPI 链路层(Link Layer)

链路层负责建立、管理和维护物理层之上的通信链路,包括链路初始化、错误检测与纠正、流量控制等。

功能

  • 链路初始化:建立和初始化物理链路,包括握手协议、协商传输速率等。
  • 差错控制:使用校验码(如CRC)检测数据传输中的错误,并通过重传来纠正错误。
  • 流量控制:管理数据传输速率,避免拥塞和溢出。
  • 链路状态监控:监控链路的健康状况,及时发现并处理链路故障。
例子
  • 在链路初始化阶段,QPI通过握手协议协商双方的传输速度。
  • 错误检测与纠正机制确保数据的完整性和准确性。
QPI 路由层(Routing Layer)

路由层负责确定数据包在网络中的传输路径,确保数据能够从源地址准确地传输到目的地址。

功能

  • 路径选择:基于路由表或路由算法选择最佳路径。
  • 路径管理:维护路由表的更新,处理路径变化。
  • 负载均衡:通过负载均衡策略分散数据流,提高网络利用率。
例子
  • 在多处理器系统中,QPI可以动态选择最优路径进行数据传输。
  • 路由层还需要处理路径故障恢复,确保数据传输的连续性。
QPI协议层(Protocol Layer)

协议层负责定义数据传输的规则和格式,确保数据在不同节点之间能够正确解读和处理。

功能

  • 消息格式:定义数据传输的消息格式,包括报头、数据体等部分。
  • 通信规则:定义数据传输的规则,如请求/响应模式、同步/异步通信等。
  • 事务处理:处理数据传输的事务,如内存一致性协议、事务确认等。
例子
  • 协议层定义了QPI传输的数据格式,包括数据报头和数据体。
  • 事务处理机制确保数据传输的完整性和一致性。

PCIe

PCI Express(简称PCIe)是一种高速串行计算机扩展总线标准,用于连接计算机内部的组件,如显卡、存储设备、网络适配器等,(PCI 外设部件互连)。

PCIe的技术特点

点对点互连

PCIe采用点对点互连方式,每个设备都有独立的链路连接到根复合体(Root Complex),即通常的主板上的南桥或北桥。这种设计减少了信号干扰和竞争,提高了数据传输的效率。

来自根复合体的PCIe链路可以连接到以下类型的实现PCIe的设备:

  1. 交换机
  2. PCIe端点
  3. 遗留端点
  4. PCIe/PCI网桥

PCIe的层次结构

PCIe的通信协议栈分为多个层次,包括物理层、链路层、事务层和配置层

物理层(Physical Layer)

物理层负责处理信号传输的物理特性,每个PCIe端口由多个双向通道组成,使用多通道技术

  • 信号编码:使用8b/10b编码,确保数据的可靠传输。
  • 电气特性:定义了电压范围、电流强度等电气参数。
  • 连接器规格:定义了PCIe插槽的物理尺寸和引脚布局。
链路层(Link Layer)

链路层负责建立、管理和维护物理层之上的通信链路,包括链路初始化、错误检测与纠正、流量控制等。

  • 链路初始化:建立和初始化物理链路,包括握手协议、协商传输速率等。
  • 错误检测与纠正:使用校验码(如CRC)检测数据传输中的错误,并通过重传来纠正错误。
  • 流量控制:管理数据传输速率,避免拥塞和溢出。
事务层(Transaction Layer)

事务层负责定义数据传输的规则和格式,确保数据在不同节点之间能够正确解读和处理。

  • 消息格式:定义数据传输的消息格式,包括报头、数据体等部分。
  • 通信规则:定义数据传输的规则,如请求/响应模式、同步/异步通信等。
  • 事务处理:处理数据传输的事务,如内存一致性协议、事务确认等。
配置层(Configuration Layer)

配置层负责管理PCIe设备的配置信息,包括设备识别、能力报告、状态监控等。

  • 设备识别:通过配置空间(Configuration Space)识别设备的身份。
  • 能力报告:报告设备的能力和配置信息。
  • 状态监控:监控设备的运行状态,确保设备正常工作。

PCIe的应用

PCIe广泛应用于以下几种场景:

显卡

高性能显卡通常通过PCIe x16插槽连接到主板,以支持高速数据传输和图形处理能力。

存储设备

固态硬盘(SSD)和其他高速存储设备通过PCIe接口提供更快的数据传输速度。

网络适配器

高速网络适配器也使用PCIe接口连接到主板,以支持高速网络通信。

扩展卡

各种扩展卡,如声卡、RAID控制器、USB控制器等,都可以通过PCIe接口连接到主板。

标签:计算机,中断,互连,存储器,视图,PCIe,地址,指令,中断请求
From: https://blog.csdn.net/w2103108255/article/details/142371738

相关文章

  • 计算机毕业设计 基于协同过滤算法的个性化音乐推荐系统 Java+SpringBoot+Vue 前后端分
    ......
  • python+flask计算机毕业设计景区民宿网上预约系统(程序+开题+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着旅游业的蓬勃发展,景区民宿作为一种融合了当地文化、自然风光与个性化服务的住宿形式,越来越受到游客的青睐。然而,传统民宿预订方式往往......
  • python+flask计算机毕业设计简逸家政服务平台(程序+开题+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景在快节奏的现代生活中,随着家庭结构的变化和生活水平的提高,家政服务需求日益增长,成为连接家庭与社会服务的重要桥梁。然而,传统家政服务行业......
  • java计算机毕业设计少儿英语在线学习平台APP(开题+程序+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着全球化进程的加速和互联网技术的飞速发展,英语作为国际交流的重要工具,其教育需求在少儿群体中日益凸显。传统线下英语教育模式受限于时间、地点及......
  • 基于JAVA作业管理系统设计的计算机毕设源码+论文
    摘要课题目标是设计并实现一个B/S体系结构的教务信息管理系统。结合实践,理解网页开发技术和数据库的基本知识,学习相关开发工具和应用软件,熟悉系统设计的过程,熟练掌握网络数据库编程方法。本系统用JSP技术来编写本系统,数据库用Mysql来连接系统。本论文主要涉及软件,数据库与网络技术......
  • 几何透视图像校正处理软件 DxO ViewPoint v4.12 中文授权版
    DxOViewPoint是DxOLabs旗下一款行业领先级几何透视图像校正处理软件。DxOViewPoint让您可以完全掌控线条、角度和形状。调整透视、修复畸变、改变特定区域形状和校正广角拉伸,以获取精美图像。DxOViewPoint可作为独立应用程序运行,也可作为DxOPhotoLab中的工具面板以及......
  • SSM大学生就业平台-计算机毕业设计源码85751
    目录1绪论1.1选题背景与意义1.2国内外研究现状1.3论文结构与章节安排2系统分析2.1可行性分析2.1.1技术可行性2.1.2经济可行性2.1.3社会可行性2.2系统流程分析2.2.1系统开发流程2.2.2用户登录流程2.2.3系统操作流程2.2.4添加信息流程2.2.5......
  • 基于django+vue古诗词鉴赏网站【开题报告+程序+论文】-计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景在中华文化的浩瀚星空中,古诗词犹如璀璨星辰,穿越时空的长河,照亮了无数文人墨客的心灵世界,也承载着中华民族深厚的文化底蕴与情感寄托。然而......
  • 基于django+vue购药管理系统【开题报告+程序+论文】-计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着医疗行业的快速发展和人们对健康意识的不断提升,药品的需求量急剧增加,购药管理成为医疗机构及零售药店运营中不可或缺的一环。传统的手......
  • 基于django+vue购物网【开题报告+程序+论文】-计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着互联网技术的飞速发展和电子商务的日益普及,网络购物已成为人们日常生活中不可或缺的一部分。购物网站作为电子商务的核心平台,不仅极大......