CN117591468A - 一种基于分布式通用寄存器的SoC系统设计 - Google Patents

一种基于分布式通用寄存器的SoC系统设计 Download PDF

Info

Publication number
CN117591468A
CN117591468A CN202311491345.7A CN202311491345A CN117591468A CN 117591468 A CN117591468 A CN 117591468A CN 202311491345 A CN202311491345 A CN 202311491345A CN 117591468 A CN117591468 A CN 117591468A
Authority
CN
China
Prior art keywords
processor
general purpose
distributed general
data
registers
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311491345.7A
Other languages
English (en)
Inventor
孙宗齐
赵鑫鑫
姜凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Inspur Science Research Institute Co Ltd
Original Assignee
Shandong Inspur Science Research Institute Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shandong Inspur Science Research Institute Co Ltd filed Critical Shandong Inspur Science Research Institute Co Ltd
Priority to CN202311491345.7A priority Critical patent/CN117591468A/zh
Publication of CN117591468A publication Critical patent/CN117591468A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)

Abstract

本发明公开了一种基于分布式通用寄存器的SoC系统设计,利用分布式通用寄存器优化数据传输。该系统由一个RISC‑V微处理器和多个外设控制器组成,每个控制器都有其自己的寄存器组。这些寄存器通过直接数据通路与处理器相连,允许无需经过APB总线即可访问,从而显著减少了数据传输延迟。微处理器支持自定义指令,加强了寄存器操作的效率。此外,系统的外设控制器支持UART、SPI和I2C接口,可以与各种传感器和通信模块快速交换数据。本发明的SoC设计降低了能耗,提升了数据处理效率,简化了系统架构,适用于高性能和能效敏感型电子设备。

Description

