CPU中的程序是怎么运行起来的(预告篇)
总述
最近一位朋友问我,我开发的代码是怎么运行起来的,我就开始给他介绍代码的预编译、汇编、编译、链接然后到一般的文件属性,再到代码运行。但是大佬问了我一句,CPU到底是怎么执行到每一个逻辑的,就讲了哈CPU的架构。这是时候真的有些迷了,虽然有模电数电的底子,但是自己都说迷糊了,汇编怎么对应到机器码再到怎么执行每一个逻辑。
所以我想了想,我可以写一篇文章,从我嵌入式开发的工作中去描述一下CPU的代码执行的过程。虽然网上也有很多人讲这个过程,我也想用自己的视角去介绍一下。所以我就花了三天时间把《CODE》这本书啃完,然后准备写篇文章。不过今天由于时间问题,我就不写了,明天我写具体看书以及自己的经验去描述CPU的代码运行情况。
作者:良知犹存
转载授权以及围观:欢迎添加微信公众号:Conscience_Remains
下面是准备介绍的大纲:
CPU的基本的硬件组成结构由简单到复杂
CPU集成的架构演变以及分别对应的职能
CPU代码语言的发展过程以及汇编到机器码的具体执行
!!!今天时间关系无法写出全文,先简单介绍一哈文章状态,以及推荐大家一个汇编执行小游戏。
这是这几天配合看的基本书,有兴趣的朋友可以找我分享给你哈。
今天没有写具体细节,但是想先给大家推荐一个这几天玩的一个小游戏,程序员升职记,里面的运行逻辑其实很接近汇编指令在CPU的运行情况,还是很好玩的。配合上文章简直稳的一匹。
先来介绍一哈游戏:程序员升职记(Human Resource Machine)
游戏里面是模拟一个程序员从入职到工作四十五年的开发过程。每一个环节有不同的挑战,下面就是我差不多20关的时候,遇到的一个问题,我自己写时间复杂度和空间复杂度上都没有满足要求。
不过还好我有攻略,经过攻略的调整我的代码好多了,哈哈哈哈。最后面附上攻略来源。
攻略:https://cowlevel.net/article/2045657
对滴,游戏攻略奉上,每一关都有介绍,这位做攻略的大哥有心了。
最后就这样哈,大家要玩有些的朋友可以关注我后台回复我 程序员升职记 我把我的下载链接分享给你哈,大家一起玩起来,寓教于乐。
更多分享,扫码关注我
CPU中的程序是怎么运行起来的(预告篇)的更多相关文章
- CPU中的程序是怎么运行起来的
总述 最近一位朋友问我,开发的代码是怎么在芯片运行起来的,我就开始给他介绍代码的预编译.汇编.编译.链接然后到一般的文件属性,再到代码运行.但是大佬问了我一句,CPU到底是怎么执行到每一个逻辑的,就讲 ...
- C#中防止程序多次运行
C#中如何防止程序多次运行?只要在程序入口点函数Main()中的开始部分添加如注释部分的代码,就能快捷实现. 示例代码如下: using System; using System.Collecti ...
- linux nohup命令实现退出终端后程序继续后台运行
Unix/Linux下一般想让某个程序在后台运行,很多都是使用&在程序结尾来让程序自动运行:但如果要想在退出终端后,程序依然还在后台运行,则要用nohup与&组合来实现. nohup ...
- linux nohup命令使程序在后台运行的方法
在linux操作系统中从后台一直运行某个程序的方法,就是使用nohup命令了. Unix/Linux下一般比如想让某个程序在后台运行,很多都是使用 & 在程序结尾来让程序自动运行. 比如要运行 ...
- 在linux下,怎么去查看一个运行中的程序, 到底是占用了多少内存
1. 在linux下,查看一个运行中的程序, 占用了多少内存, 一般的命令有 (1). ps aux: 其中 VSZ(或VSS)列 表示,程序占用了多少虚拟内存. RSS列 表示, 程序占用了多少物 ...
- 在linux下,查看一个运行中的程序, 占用了多少内存
1. 在linux下,查看一个运行中的程序, 占用了多少内存, 一般的命令有 (1). ps aux: 其中 VSZ(或VSS)列 表示,程序占用了多少虚拟内存. RSS列 表示, 程序占用了多少物 ...
- VS2010中设置程序以管理员身份运行
VS2010中设置程序以管理员身份运行 直接项目右键---属性---连接器---清单文件---uac执行级别 选择requireAdministrator 重新编译 即可 这样程序直接运行就拥有管理员 ...
- 在windows中:双击运行Python程序、后台运行Python程序
在windows中:双击运行Python程序.后台运行Python程序 安装Python解释器的windows环境,如果双击运行*.py的文件,会闪退.怎样避免闪退呢? 我们用python的日志输出程 ...
- linux下,一个运行中的程序,究竟占用了多少内存
linux下,一个运行中的程序,究竟占用了多少内存 1. 在linux下,查看一个运行中的程序, 占用了多少内存, 一般的命令有 (1). ps aux: 其中 VSZ(或VSS)列 表示,程序占用 ...
随机推荐
- CPU性能测试——CoreMark篇
本文将介绍使用CoreMark测试程序对我们小组自研芯片进行性能的测试,记录了CoreMarK工具的使用以及对其测试结果进行分析 测试环境: PC OS: Ubuntu20.04 LTS CPU: 自 ...
- 短信平台软件开发,短信发送平台销售,短信软件源码,G客短信发送平台
一:web短信平台组成 需要短信软件平台源码的联系QQ:290615413 vx:290615413 整套短信系统平台还是由B/S(客户端+后台,取消了以前C/S的管理后台) ,C/S发送服务端和 ...
- c3p0连接池使用:使用c3p0数据源步骤以及完成jdbcUtills类
1.使用c3p0数据源步骤): a.下载c3p0jar,官网下载:https://sourceforge.net/projects/c3p0/: b.导入jar包时,应该导入下面两个包: c.编写c3 ...
- k8s之API Server认证
集群安全性 在生产环境中,必须保障集群用户的角色以及权限问题,不能给所有用户都赋予管理员权限. 1.集群的安全性必须考虑如下几个目标 (1)保证容器与其所在宿主机的隔离 (2)限制容器给基础设置或其他 ...
- 基于腾讯云存储COS的ClickHouse数据冷热分层方案
一.ClickHouse简介 ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS),支持PB级数据量的交互式分析,ClickHouse最初是为YandexMetrica ...
- Jenkins上实现Python + Jenkins + Allure Report 接口自动化测试持续集成,最终测试报告用allure-report进行展示
项目介绍 接口功能测试应用:http://www.weather.com.cn/data/cityinfo/<city_code>.html 测试功能:获取对应城市的天气预报 源码:Pyt ...
- spring cloud config —— git配置管理
目录 talk is cheep, show your the code Server端 pom.xml server的application.yml 配置文件 测试Server client端 po ...
- 【RAC】通过命令查看当前数据库是不是rac
SQL> show parameter cluster_database 如果参数中显示的是 NAME TYPE ...
- JCO RFC destination
一:登陆PI的GUI,进入事物SM59,创建T类型RFC destinations如下: AI_RUNTIME_JCOSERVER :used for the mapping runtime, va ...
- 命令模式与go-redis command设计
目录 一.什么是命令(Command)模式 二.go-redis command相关代码 三.总结 一.什么是命令(Command)模式 命令模式是行为型设计模式的一种,其目的是将一个请求封装为一个对 ...