在乱序执行的结构中, 虽然指令执行是乱序的, 但开始和结束是有序的。 指令在译码和寄存器重命名后就放在一个有序的队列中, 由该队列来记录每一条指令的执行阶段并有序地结束指令。 即指令在流水线中是有序进入、乱序执行、有序结束。
龙芯2号的主要结构特点包括, 64位设计, 7-10级流水线, 包括取指、译码、重命名、发射、读寄存器、执行写回、提交等, 其中乘除、浮点操作、以及访存操作在执行写回阶段需要多拍。 四发射结构, 最多可以有64条指令乱序执行。 共有5个功能部件, 包括定点ALU1 (完成定点加减、逻辑、移位、转移) , 定点ALU2 (完成定点加减、逻辑、移位、乘除) , 浮点ALU1 (完成定点加减、转换、转移) , 浮点ALU2 (完成乘除、开方) , 以及访存部件 (完成访存、系统管理、数据传送) 。 通过对浮点指令fmt域的简单扩充, 浮点部件可以执行完整的定点指令以及4路SIMD的媒体指令。 在乱序执行方面, 转移猜测使用混合预测+Gshare + BTB + RAS的转移猜测方式; 通过物理寄存器到逻辑寄存器映射进行寄存器重命名, 定点浮点寄存器堆各为64项; 动态调度方面定点和浮点保留站各16项, Reorder Buffer为64项。
在存储管理方面, TLB为64项全相联, 每项两页, 页大小在 4KB-4MB之间可变。 此外, 有一个独立的8项的指令TLB是数据TLB的子集。 与龙芯1号一样, 在TLB中增加可执行位, 防止缓冲区溢出攻击。 数据 CACHE和指令CACHE各为32KB, 二路组相联。 最多允许32个访存操作的Non-blocking访问, 访存相关在访存队列中通过全相联的查找解决, 避免了象Alpha21264或MIPS R10000中碰到访存相关时需要重新发射。 实现load-speculation, 允许前面的store 操作未确定的情况下执行load操作并返回结果。 Cache失效时实现关键字优先访问, 以减少访存等待, Uncached操作实现 uncached accelerate算法加速I/O访问。