体验开源香山高性能开源 RISC-V 处理器

整体架构设计

香山处理器是乱序六发射结构设计,目前支持 RV64GCBK 扩展。香山处理器前端流水线包括分支预测单元、取指单元、指令缓冲等单元,顺序取指。后端包括译码、重命名、重定序缓冲、保留站、整型/浮点寄存器堆、整型/浮点运算单元。

doc

https://xiangshan-doc.readthedocs.io/zh-cn/latest/
香山的官方文档仓库,包括香山项目的整体介绍、代码仓库概览、集成指南、上手教程、处理器核介绍、开发工具链介绍等内容

demo

仿真程序运行日志

Using simulated 32768B flash
isWriteICacheTable0 = 0
isWriteFetchToIBufferTable0 = 0
isWriteIfuWbToFtqTable0 = 0
isWritePrefetchPtrTable0 = 0
isWriteFTQTable0 = 0
isWriteBankConflictTable0 = 0
depth0 = 32
enableDynamicPrefetcher0 = 1
StoreWaitThreshold_0 = 0
nMaxPrefetchEntry0 = 14
isWriteL1MissQMissTable0 = 0
isWriteLoadMissTable0 = 0
isFirstHitWrite0 = 0
isWriteLoadAccessTable0 = 0
isWriteL2TlbPrefetchTable0 = 0
isWriteL1TlbTable0 = 0
isWritePageCacheTable0 = 0
isWritePTWTable0 = 0
isWriteL2TlbMissQueueTable0 = 0
ColdDownThreshold_0 = 12
ForceWriteUpper_0 = 60
ForceWriteLower_0 = 55
StoreBufferThreshold_0 = 7
StoreBufferBase_0 = 4
CorrectMissTrain0 = 0
isWriteInstInfoTable0 = 0
Using simulated 8192MB RAM
The image is /opt/sdb/xiangshan/xs-env/XiangShan/ready-to-run/linux.bin
The reference model is /opt/sdb/xiangshan/xs-env/NEMU/build/riscv64-nemu-interpreter-so
The first instruction of core 0 has commited. Difftest enabled. 
bbl loader
freq-mhz = 500
CLINT: set frequency to 500 MHz
              vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
                  vvvvvvvvvvvvvvvvvvvvvvvvvvvv
rrrrrrrrrrrrr       vvvvvvvvvvvvvvvvvvvvvvvvvv
rrrrrrrrrrrrrrrr      vvvvvvvvvvvvvvvvvvvvvvvv
rrrrrrrrrrrrrrrrrr    vvvvvvvvvvvvvvvvvvvvvvvv
rrrrrrrrrrrrrrrrrr    vvvvvvvvvvvvvvvvvvvvvvvv
rrrrrrrrrrrrrrrrrr    vvvvvvvvvvvvvvvvvvvvvvvv
rrrrrrrrrrrrrrrr      vvvvvvvvvvvvvvvvvvvvvv  
rrrrrrrrrrrrr       vvvvvvvvvvvvvvvvvvvvvv    
rr                vvvvvvvvvvvvvvvvvvvvvv      
rr            vvvvvvvvvvvvvvvvvvvvvvvv      rr
rrrr      vvvvvvvvvvvvvvvvvvvvvvvvvv      rrrr
rrrrrr      vvvvvvvvvvvvvvvvvvvvvv      rrrrrr
rrrrrrrr      vvvvvvvvvvvvvvvvvv      rrrrrrrr
rrrrrrrrrr      vvvvvvvvvvvvvv      rrrrrrrrrr
rrrrrrrrrrrr      vvvvvvvvvv      rrrrrrrrrrrr
rrrrrrrrrrrrrr      vvvvvv      rrrrrrrrrrrrrr
rrrrrrrrrrrrrrrr      vv      rrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrr          rrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrr      rrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrr  rrrrrrrrrrrrrrrrrrrrrr

       INSTRUCTION SETS WANT TO BE FREE
