计算机基础实战课
彭东
网名 LMOS,Intel 傲腾项目关键开发者
4003 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
推荐试读
换一换
01|CISC & RISC:从何而来,何至于此
时长 17:28
05|指令架构:RISC-V在CPU设计上到底有哪些优势?
时长 17:21
06|手写CPU(一):迷你CPU架构设计与取指令实现
时长 14:33
课程目录
已更新 15 讲/共 46 讲
开篇词 (1讲)
开篇词|练好基本功,优秀工程师成长第一步
时长 12:22
以史为鉴 (2讲)
01|CISC & RISC:从何而来,何至于此
时长 17:28
02|RISC特性与发展:RISC-V凭什么成为“半导体行业的Linux”?
时长 14:26
硬件-芯片(手写MiniCPU) (9讲)
03|硬件语言筑基(一):从硬件语言开启手写CPU之旅
时长 15:21
04|硬件语言筑基(二): 代码是怎么生成具体电路的?
时长 11:13
05|指令架构:RISC-V到底在CPU设计上有哪些优势?
时长 17:21
06|手写CPU(一):迷你CPU架构设计与取指令实现
时长 14:33
07|手写CPU(二):如何实现指令译码模块?
时长 09:49
08|手写CPU(三):如何实现指令执行模块?
时长 13:26
09|手写CPU(四):如何实现CPU流水线的访存阶段?
时长 11:14
10|手写CPU(五):CPU流水线的写回模块如何实现?
时长 10:15
11|手写CPU(六):如何让我们的CPU跑起来?
时长 13:13
环境准备 (2讲)
12|QEMU:支持RISC-V的QEMU如何构建?
时长 12:19
13|小试牛刀:跑通RISC-V平台的Hello World程序
时长 13:40
语言与指令 (1讲)
14|走进C语言:高级语言怎样抽象执行逻辑?
时长 14:10
计算机基础实战课
15
15
1.0x
00:00/00:00
登录|注册

14|走进C语言:高级语言怎样抽象执行逻辑?

你好,我是 LMOS。
前面我们设计了迷你 CPU,相信你已经对 CPU 如何执行指令有了一定的了解。
而 CPU 执行的指令,正是由工程师敲出来的高级编程语言产生的。比如我们熟知的 C、CPP、JAVA 等。
平时我们做编程的时候,底层 CPU 如何执行指令已经被封装好了,因此你很少会想到把底层和语言编译联系在一起。但从我自己学习各种编程语言的经历看,从这样一个全新视角重新剖析 C 语言,有助于加深你对它的理解。
这节课我们首先要了解 CPU 执行指令的过程,然后再来分析 C 语言的编译过程,掌握 C 语言的重要组成,最后我们再重点学习 C 语言如何对程序以及程序中的指令和数据进行抽象,变成更易于人类理解的语言(代码从这里下载)。

CPU 执行指令的过程

通过之前的学习,我们已经知道了 CPU 执行一条特定指令的详细过程,它们是取指、译码,执行、访存、回写。这是一个非常详细的硬件底层细节,我们现在再迈一个台阶,站高一点,从软件逻辑的角度看看 CPU 执行多条指令的过程
这个过程描述起来很简单,就是一个循环。为了让你分清每个步骤,我分点列一下:
1. 以 PC 寄存器中值为内存地址 A,读取内存地址 A 中的数据。
2.CPU 把内存地址 A 中的数据作为指令执行,具体执行过程为取指、译码,执行、访存、写回。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
划线
笔记
复制
01|CISC & RISC:从何而来,何至于此
05|指令架构:RISC-V在CPU设计上到底有哪些优势?
06|手写CPU(一):迷你CPU架构设计与取指令实现
08|手写CPU(三):如何实现指令执行模块?
10|手写CPU(五):CPU流水线的写回模块如何实现?
13|小试牛刀:跑通RISC-V平台的Hello World程序
该试读文章来自《计算机基础实战课》,如需阅读全部文章,
请购买文章所属专栏
新⼈⾸单¥68
立即购买
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
返回
顶部