龙芯3A4000处理器解读①

news/2025/4/1 5:05:15/

龙芯3A4000处理器解读

关于3A4000的处理器结构简单做一下自己的相关分析,希望可能通过此次深入分析,更加了解处理器的结构.

文章目录

  • 龙芯3A4000处理器解读
    • 简介
    • 3号(3A)硬件结构

简介

龙芯3A4000是一款四核处理器,采用28nm工艺制造.
目前市场上基于3A4000的PC大多数工作频率在1.8G,笔记本因考虑功耗问题,工作频率在1.5G,支持动态调频调压.

下面简要介绍与梳理下3A4000处理器内部大体构造: 未打勾的尚未理解

  • 片内集成4个64位四发射超标量;GS464V(微结构)的处理器核;
  • 片内集成8MB的共享Cache,分成4个体模块,每个体模块2MB,具体什么结构,下面会有结构图梳理;
  • 通过目录协议维护多核及I/O DMA访问的Cache一致性;
  • 片内集成2个72位带ECC的DDR4控制器;
  • 片内集成2个16位的HyperTransport控制器 (简称HT);
  • 每个16位的HT端口拆分成两个8路的HT端口使用;
  • 片内集成2个I2C, 1个UART, 1个SPI, 16路GPIO接口.

本章重点介绍从硬件层次依照芯片架构分析多级互联以及分析端口访问.: 路漫漫其修远兮,吾将上下而求索!

3号(3A)硬件结构

在这里插入图片描述

上图为3A的结点内结构:

  • 在每个结点中, 最多 8*8 的X1交叉开关通过4个master端口连接4个Gs464V处理器核,通过4个slave端口连接统一编址的4个interleave共享Cache块(共8M),
  • X2交叉开关通过4个master端口连接4个共享Cache,至少一个slave端口连接一个内存控制器,至少一个slave端口连接Xconf(用于配置本结点的X1和X2的地址窗口),还可以根据需要连接更多的内存控制器和IO端口等.
  • 下面以3A4000芯片基于多级互联实现的真实结构为例进行 分析梳理:
    在这里插入图片描述

上图为龙芯3A4000芯片结构设计,基于3A硬件结构,我们对比设计需求:

  • 第一级互联采用55的交叉开关,master端除了连接4个Gs464V微结构的处理器核心作为主设备,从设备除了4个共享Cache模块外,还有一组主从端口用做了IO端口用来连接IO-RING.(一个master.一个slave). 我们上述说了3A使用了88的交叉开关,目前3A4000上X1使用了5*5,master端还有3个端口,是不是可以挂载4+3=7个处理器核心呢?如果给IO端口拿走,是不是可以采取8个处理器核心呢?
  • 第二级互联采用5*3的交叉开关,master端连接4个共享Cache模块,slave端目前有两个DDR3/4内存控制器,以及依旧和X1一样有一组IO端口连接IO-RING. IO: (Input and output).
  • 关于IO-RING呢,不是很了解,但是我猜测应该是像SIO那样的设备或控制器,可以扩展出一堆IO,并且RING环可以轮流处理吧,在此IO-RING的介绍是,包含8个端口,根据上图可以看出分别连接了4个HT控制器,MISC模块,SE模块与两级交叉开关,正好8个端口.
  • 对于龙芯平台,HT是极其重要的, IO-RING端口连接的HT控制器分别用作实现多路互联以及连接7A桥片的功能.: 4个HT控制器分成两组,每组控制器由lo/hi组成,hi/lo公用16位HT总线,所以可作为两个8位的HT总线使用,也可由lo独占16位HT总线. HT总线内集成一个DMA控制器,控制器负责IO的DMA控制器并负责片间一致性的维护.

根据上述结构及描述分析,假设想访问一个设备,你应该知道数据是怎么流通的了.
目前龙芯的7A1000桥片挂载在HT1(即IO-RING连接的第二组HT控制器)上,那么如果想访问7A桥片是如何发送请求的呢?
在这里插入图片描述

这里面掺杂着X1和X2的路由设置,因为你得知道master端口发送来的请求是送往那个slave端口的,所以需要配置窗口以便正确命中端口.

下一次分析: 有关窗口命中及从软件层次Core如何通过一个特定的地址访问到7A设备的某个控制器

更多资料请进入资源界面进行3A4000及7A1000手册下载.


http://www.ppmy.cn/news/866881.html

相关文章

龙芯源码编译mysql_使用源码包在龙芯2F上安装mysql

最近想在龙芯2F电脑上搭建一个网站,不过2F没有装mysql。没想到装这个mysql还挺费劲,光编译都有好多遍了。现在把过程记录,以后留着参考: 龙芯电脑不能使用mysql网站上rpm因为那是针对x86架构CPU的。没办法只有下一个源码包&#x…

统一操作系统 UOS 龙芯版上线

不久前我们报道过由包括中国电子集团(CEC)、武汉深之度科技有限公司、南京诚迈科技、中兴新支点在内的多家国内操作系统核心企业自愿发起“UOS(unity operating system)统一操作系统筹备组”,以共同打造“UOS 统一操作系统”。官方介绍称&…

体外诊断IVD原料上游原材料——博迈伦

体外诊断(IVD)指将人体的血液、体液等从人体内取出作为样本进行检测进而对疾病进行诊断,被称为“医生的眼睛”。作为临床诊疗中最主要的诊断方式,体外诊断为临床诊断提供了80%的信息,因此,IVD行业已经成为全…

龙芯CPU处理器和芯片资料介绍

龙芯是中国科学院计算所自主研发的通用CPU,采用RISC指令集,类似于MIPS指令集。龙芯1号的频率为266MHz,最早在2002年开始使用。龙芯2号的频率最高为1GHz。龙芯3A是首款国产商用4核处理器,其工作频率为900MHz-1GHz。龙芯3A的峰值计算…

龙芯3A4000 VNC配置

安装 yum install tigervnc-server -y 拷贝配置文件 cp /lib/systemd/system/vncserver\.service /lib/systemd/system/vncserver:1.service修改配置文件 vim /lib/systemd/system/vncserver:1.service替换< USER>为用户名 配置、启动vnc systemctl enable vncs…

龙芯CPU芯片架构分析

龙芯架构 龙芯指令集&#xff1a; CPU访存指令 24个 全部来自MIPS CPU算数指令&#xff08;ALU) 10个 全部来自MIPS CPU算数指令 14个 全部来自MIPS CPU乘除指令 12个 来自MIPS 12个 来自龙芯&#xff08;其中8个重复MIPS指令功能&#xff09; CPU跳转分支指令20个 全部来自MIP…

龙芯平台下的设备树

设备树 设备树 (Device Tree) ,起源于Arm嵌入式设备. 是一种描述硬件的数据结构. 在最初调试多U多串的龙芯定制化工控平台时,使用过这个接口. 在linux内核中也有对应的设备树的介绍,与BIOS下的描述一一对应. 内核下会优先使用从BIOS内获取的设备树资源,如若没有,将使用内核下默…

龙芯网站python答案_浏览器编译说明 - 龙芯开源社区

Chromium60编译说明 系统说明 Fedora21系统(Loongson发布的loongnix系统版本为主)—-推荐 Deepin系统 其它系统也可进行源码编译&#xff0c;依赖库有所区别&#xff0c;其它过程都是一样的 代码下载 环境配置 1)安装依赖库 Loongnix系统 yum install gcc-c alsa-lib-devel nin…