《计算机系统:系统架构与操作系统的高度集成》——2.3 常见的高级语言功能集

简介:

本节书摘来自华章计算机《计算机系统:系统架构与操作系统的高度集成》一书中的第2章,第2.3节,作者:(美)拉姆阿堪德兰(Ramachandran, U.)(美)莱希(Leahy, W. D.)著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.3 常见的高级语言功能集

考虑如下功能集:
1)表达式和赋值语句 编译这样的结构揭示了许多指令集体系结构(Instruction-Set Architecture,ISA)中的细微之处,从算术/逻辑操作的种类到一个指令中操作数占的大小和位置。
2)高级数据抽象 编译一个简单变量的聚合(在高级语言中常称为结构(structure)或记录(record))揭示出更多ISA需要的细节。
3)条件语句和循环 编译这些结构使得程序的顺序执行发生变化,并且需要ISA有额外的机制。
4)过程调用 过程让我们能够开发模块化且便于维护的代码。过程调用和返回的编译给指令集的设计带来了新的挑战,包括记录程序执行过程前后的状态、给过程传递参数、接收过程的返回值。
在2.4~2.8节,我们将从有效编译这些功能的角度依次考虑每个功能并开发出ISA所需的机制。在2.10节,我们通过展示LC-2200 ISA来总结前面的讨论。LC-2200 ISA是一个简单的指令集,将作为后面探索处理器实现细节的基础。

相关文章
|
3月前
|
存储 Go
Go 浅析主流日志库:从设计层学习如何集成日志轮转与切割功能
本文将探讨几个热门的 go 日志库如 logrus、zap 和官网的 slog,我将分析这些库的的关键设计元素,探讨它们是如何支持日志轮转与切割功能的配置。
103 0
Go 浅析主流日志库:从设计层学习如何集成日志轮转与切割功能
|
5月前
|
存储 缓存 Shell
【深入理解操作系统】第一章:计算机系统漫游 | A tour of Computer Systems | 阅读笔记
【深入理解操作系统】第一章:计算机系统漫游 | A tour of Computer Systems | 阅读笔记
63 0
|
6月前
|
存储 Go 数据处理
Go 语言整洁架构实践
Go 语言整洁架构实践
53 0
|
6月前
|
存储 前端开发 JavaScript
潮玩宇宙大逃杀无聊猿卷轴模式系统开发详细规则丨步骤需求丨方案项目丨技术架构丨源码功能
确定游戏类型和规则:明确无聊猿卷轴模式游戏类型和游戏规则,包括敌人类型、地图设计、任务类型、战斗机制等。
|
28天前
|
NoSQL Java Redis
【分布式技术专题】「分布式技术架构」手把手教你如何开发一个属于自己的分布式锁的功能组件(二)
【分布式技术专题】「分布式技术架构」手把手教你如何开发一个属于自己的分布式锁的功能组件
15 0
|
23天前
|
存储 安全 数据处理
【计算机系统组成原理】操作系统处理器深入介绍
【计算机系统组成原理】操作系统处理器深入介绍
|
1月前
|
程序员 Linux 调度
《操作系统》——计算机系统概述
《操作系统》——计算机系统概述
|
1月前
|
SQL 存储 数据管理
数据库系统架构与DBMS功能探微:现代信息时代数据管理的关键
数据库系统架构与DBMS功能探微:现代信息时代数据管理的关键
36 1
|
2月前
|
消息中间件 架构师 NoSQL
以架构师的视角,深入剖析如何设计订单超时自动取消的功能
我们在美团 APP 下单,假如没有立即支付,进入订单详情会显示倒计时,如果超过支付时间,订单就会被自动取消。 这篇文章,笔者想以架构师的视角,深入剖析如何设计订单超时自动取消的功能。
以架构师的视角,深入剖析如何设计订单超时自动取消的功能
|
2月前
|
Go API 开发者
探索Go语言在微服务架构中的应用
本文旨在探讨Go语言(又称Golang)在构建高性能、可扩展微服务架构中的关键作用与优势。不同于传统摘要的概述方式,我们将通过一个实际案例,揭示Go语言如何解决微服务中的并发处理和网络通信问题,以及它在微服务生态系统中的位置。通过对比其他语言,本文强调Go语言的简洁语法、出色的并发支持和高效的性能表现,为开发者提供了一种有效的工具,以应对当今微服务架构的复杂需求。