- 主题:risc-v指令集没有cache指令和TLB格式?
linux也有。商业实现如果都自己搞,那体系架构就分叉了,生态没了RISCV还有多大意义
https://elixir.bootlin.com/linux/v5.4/source/arch/x86/include/asm/special_insns.h#L200
【 在 dighole 的大作中提到: 】
: linux不需要cache指令吧
: 不过一般商业实现都会自己定义cache指令
--
FROM 112.64.60.*
SSE不是MMX的后续吗,计算密集型的指令出来后才cache有关系的指令? X86真不熟,处理DMA的buffer也需要和cache打交道啊,这个计算机的远古时期就有了。你知道的话可以直接帮忙解释一下,何必来回绕圈子
【 在 BigCarrot 的大作中提到: 】
: 那你想想sse2之前的x86上操作系统怎么搞
:
--
FROM 112.64.60.*
没有绕圈子阿
clflush就是sse2的指令
在这之前x86上有cache,有dma, 有os
【 在 teleheart 的大作中提到: 】
: SSE不是MMX的后续吗,计算密集型的指令出来后才cache有关系的指令? X86真不熟,处理DMA的buffer也需要和cache打交道啊,这个计算机的远古时期就有了。你知道的话可以直接帮忙解释一下,何必来回绕圈子
--
FROM 104.133.8.*
https://github.com/riscv/riscv-CMOshttps://patchwork.kernel.org/project/linux-riscv/patch/20220307224620.1933061-2-heiko@sntech.de/
【 在 Xaoyao 的大作中提到: 】
: 谁能给一下linux riscv分支里面的cache invalid代码?-&nb ...
--
FROM 13.125.94.*
那请教一下之前在x86上的DMA buffer怎么访问的,是不能cache的访问方式吗?如果可以cache,那cpu写完以后怎么刷出去
还有CPU休眠断电前怎么把cache里的数据刷到内存里,方便后面恢复运行
【 在 BigCarrot 的大作中提到: 】
: 没有绕圈子阿
: clflush就是sse2的指令
: 在这之前x86上有cache,有dma, 有os
: ...................
--
FROM 112.64.60.*
那以后的软件怎么搞,每家的CPU都出单独的发行版?
即使是MCU的话也退回到MSP和ESP32这种小众里了,达到STM32的水平就根本不用想
【 在 fastwind0 的大作中提到: 】
: 现实就是分叉的啊,各家RV厂商都有自己的编译器,在主分支上修修改改
:
--
修改:teleheart FROM 112.64.60.*
FROM 112.64.60.*
这些我真的不懂,我没有设计过cpu,也没有做过os,xaoyao大概知道
DMA buffer我猜大概是需要在页表里设置为不可cache, os需要把用户数据从用户内存拷贝到DMA buffer中
【 在 teleheart 的大作中提到: 】
: 那请教一下之前在x86上的DMA buffer怎么访问的,是不能cache的访问方式吗?如果可以cache,那cpu写完以后怎么刷出去
: 还有CPU休眠断电前怎么把cache里的数据刷到内存里,方便后面恢复运行
--
FROM 104.133.8.*