计算机系统之核心概念及软硬件实现

2.1 变量

层级名称
7应用层(App)
6高级语言层(HOL)
5汇编层(Asmb)
4操作系统层(OS)
3指令集架构层(ISA)
2微代码层(Mc)
1逻辑门层(LG)

典型计算机系统的层次结构

HOL6 层的语句必须先被翻译到ISA3 层,然后计算机才能直接执行。有些编译器是从第 6 层翻译到第 5 层,然后再要求从第 5 层翻译到第 3 层。

2.1.3 C 的内存模型

C 编程语言有 3 种不同类型的变量:全局变量、局部变量和动态分配变量。分别对应存储器中 3 个特定的区域:

  • 全局变量存放在内存中的固定位置
  • 局部变量和参数存放在运行时栈上
  • 动态分配变量存放在堆上

2.3 函数

当一个函数被调用时,运行时栈上分配了 4 项:

  • 返回值
  • 参数
  • 返回地址
  • 局部变量

当执行一个函数时,按照如下顺序堆运行时栈的空间进行分配:

  • 压入返回值的存储空间
  • 压入实参
  • 压入返回地址
  • 压入局部变量的存储空间

当函数结束时,按照相反的顺序释放运行时栈的存储空间:

  • 弹出局部变量
  • 弹出返回地址,根据返回地址确定要执行的下一条语句
  • 弹出参数
  • 弹出返回值,按照调用语句指定方式进行使用

本文为原创文章,欢迎分享,勿全文转载,如果内容你实在喜欢,可以加入收藏夹,说不定哪天故事又继续更新了呢。
本文地址:https://qoogle.top/chapter-two-of-computer-system-core-concepts-and-software-and-hardware-implementation/
最后修改日期:2020年2月1日

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。