重点标注
1. 四发射的超标量结构使得指令流水线中指令和数据相关问题十分突出,GS464 采用
乱序执行技术和
激进的存储系统设计来提高流水线的效率。
1.1 乱序执行技术包括寄存器重命名技术、动态调度技术和转移预测技术。
1.2 GS464 先进的存储系统设计可以有效地提高流水线的效率。 GS464 的一级 Cache 由 64KB的指令 Cache 和 64KB 的数据 Cache 组成,均采用四路组相联的结构。
增加的解释:
TLB(Translation Lookaside Buffer)翻译后备缓冲器是一个内存管理单元用于改进虚拟地址到物理地址转换速度的缓存。
TLB是一个小的,虚拟寻址的缓存,其中每一行都保存着一个由单个PTE组成的块。如果没有TLB,则每次取数据都需要两次访问内存,即查页表获得物理地址和取数据。
2.GS464 的基本流水线包括取指、预译码、译码、寄存器重命名、调度、发射、读寄存器、执行、提交等9级
2.1 取指流水级用程序计数器 PC (program counter)的值去访问指令 Cache 和指令 TLB,如果指令 Cache和指令 TLB 都命中,则把四条新的指令取到指令寄存器 IR。
指令计算器IR (Instruction register)指令计算iq至寄存器是临时放置从内存里面取得的程序指令的寄存器。
2.2 预译码流水级主要对转移指令进行译码并预测跳转的方向。
2.3 译码流水级把IR中的四条指令转换成GS464的内部指令格式送往寄存器重命名模块。
单节点 4 核的处理器
但节点:每个交叉开关连接四个处理器核 以及四个二级 Cache,并与东(E)南(N)西(W)北(N)四个方向的其他结点互连。
龙芯处理器主要包括三个系列。龙芯1号处理器及其 IP系列主要面向嵌入式应用,龙
芯 2 号超标量处理器及其IP系列主要面向桌面应用,龙芯 3 号多核处理器系列主要面向服
务器和高性能机应用。根据应用的需要,其中部分龙芯 2 号也可以面向部分高端嵌入式应
用,部分低端龙芯 3 号也可以面向部分桌面应用。
单个芯片上集成多个高 性能处理器核以及大量的 2 级 Cache,还通过高速 I/O 接口实现多芯片的互连以组成更大规 模的系统。每个交叉开关连接四个处理器核 以及四个二级 Cache,并与东(E)南(N)西(W)北(N)四个方向的其他结点互连。因此,
2*2 的 mesh 可以连接 16 个处理核,4*4 的 mesh 可以连接 64 个处理器核。每个结点有两级 AXI 交叉开关连接处理器、二级 Cache、内存控制器以及 IO 控制器。其中第一级 AXI 交叉开关(称为 X1
Switch,简称 X1) 连接处理器和二级 Cache。第二级交叉开关(称为 X2
Switch,简称 X2)连接二级 Cache 和 内存控制器。
在每个结点中,最多 8*8 的 X1 交叉开关通过四个 Master 端口连接四个 GS464 处理器核(图中 P0、P1、P2、P3),通过四个 Slave 端口连接统一编址的四个 interleave 二级 Cache 块(图中 S0、S1、S2、S3),通过四对 Master/Slave 端口连接东、南、西、北四个方向的 其他结点或 IO 结点(图中 EM/ES、SM/SS、WM/WS、NM/NS)。
X2 交叉开关通过四个 Master 端口连接四个二级 Cache,至少一个 Slave 端口连接一个 内存控制器,至少一个 Slave 端口连接一个交叉开关的配置模块(Xconf)用于配置本结点 的 X1 和 X2 的地址窗口等。还可以根据需要连接更多的内存控制器和 IO 端口等。
内核编绎
从 debian.printk.org 网站下载内核源代码包 loongson-linux-2.6.27.tgz 和交叉工具链包gcc-4.4-20081128.tgz。交叉编译工具链,需要安装在 X86 Linux 主机上。假设上边的下载目录为(LINUX) tar -zxvf (LINUX)/ gcc-4.4-20081128.tgz -C /opt //解压 linux 的编译工具链
export PATH=/opt/install/bin:$PATH
//设置环境变量
按照上面步骤建立好交叉编译环境后,可以编译简单的 helloworld.c 测试一下:
# mipsel-linux-gcc –o helloworld helloworld.c
首先解压刚下载的内核
tar –zxvf linux-loongson3.tgz
cd linux-loongson3
将默认配置文件拷贝成.config
cp arch/mips/configs/loongson3a_rs780e_defconfig .config
make menuconfig 后保存退出
make
如果想使用和当前内核一样的系统配置可以在龙芯运行后,运行
zcat /proc/config.gz > .config
来得到.config 文件用来作为默认配置文件
阅读(1578) | 评论(0) | 转发(0) |