一种基于分布式通用寄存器的SoC系统设计
技术领域
发明属于计算机系统的控制装置或方法领域,具体来说是一种基于分布式通用寄存器的SoC系统设计。
背景技术
随着电子系统日趋复杂化,对片上系统(SoC)的性能要求不断提高。SoC通常集成了微处理器、内存、外设等多种功能模块,以实现高度集成化电子设备的设计。在传统的SoC设计中,处理器与外设控制器之间的通信通常依赖于高级外设总线(APB)。然而,这种设计存在几个显著的缺点:
1.数据传输延迟:APB总线的速度通常无法匹配外设控制器的操作速度,这导致处理器在访问外设寄存器时面临显著的数据传输延迟。这种延迟不仅影响了系统的响应时间,也限制了整个SoC的性能。
2.效率低下:在传统SoC架构中,处理器需要执行额外的指令来计算外设寄存器的地址,这占用了宝贵的指令周期,并导致处理效率降低。这一问题在处理器需要频繁进行外设通信时尤为突出。
3.能耗问题:额外的指令执行和增加的数据传输时间意味着更高的能量消耗,这在依赖电池的便携式和嵌入式设备中尤其不受欢迎,因为它减少了设备的运行时间并影响用户体验。
4.系统复杂度:由于需要管理总线通信和外设寄存器的地址映射,系统的软件复杂度增加,这为系统编程和后期的维护带来了额外的负担。
发明内容
本发明的主要目的,在于提供一种基于分布式通用寄存器的SoC系统设计,可以有效结局背景技术中所涉及的内容。
为实现上述目的,本发明采取的技术方案为:
一种基于分布式通用寄存器的SoC系统设计,所述SoC系统包括:
一个处理器,所述处理器包含第一组分布式通用寄存器,用于执行包含算术和逻辑运算的指令;
至少一个外设控制器,所述至少一个外设控制器包含至少第二组分布式通用寄存器,并用于实现特定的外设功能;
一个总线接口,用于处理器与至少一个外设控制器之间的通信,并通过高级外设总线(APB)协议进行数据交换;
一个集成的内存单元,为静态随机存取存储器(SRAM);
与所述至少一个外设控制器相连接的至少一个外设;
其中,所述第一组分布式通用寄存器直接通过处理器的内部数据接口连接,并配置为允许所述处理器在不通过总线接口的情况下直接访问这些寄存器。
进一步的,所述至少一个外设控制器的所述至少第二组分布式通用寄存器配置为通过一数据通路与处理器的分布式通用寄存器直接连接,并且所述数据通路配置为允许所述处理器直接在不同的寄存器间传输数据。
进一步的,所述处理器进一步包含:
一个总线接口单元,用于管理总线协议和数据传输;
一个取指单元,用于从内存中获取指令;
一个译码单元,用于将取得的指令转换为执行信号;
一个控制单元,用于协调处理器的操作;
一个指令执行单元,用于执行操作指令;
一个存取单元,用于管理数据的读取和写入;
其中,所述分布式通用寄存器集成于指令流水线内,以减少访问延迟并提高处理效率。
进一步的,所述至少一个外设控制器进一步包括:
与所述至少第二组分布式通用寄存器连接的专用寄存器,用于存储外设操作状态;
一个控制逻辑单元,用于解释处理器的命令并控制外设的操作;
其中,所述专用寄存器通过总线接口单元与处理器通信,而所述至少第二组分布式通用寄存器可通过直接数据通路接收处理器的直接访问。
进一步的,所述处理器为基于开放架构RISC-V指令集的微处理器,其配置为支持自定义指令以优化分布式通用寄存器的操作。
进一步的,所述至少一个外设控制器中的外设包括但不限于UART接口、SPI接口和I2C接口,以及与之相连的传感器、执行器或通信模块。
进一步的,所述处理器访问所述至少一个外设控制器中的专用寄存器时,通过执行以下操作:
使用加载指令从所述专用寄存器中读取数据到处理器的内部通用寄存器;
对于需要操作的数据,使用算术或逻辑指令在处理器内部执行;
使用存储指令将处理后的数据从处理器的内部通用寄存器写回到所述专用寄存器;
其中,所述操作指令被配置为通过所述指令执行单元处理,并在所需时由控制单元调整指令流水线。
与现有技术相比,本发明具有如下有益效果:
1.降低数据传输延迟:通过在处理器和外设控制器中引入分布式通用寄存器,本发明允许处理器直接访问这些寄存器,绕过了传统的APB总线。这种直接访问机制显著减少了数据传输的延迟,提供了更快的数据访问速度,从而增强了整个SoC的性能。
2.提高处理效率:由于处理器可以直接访问分布式通用寄存器,因此不再需要额外的地址计算指令,这样就节省了处理器的指令周期。这不仅简化了处理器与外设之间的通信流程,也提升了运算和逻辑处理的效率。
3.降低能耗:减少指令执行和短路数据路径直接减少了处理器的功率消耗。特别是在电池供电的移动和嵌入式设备中,这种能效的提升可以延长设备的使用时间,为用户带来更好的体验。
4.简化系统复杂度:传统的SoC设计需要复杂的软件来管理总线通信和寄存器地址映射。本发明通过简化处理器和外设控制器之间的接口,减少了系统的软件复杂度。这不仅加速了系统开发的周期,还便于后期的系统维护和升级。
附图说明
图1为本发明SoC系统设计框图;
图2为本发明处理器内部设计图。
具体实施方式
现在将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本说明书内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。例如,所描述的方法可以按照与所描述的顺序不同的顺序来执行,以及各个步骤可以被添加、省略或者组合。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。
如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。
实施例
请参阅图1-2,本发明提供一种实施方式:
一种基于分布式通用寄存器的SoC系统设计,所述SoC系统包括:
一个处理器,所述处理器包含第一组分布式通用寄存器,用于执行包含算术和逻辑运算的指令;
至少一个外设控制器,所述至少一个外设控制器包含至少第二组分布式通用寄存器,并用于实现特定的外设功能;
一个总线接口,用于处理器与至少一个外设控制器之间的通信,并通过高级外设总线(APB)协议进行数据交换;
一个集成的内存单元,为静态随机存取存储器(SRAM);
与所述至少一个外设控制器相连接的至少一个外设;
其中,所述第一组分布式通用寄存器直接通过处理器的内部数据接口连接,并配置为允许所述处理器在不通过总线接口的情况下直接访问这些寄存器。
本实施例中,所述至少一个外设控制器的所述至少第二组分布式通用寄存器配置为通过一数据通路与处理器的分布式通用寄存器直接连接,并且所述数据通路配置为允许所述处理器直接在不同的寄存器间传输数据。
本实施例中,所述处理器进一步包含:
一个总线接口单元,用于管理总线协议和数据传输;
一个取指单元,用于从内存中获取指令;
一个译码单元,用于将取得的指令转换为执行信号;
一个控制单元,用于协调处理器的操作;
一个指令执行单元,用于执行操作指令;
一个存取单元,用于管理数据的读取和写入;
其中,所述分布式通用寄存器集成于指令流水线内,以减少访问延迟并提高处理效率。
本实施例中,所述至少一个外设控制器进一步包括:
与所述至少第二组分布式通用寄存器连接的专用寄存器,用于存储外设操作状态;
一个控制逻辑单元,用于解释处理器的命令并控制外设的操作;
其中,所述专用寄存器通过总线接口单元与处理器通信,而所述至少第二组分布式通用寄存器可通过直接数据通路接收处理器的直接访问。
本实施例中,所述处理器为基于开放架构RISC-V指令集的微处理器,其配置为支持自定义指令以优化分布式通用寄存器的操作。
本实施例中,所述至少一个外设控制器中的外设包括但不限于UART接口、SPI接口和I2C接口,以及与之相连的传感器、执行器或通信模块。
本实施例中,所述处理器访问所述至少一个外设控制器中的专用寄存器时,通过执行以下操作:
使用加载指令从所述专用寄存器中读取数据到处理器的内部通用寄存器;
对于需要操作的数据,使用算术或逻辑指令在处理器内部执行;
使用存储指令将处理后的数据从处理器的内部通用寄存器写回到所述专用寄存器;
其中,所述操作指令被配置为通过所述指令执行单元处理,并在所需时由控制单元调整指令流水线。
在本实施例中,SoC系统核心为一个微处理器,该处理器采用基于开放架构的RISC-V指令集,并被扩展以支持自定义指令,这些自定义指令专门用于优化分布式通用寄存器的操作。该处理器包含一组内部数据接口直接连接的分布式通用寄存器。这些寄存器设计为允许处理器在不经过总线接口的情况下直接进行数据访问,这一点不同于传统的通过APB总线访问寄存器的方式。
微处理器内还集成了多个功能单元,包括总线接口单元、取指单元、译码单元、控制单元、指令执行单元和存取单元。这些单元共同工作,实现了指令的高效执行和数据的高速存取。总线接口单元负责管理与外设控制器之间的总线协议和数据传输,但在本设计中,外设控制器的至少一部分寄存器被设计为可以通过直接数据通路与处理器的分布式通用寄存器进行数据交换。
至少一个外设控制器包含有针对特定外设功能的第二组分布式通用寄存器,如UART接口、SPI接口和I2C接口。这些寄存器通过数据通路直接与处理器的分布式通用寄存器连接,实现快速数据交换。此外,外设控制器还包括专用寄存器,用于存储外设操作状态,以及一个控制逻辑单元,用于解释处理器的命令并控制外设的操作。
在操作过程中,处理器通过执行加载指令,从外设控制器的专用寄存器中直接读取数据到内部通用寄存器。然后,在内部使用算术或逻辑指令处理这些数据。处理后的数据再通过存储指令从内部通用寄存器写回到外设控制器的专用寄存器中。这一过程通过指令执行单元处理,并在所需时由控制单元调整指令流水线,以优化执行过程和提高数据处理效率。
该设计通过在处理器与外设控制器之间建立直接数据通路,显著减少了数据传输的延迟,提升了系统的响应速度和处理效率。此外,由于减少了处理器执行指令的数量,也相应降低了能耗。这使得本发明的SoC系统设计非常适用于那些对性能、响应时间和能效有着严格要求的电子设备。
本领域技术人员应当理解,上面公开的各个实施例可以在不偏离发明实质的情况下做出各种变形和修改。因此,本发明的保护范围应当由所附的权利要求书来限定。
需要说明的是,上述各流程和各系统结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理实体实现,或者,有些单元可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
上面阐述的具体实施方式描述了示例性实施例,但并不表示可以实现的或者落入权利要求书的保护范围的所有实施例。在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。

