8.1 内存和寄存器的分配电子课件 计算机系统基础:C语言视角(RISC-V版).ppt
《8.1 内存和寄存器的分配电子课件 计算机系统基础:C语言视角(RISC-V版).ppt》由会员分享,可在线阅读,更多相关《8.1 内存和寄存器的分配电子课件 计算机系统基础:C语言视角(RISC-V版).ppt(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、8.1 内存和寄存器的分配电子课件 计算机系统基础:C语言视角(RISC-V版)内存和寄存器的分配内存和寄存器的分配函数的底层实现函数的底层实现在在C C语言中,子程序被称为函数语言中,子程序被称为函数C C程序本质上是函数的集合程序本质上是函数的集合把把C C程序翻译到程序翻译到RISC-VRISC-V机器上,需要理解机器上,需要理解C C函数函数的翻译过程的翻译过程ABIABI操作系统为运行在该系统下的应用程序提供了操作系统为运行在该系统下的应用程序提供了应用程序二进制接口(应用程序二进制接口(Application Binary Application Binary InterfaceI
2、nterface,ABIABI)ABIABI包含了应用程序在这个系统下运行时必须包含了应用程序在这个系统下运行时必须遵守的编程约定遵守的编程约定包括系统调用的规定,以及关于程序可以使用的包括系统调用的规定,以及关于程序可以使用的内存和寄存器的规定内存和寄存器的规定Linux ABILinux ABIC C程序,编译到程序,编译到RISC-VRISC-V计算机时,必须遵守操计算机时,必须遵守操作系统作系统ABIABI规定规定GNUGNU为为RISC-VRISC-V计算机定义了计算机定义了LinuxLinux操作系统操作系统下的下的ABIABIRV32IRV32I内存分配内存分配内存分配内存分配代
3、码区:程序,程序计数器代码区:程序,程序计数器PCPC为为C C的变量分配存储空间:静态数据区和运行的变量分配存储空间:静态数据区和运行时栈时栈静态数据区:静态存储类变量,寄存器静态数据区:静态存储类变量,寄存器x3x3运行时栈运行时栈:局部变量局部变量,x2x2指向栈顶指向栈顶堆:动态分配数据堆:动态分配数据系统空间:操作系统,如自陷处理例程,自陷系统空间:操作系统,如自陷处理例程,自陷向量表,向量表,I/OI/O设备寄存器的内存映射地址等。设备寄存器的内存映射地址等。寄存器分配寄存器分配寄存器的访问比存储器快得多寄存器的访问比存储器快得多RISC-VRISC-V算术算术/逻辑逻辑运算指令运
4、算指令,对寄存器进行运算对寄存器进行运算应尽量多的使用寄存器应尽量多的使用寄存器RV32IRV32I寄存器分配寄存器分配寄存器寄存器用途用途ABI助记符助记符保存保存/恢复恢复x00zero无无x1返回地址返回地址ra(Return Address)x2栈指针栈指针sp(Stack Pointer)callee-savex3全局指针全局指针gp(Global Pointer)无无x4线程指针线程指针tp(Thread Pointer)无无x5x7临时值临时值t0t2(Temporary)x8保存寄存器保存寄存器/帧指针帧指针s0/fp(Frame Pointer)callee-savex9保存
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 8.1 内存和寄存器的分配电子课件 计算机系统基础:C语言视角RISC-V版 内存 寄存器 分配 电子 课件 计算机系统 基础 语言 视角 RISC
限制150内