总述

    最近一位朋友问我,我开发的代码是怎么运行起来的,我就开始给他介绍代码的预编译、汇编、编译、链接然后到一般的文件属性,再到代码运行。但是大佬问了我一句,CPU到底是怎么执行到每一个逻辑的,就讲了哈CPU的架构。这是时候真的有些迷了,虽然有模电数电的底子,但是自己都说迷糊了,汇编怎么对应到机器码再到怎么执行每一个逻辑。

所以我想了想,我可以写一篇文章,从我嵌入式开发的工作中去描述一下CPU的代码执行的过程。虽然网上也有很多人讲这个过程,我也想用自己的视角去介绍一下。所以我就花了三天时间把《CODE》这本书啃完,然后准备写篇文章。不过今天由于时间问题,我就不写了,明天我写具体看书以及自己的经验去描述CPU的代码运行情况。

作者:良知犹存

转载授权以及围观:欢迎添加微信公众号:Conscience_Remains

下面是准备介绍的大纲:

  1. CPU的基本的硬件组成结构由简单到复杂

  2. CPU集成的架构演变以及分别对应的职能

  3. CPU代码语言的发展过程以及汇编到机器码的具体执行

!!!今天时间关系无法写出全文,先简单介绍一哈文章状态,以及推荐大家一个汇编执行小游戏。

这是这几天配合看的基本书,有兴趣的朋友可以找我分享给你哈。

 今天没有写具体细节,但是想先给大家推荐一个这几天玩的一个小游戏,程序员升职记,里面的运行逻辑其实很接近汇编指令在CPU的运行情况,还是很好玩的。配合上文章简直稳的一匹。

先来介绍一哈游戏:程序员升职记(Human Resource Machine)

游戏里面是模拟一个程序员从入职到工作四十五年的开发过程。每一个环节有不同的挑战,下面就是我差不多20关的时候,遇到的一个问题,我自己写时间复杂度和空间复杂度上都没有满足要求。

不过还好我有攻略,经过攻略的调整我的代码好多了,哈哈哈哈。最后面附上攻略来源。

攻略:https://cowlevel.net/article/2045657

对滴,游戏攻略奉上,每一关都有介绍,这位做攻略的大哥有心了。

最后就这样哈,大家要玩有些的朋友可以关注我后台回复我 程序员升职记 我把我的下载链接分享给你哈,大家一起玩起来,寓教于乐。

更多分享,扫码关注我

CPU中的程序是怎么运行起来的(预告篇)的更多相关文章

  1. CPU中的程序是怎么运行起来的

    总述 最近一位朋友问我,开发的代码是怎么在芯片运行起来的,我就开始给他介绍代码的预编译.汇编.编译.链接然后到一般的文件属性,再到代码运行.但是大佬问了我一句,CPU到底是怎么执行到每一个逻辑的,就讲 ...

  2. C#中防止程序多次运行

    C#中如何防止程序多次运行?只要在程序入口点函数Main()中的开始部分添加如注释部分的代码,就能快捷实现.   示例代码如下: using System; using System.Collecti ...

  3. linux nohup命令实现退出终端后程序继续后台运行

    Unix/Linux下一般想让某个程序在后台运行,很多都是使用&在程序结尾来让程序自动运行:但如果要想在退出终端后,程序依然还在后台运行,则要用nohup与&组合来实现. nohup ...

  4. linux nohup命令使程序在后台运行的方法

    在linux操作系统中从后台一直运行某个程序的方法,就是使用nohup命令了. Unix/Linux下一般比如想让某个程序在后台运行,很多都是使用 & 在程序结尾来让程序自动运行. 比如要运行 ...

  5. 在linux下,怎么去查看一个运行中的程序, 到底是占用了多少内存

    1. 在linux下,查看一个运行中的程序, 占用了多少内存, 一般的命令有 (1). ps aux: 其中  VSZ(或VSS)列 表示,程序占用了多少虚拟内存. RSS列 表示, 程序占用了多少物 ...

  6. 在linux下,查看一个运行中的程序, 占用了多少内存

    1. 在linux下,查看一个运行中的程序, 占用了多少内存, 一般的命令有 (1). ps aux: 其中  VSZ(或VSS)列 表示,程序占用了多少虚拟内存. RSS列 表示, 程序占用了多少物 ...

  7. VS2010中设置程序以管理员身份运行

    VS2010中设置程序以管理员身份运行 直接项目右键---属性---连接器---清单文件---uac执行级别 选择requireAdministrator 重新编译 即可 这样程序直接运行就拥有管理员 ...

  8. 在windows中:双击运行Python程序、后台运行Python程序

    在windows中:双击运行Python程序.后台运行Python程序 安装Python解释器的windows环境,如果双击运行*.py的文件,会闪退.怎样避免闪退呢? 我们用python的日志输出程 ...

  9. linux下,一个运行中的程序,究竟占用了多少内存

    linux下,一个运行中的程序,究竟占用了多少内存 1. 在linux下,查看一个运行中的程序, 占用了多少内存, 一般的命令有 (1). ps aux: 其中  VSZ(或VSS)列 表示,程序占用 ...

