# myCPU **Repository Path**: zhang-rongkai/my-cpu ## Basic Information - **Project Name**: myCPU - **Description**: 自制CPU,并已通过龙芯基础指令集验证 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 0 - **Created**: 2022-04-09 - **Last Updated**: 2025-06-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # myCPU ## 介绍 1.自制CPU,实现了标准的五级流水线 2. 自实现了乘法器,除法器 3. 自实现的 32 组,4 路 dcache.32 组 4 路 icache。 4. 通过了龙芯性能测试和记忆游戏以及功能测试 ## 架构 CPU 的设计遵循基本的五段流水,即取值(IF)、译码(ID)、执行(EX)、访存(MEM)和写 回(WB)。 ## Cahce设计 Cache 与 cpu 的接口为类 sram 接口,对外封装为 AXI 接口。 Icache,dcache 均为 32 组 4 路组相联,采用 LRU 替换策略,dcache 使用写回策略。组相连 Cache 使用 BRAM 模 拟 Cache line。 Cache 每一块大小为 16 字,每一字为 32 位。通过 cache 状态机,确定 cache 状态是否 命中,若 cache 未命中,则判断是否写回,通过 AXI 状态机控制 AXI 通道将 cache 中的 bram 中的一个字块进行写回,再通过 AXI 状态机读取对应的字块,存入 bram 中。再通过 bram 对数据进行读取或写入。 通过 cpu 给出的数据地址,判定是否需要通过 cache 或者 uncache ,Uncache 每次都使 用 AXI 通道读取或写入一个字节。 通过 AXI crossbar IP 核将 icache 、dcache、 ucache 接在一起,对外封装为一个 AXI 接口。 ## 参考文献 - “系统能力培养大赛” MIPS 指令系统规范 v1.01, 2018, 系统能力培养大赛. - AMBA® AXI Protocol v1.0 Specification. - 雷思磊, 自己动手写 CPU, 2014, 电子工业出版社. - 汪文祥,CPU 设计实战,2021,机械工业出版社