Claims (7)

1.一种基于分布式通用寄存器的SoC系统设计,其特征在于,所述SoC系统包括:
一个处理器,所述处理器包含第一组分布式通用寄存器,用于执行包含算术和逻辑运算的指令;
至少一个外设控制器,所述至少一个外设控制器包含至少第二组分布式通用寄存器,并用于实现特定的外设功能;
一个总线接口,用于处理器与至少一个外设控制器之间的通信,并通过高级外设总线(APB)协议进行数据交换;
一个集成的内存单元,为静态随机存取存储器(SRAM);
与所述至少一个外设控制器相连接的至少一个外设;
其中,所述第一组分布式通用寄存器直接通过处理器的内部数据接口连接,并配置为允许所述处理器在不通过总线接口的情况下直接访问这些寄存器。
2.根据权利要求1所述的基于分布式通用寄存器的SoC系统设计,其特征在于:所述至少一个外设控制器的所述至少第二组分布式通用寄存器配置为通过一数据通路与处理器的分布式通用寄存器直接连接,并且所述数据通路配置为允许所述处理器直接在不同的寄存器间传输数据。
3.根据权利要求1所述的基于分布式通用寄存器的SoC系统设计,其特征在于,所述处理器进一步包含:
一个总线接口单元,用于管理总线协议和数据传输;
一个取指单元,用于从内存中获取指令;
一个译码单元,用于将取得的指令转换为执行信号;
一个控制单元,用于协调处理器的操作;
一个指令执行单元,用于执行操作指令;
一个存取单元,用于管理数据的读取和写入;
其中,所述分布式通用寄存器集成于指令流水线内,以减少访问延迟并提高处理效率。
4.根据权利要求1所述的基于分布式通用寄存器的SoC系统设计,其特征在于:所述至少一个外设控制器进一步包括:
与所述至少第二组分布式通用寄存器连接的专用寄存器,用于存储外设操作状态;
一个控制逻辑单元,用于解释处理器的命令并控制外设的操作;
其中,所述专用寄存器通过总线接口单元与处理器通信,而所述至少第二组分布式通用寄存器可通过直接数据通路接收处理器的直接访问。
5.根据权利要求1所述的基于分布式通用寄存器的SoC系统设计,其特征在于:所述处理器为基于开放架构RISC-V指令集的微处理器,其配置为支持自定义指令以优化分布式通用寄存器的操作。
6.根据权利要求1所述的基于分布式通用寄存器的SoC系统设计,其特征在于:所述至少一个外设控制器中的外设包括但不限于UART接口、SPI接口和I2C接口,以及与之相连的传感器、执行器或通信模块。
7.根据权利要求1所述的基于分布式通用寄存器的SoC系统设计,其特征在于:所述处理器访问所述至少一个外设控制器中的专用寄存器时,通过执行以下操作:
使用加载指令从所述专用寄存器中读取数据到处理器的内部通用寄存器;
对于需要操作的数据,使用算术或逻辑指令在处理器内部执行;
使用存储指令将处理后的数据从处理器的内部通用寄存器写回到所述专用寄存器;
其中,所述操作指令被配置为通过所述指令执行单元处理,并在所需时由控制单元调整指令流水线。
CN202311491345.7A 2023-11-10 2023-11-10 一种基于分布式通用寄存器的SoC系统设计 Pending CN117591468A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311491345.7A CN117591468A (zh) 2023-11-10 2023-11-10 一种基于分布式通用寄存器的SoC系统设计

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311491345.7A CN117591468A (zh) 2023-11-10 2023-11-10 一种基于分布式通用寄存器的SoC系统设计

