- 主题:risc-v指令集没有cache指令和TLB格式?
去代码里查了一下,X86也有cache指令啊。实在想不出没有cache指令的话操作系统怎么搞
https://www.felixcloutier.com/x86/clflush
https://elixir.bootlin.com/linux/v5.4/source/arch/x86/include/asm/special_insns.h#L200
【 在 BigCarrot 的大作中提到: 】
: 见x86
:
--
FROM 112.64.60.*
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.*
那请教一下之前在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.*
RISCV不是还要做服务器吗?
【 在 fastwind0 的大作中提到: 】
: 没关系的,RISCV本来就是DSA优势领域,不需要多统一多通用。如果这方面去跟ARM比,就是以己之短攻敌之长了。
:
--
FROM 112.64.60.*
ARM已经开始切蛋糕了,这个路很长,但没有统一的指令集肯定没法走这条路。
不知道RISCV做服务器里面DSA部分的优势在哪里。我理解RISCV的优势是可以随便改还不用买架构授权所以门槛低,但都做服务器芯片了,必然已经过了很高的门槛,不差这点小门槛。
【 在 fastwind0 的大作中提到: 】
: 不看好做成intel那样的通用服务器,ARM都还没成呢。但RISCV做服务器里面DSA部分还是有优势的。
:
--
FROM 112.64.60.*