# 前言 OpenLA500(齐物)是一款实现了`龙芯架构32位精简版指令集(LoongArch32 Reduced)`的处理器核。OpenLA500的架构为经典的单发射静态五级流水,配备两路组相连的指令/数据Cache,32项全相连的tlb实现虚实地址映射,以及BTB及RAS实现分支预测。基本按照国科大体系结构实验课程逐步设计得到。FPGA运行频率为50M。 OpenLA500经过全面验证,已处于稳定状态。并于2023年龙芯全流程平台项目中,在SMIC 180um工艺下流片。 以下将从8个方面介绍OpenLA500的设计细节。 - [设计概述](./设计概述.md):基于顶层框图,介绍各级流水的划分和各级流水之间的交互,以及流水线与其他模块的交互。 - [分支预测](./分支预测.md):BTB及RAS两个分支预测器的具体设计,以及在流水线中的工作原理。 - [流水线的发射部分]():流水线发射阶段(译码级)操作数准备、前递网络、阻塞控制的设计。 - [流水线的执行部分]():alu、mul、div运算部件在流水线中的实现。 - [MMU]():虚实地址映射逻辑,tlb维护。 - [例外实现]():流水线中例外的判断及处理。 - [访存子系统]():指令/数据Cache及AXI总线接口的实现。 - [调试部分]():UART在线调试系统与OpenLA500的交互逻辑。