Publications (1)

Publication Number Publication Date
CN117591468A true CN117591468A (zh) 2024-02-23

Family

ID=89910698

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311491345.7A Pending CN117591468A (zh) 2023-11-10 2023-11-10 一种基于分布式通用寄存器的SoC系统设计

Country Status (1)

Country Link
CN (1) CN117591468A (zh)

Similar Documents

Publication Publication Date Title
KR101354346B1 (ko) 내부 프로세서들을 구비한 메모리 및 메모리 액세스 제어 방법들
US6918012B2 (en) Streamlined cache coherency protocol system and method for a multiple processor single chip device
US7590774B2 (en) Method and system for efficient context swapping
US20120023281A1 (en) Single-chip microcomputer
JP5643903B2 (ja) 階層的キャッシュ設計におけるキャッシュ間の効率的通信のための方法および装置
US20080270707A1 (en) Data processor
KR20050085281A (ko) 마이크로프로세서 전력 소비를 제어하는 회로 장치,집적회로 및 프로그램 제품, 프로그램 코드 실행과 발생방법
JPH0969063A (ja) 低電力メモリシステム
CN113312303B (zh) 处理器微架构系统、SoC芯片及低功耗智能设备
CN103714026B (zh) 一种支持原址数据交换的存储器访问方法及装置
JPH076151A (ja) オンチップメモリデバイスのアクセスのために最適化されたcpuコアバス
US9594395B2 (en) Clock routing techniques
US20030023794A1 (en) Cache coherent split transaction memory bus architecture and protocol for a multi processor chip device
US10705993B2 (en) Programming and controlling compute units in an integrated circuit
US20080126600A1 (en) Direct memory access device and methods
CN116757132A (zh) 异构多核fpga电路架构、构建方法及数据传输方法
CN117591468A (zh) 一种基于分布式通用寄存器的SoC系统设计
US20050273542A1 (en) Configurable communication template for designing and implementing an accelerator
CN105988945A (zh) 一种异构多处理器系统及其驱动控制方法
CN105893036A (zh) 一种嵌入式系统的兼容式加速器扩展方法
CN115328832A (zh) 一种基于pcie dma的数据调度系统与方法
JP2568017B2 (ja) マイクロプロセッサ及びそれを使用したデータ処理システム
US20070234098A1 (en) Self-timed clock-controlled wait states
CN116186793B (zh) 一种基于risc-v的安全芯片架构及其工作方法
JPH11184752A (ja) データ処理装置及びデータ処理システム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination