簡體   English   中英

RISC-V 是否具有與 MIPS 類似的系統調用服務集?

[英]Does RISC-V have equivalent set of syscall services like that of MIPS?

我知道開箱即用的 MIPS ISA 具有可用於打印字符、打開文件、從文件讀取、寫入文件等的系統調用指令
這使得無需操作系統即可輕松使用 MIPS。

問題是,RISC-V ISA 是否有與上述等效的服務?
換句話說,RISC-V 是否提供了與上述開箱即用的等效服務集?
是否絕對需要在 RISC-V 上手動實現這些系統調用服務,或者它是否像在 MIPS 上一樣提供?
例如
在 MIPS 上,我可以使用系統調用指令輕松地打印一個字符——除了將適當的值傳遞到適當的寄存器之外,我不需要實現任何東西來實現這一點。 這可以在 RISC-V 上輕松完成嗎?

我希望我的問題很清楚。 如果需要任何說明,請告訴我。 非常感謝您的幫助。
不適用
我知道 RISC-V 有一個 ecall 指令,但它只能讓你使用手動實現的系統調用功能。

更新根據評論,我現在了解到 syscall 和 ecall 分別是 MIPS 和 RISCV 提供的指令。 ISA 沒有指定在這些調用之外應該發生什么。 換句話說,這些調用之后提供的功能由操作環境決定。

是的,在 RISC V 的 MARS 模擬器版本中,稱為RARS

RARS 中的這些ecall與 MARS 中的相同,但添加了一些新的。

RARS 使用a7來選擇索書號,而 MARS 使用$v0

我們還要注意,對於 MARS 和 RARS,系統調用都是不完整的並且不是正交的。 例如,您可以將 integer 打印到控制台而不是文件。

盡管如此,這組系統調用允許比 linux 更簡單的程序,因為在 linux 上我們真正擁有的只是字符 I/O; 因此,即使向控制台打印 integer 也需要用戶程序中的itoa功能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM