浅谈loongarch之IO寻址访问的变化
龙芯吧
全部回复
仅看楼主
level 10
这可能是loongarch相对mips最大的变化
设备通过各类总线要挂到CPU核上,总是要提供控制和数据端口进行交互
所以就存在怎么访问和控制这些端口的解决方案
Mips的方案基于一个线性的地址空间和一套访存指令
哪些是内存,哪些是IO端口,通过把这个统一的地址空间分段来解决
这样的好处如同Unix&Linux把所有设备都等同成文件一样
一套拳法对付各类对手,玄妙在于施展拳法的人
另外一种解决方案是用两套拳分别解决地址访问和端口访问
X86/64选的就是这第二套方案,端口I/O访问和内存访问互相隔离,谁也不搀合谁
通过通用寄存器进行数据交换即可
Loongarch 选的也是第二套方案,但和X86/64不同的是,它把协处理器cp0也当成外设
这么做在驱动这一块,基本上和Mips说拜拜了
这么做在驱动这块,貌似X86/64驱动的移植变简单了
也因为在指令集上专门设置了指令,那么在高速缓存的调度上
指令级别的地址访问和端口访问也就分开了,命中率猜测也该有所改善
更为重要的是,这对Loongarch的二进制兼容性,也是一种体系结构上的保障
中间转换加工的层数变少,效率自然有所提升
2021年06月10日 10点06分 1
level 13
这样有水平的帖子才能让人看起来比较装~笔一些[真棒]
我需要[滑稽]
2021年06月10日 10点06分 2
沉了?
2021年06月10日 11点06分
level 9

2021年06月10日 11点06分 3
level 1
x86早就mmio啦
现在啥设备还用in out,太古早了
2021年06月10日 11点06分 4
好熟悉的ID。
2021年06月13日 05点06分
level 8
虽然不懂,但是顶这样的技术贴!!
2021年06月10日 11点06分 5
level 11
火钳刘明
[滑稽]
2021年06月10日 12点06分 6
level 13
赞一个
2021年06月10日 12点06分 7
level 13
底层技术的研发,牛且赞
2021年06月10日 13点06分 8
level 13
龙芯吧需要这样的技术贴[真棒]
2021年06月10日 22点06分 9
level 12
不错 很不错
2021年06月11日 00点06分 10
level 13
学习!~帮顶!点赞[真棒][真棒][真棒]
2021年06月11日 00点06分 11
level 13
[太开心]
2021年06月13日 00点06分 12
level 14
学习了,虽然没看懂
2021年06月13日 00点06分 13
level 16
要的
2021年06月13日 02点06分 14
level 9
看不懂,来个懂行的评论评论?
2021年06月13日 02点06分 15
1 2 尾页