[    0.000000] OF: fdt: Ignoring memory range 0x80000000 - 0x80200000
[    0.000000] Linux version 4.18.0-00046-g2ba394515c09-dirty (wkf@xiangshan-05) (gcc version 9.2.0 (GCC)) #113 Thu Feb 4 21:45:54 CST 2021
[    0.000000] bootconsole [early0] enabled
[    0.000000] Initial ramdisk at: 0x(____ptrval____) (23552 bytes)
[    0.000000] Zone ranges:
[    0.000000]   DMA32    empty
[    0.000000]   Normal   [mem 0x0000000080200000-0x0000000081ffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000080200000-0x0000000081ffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000080200000-0x0000000081ffffff]
[    0.000000] Cannot allocate SWIOTLB buffer
[    0.000000] elf_hwcap is 0x112d
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 7575
[    0.000000] Kernel command line: root=/dev/mmcblk0 rootfstype=ext4 ro rootwait earlycon
[    0.000000] Dentry cache hash table entries: 4096 (order: 3, 32768 bytes)
[    0.000000] Inode-cache hash table entries: 2048 (order: 2, 16384 bytes)
[    0.000000] Sorting __ex_table...
[    0.000000] Memory: 29140K/30720K available (666K kernel code, 80K rwdata, 102K rodata, 88K init, 98K bss, 1580K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS: 0, nr_irqs: 0, preallocated irqs: 0
[    0.000000] clocksource: riscv_clocksource: mask: 0xffffffffffffffff max_cycles: 0x1d854df40, max_idle_ns: 3526361616960 ns
[    0.000000] console [hvc0] enabled
[    0.000000] console [hvc0] enabled
[    0.000000] bootconsole [early0] disabled
[    0.000000] bootconsole [early0] disabled
[    0.000000] Calibrating delay loop (skipped), value calculated using timer frequency.. 2.00 BogoMIPS (lpj=10000)
[    0.000000] pid_max: default: 4096 minimum: 301
[    0.000000] Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
[    0.000000] Mountpoint-cache hash table entries: 512 (order: 0, 4096 bytes)
[    0.000000] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.010000] clocksource: Switched to clocksource riscv_clocksource
[    0.010000] Unpacking initramfs...
[    0.020000] workingset: timestamp_bits=62 max_order=13 bucket_order=0
[    0.020000] random: get_random_bytes called from 0xffffffff8001998a with crng_init=0
[    0.020000] Freeing unused kernel memory: 88K
[    0.020000] This architecture does not have kernel memory protection.
now = 2244s
Hello, RISC-V World!
Core 0: HIT GOOD TRAP at pc = 0x100cc
  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 香山开源高性能risc-v处理器设计与实现 pdf 是一份介绍risc-v处理器的设计和实现的文档。risc-v是一种基于精简指令集的处理器架构,因其简洁、开放、可定制的特点,受到了广泛关注。 该文档详细介绍了如何在FPGA(现场可编程门阵列)上实现risc-v处理器。作者分享了开发该处理器的具体步骤、设计方案、软件支持等方面的知识。并且,该处理器的性能也在文档中详细评估。 该处理器在性能、功耗等方面有着不俗表现。其主频可以达到400MHz以上,实现了乘-累加指令,并且具有64位寄存器和32个寄存器,支持RV64I标准指令集,内存延迟很低,具有较好的实时性能。 总之,香山开源高性能risc-v处理器设计与实现 pdf是一份非常值得阅读的文档,其中对risc-v处理器的设计和实现有着详细的介绍,可以帮助人们了解risc-v处理器的优势和不足,为相关领域的开发提供指导。 ### 回答2: 《香山开源高性能risc-v处理器设计与实现》是一本介绍如何设计和实现RISC-V处理器的书籍,也是一本介绍RISC-V处理器架构的入门读物。该书深入浅出地介绍了RISC-V架构和处理器设计的基本知识,并通过实例详细地述说了如何基于该架构,设计和实现一个高性能RISC-V处理器。 该书的作者陈海波教授是一位专业的计算机架构工程师,他在书中将自己多年来的实践经验与理论知识完美结合,将复杂的概念以通俗易懂的方式呈现给读者。全书以RISC-V指令集架构、CPU内部运行机制、核心子系统设计等方面为主线,详细地介绍了处理器的设计流程和实现细节。最后以在FPGA上的逻辑仿真和运行测试为实例,让读者真正了解该处理器的可靠性和高性能。 通过学习《香山开源高性能risc-v处理器设计与实现》这本书,读者可以深入学习RISC-V处理器架构以及处理器设计方面的知识。不仅可以对计算机组成原理和计算机系统结构有更深入的理解,还可以掌握实际的设计和开发技巧。对于从事处理器设计、嵌入式系统设计等领域的专业人员,是一本不可多得的参考书籍。 ### 回答3: 《香山开源高性能risc-v处理器设计与实现》是一本介绍RISC-V处理器架构的书籍,该处理器架构是一个基于精简指令集(RISC)的开源处理器架构。本书主要介绍了香山开源处理器的设计与实现,是一本深入学习RISC-V架构的重要参考书。 该书共分为八章,首先介绍了处理器的基本概念和RISC-V处理器架构的特点。接着深入分析了RISC-V处理器的指令集和管道,讲解了指令集概述、流水线架构、指令编码等内容。紧接着,本书介绍了一款基于RISC-V架构的香山开源处理器,详细介绍了处理器的数据通路、控制单元、存储结构等模块的实现原理。 在完成处理器架构描述之后,本书详细介绍了基于Vivado实现的处理器的设计和仿真调试的方法。通过实际例子的讲解,读者可以深入了解如何通过Vivado进行处理器设计和仿真调试。 该书最后介绍了一些关于RISC-V处理器架构的扩展和应用的内容,如在处理器架构扩展方面的内容,以及如何在RISC-V处理器架构上实现操作系统和应用程序的开发。 总之,《香山开源高性能risc-v处理器设计与实现》是一本详细介绍RISC-V处理器架构和实现方法的书籍,对于学习处理器架构和实现的读者是一本不可多得的参考书。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值