随机推荐

  1. UnityToLaya小插件-找出空格并替换

    unity导出的文件中经常会出现带有空格的节点或者文件夹 而这些空格在本地开发测试过程中不会出现,当这些带有空格路径的文件需要放到网络上时,就出现问题了 所以这里写了一个简单的查找并清理空格的插件, ...

  2. 音视频入门-20-BMP、PNG、JPG、GIF静态图生成GIF动态图

    * 音视频入门文章目录 * 静态图 -> 动态图 前面 [18-手动生成一张GIF图片] 和 [19-使用giflib处理GIF图片] 生成的 GIF 每一帧都是一个颜色,平时用到的 GIF 每 ...

  3. VBA实现相同行合并

    帮人捣鼓了个VBA代码用来实现多行合并,具体需求为:列2/列3/列4 相同的情况下,则对应的行合并为一行,且列1用空格隔开,列5则相加: (对大多数办公室职员,VBA还算是提高效率的一个利器吧) 最终 ...

  4. 在JavaScript种遇到这样的错误如何解决XML 解析错误:格式不佳 位置:http:/... 行 27,列 32:

    相信很多人在开发的过程中都会遇到在js中解析xml文档的问题.有时候文档解析失败,但就是不知道怎么失败的,哪里格式不对.这里教大家一个方法来排查JavaScript解析xml文档格式出错的办法. 1. ...

  5. 【Spring】Spring的事务管理 - 2、声明式事务管理(实现基于XML、Annotation的方式。)

    声明式事务管理 文章目录 声明式事务管理 基于XML方式的声明式事务 基于Annotation方式的声明式事务 简单记录 - 简单记录-Java EE企业级应用开发教程(Spring+Spring M ...

  6. 【Spring】Spring中的Bean - 5、Bean的装配方式(XML、注解(Annotation)、自动装配)

    Bean的装配方式 简单记录-Java EE企业级应用开发教程(Spring+Spring MVC+MyBatis)-Spring中的Bean 文章目录 Bean的装配方式 基于XML的装配 基于注解 ...

  7. 【Linux】shell脚本实现多并发

    情景 shell脚本的执行效率虽高,但当任务量巨大时仍然需要较长的时间,尤其是需要执行一大批的命令时.因为默认情况下,shell脚本中的命令是串行执行的.如果这些命令相互之间是独立的,则可以使用&qu ...

  8. 电子邮箱、邮件地址、网站地址正则表达式!几个有用的RE、regex、regexp!

    几个常用的正则表达式! r"\w[-\w\.]*@\w[-\w]*(\.\w[-\w]*)+" 这个是电子邮件地址的. r"<TAG\b[^>]*<(. ...

  9. XEE - Pikachu

    概述 XXE -"xml external entity injection"既"xml外部实体注入漏洞".概括一下就是"攻击者通过向服务器注入指定的 ...

  10. ctfhub技能树—信息泄露—PHPINFO

    打开靶机 查看页面,是PHP info界面 只有这一个页面,查找一下有没有flag 拿到flag 浅谈ctf中phpinfo需要关注的点(转自先知社区) 1 https://xz.aliyun.com ...