页面加载中,请稍候
来源:玩点嵌入式发布时间:2022-04-241190浏览
询问 AI二进制数以 2 为基数表示,其工作原理如下:






通过在RAM 中包含重写部分代码的指令,代码甚至可以对自身修改,这是计算机病毒逃避反病毒软件检测的惯用手法。与之类似,生物病毒通过改变自身的DNA以躲避宿主免疫系统的打击。
CPU 的运行永无休止,它不断从存储器获取并执行指令。这个周期的核心是PC 寄存器,PC (program counter)是“程序计数器”的简称。PC 是一种特殊的寄存器,用于保存下一条待执行指令的存储地址。CPU 的工作流程如下:在许多个人计算机中,这种程序称为BIOS(基本输入输出系统)。CPU 上电后将继续执行这种“获取- 执行”周期直至关机。然而,如果CPU 只能遵循有序、顺序的操作列表,那么它与一个花哨的计算器并无二致。CPU 的神奇之处在于可以指示它向PC 中写入新值,从而实现执行过程的分支,或“跳转”到存储器的其他位置。这种分支可以是有条件的。以下面这条CPU 指令为例:“如果寄存器1 等于0,将PC设置为地址200”。该指令相当于:
if x = 0
compute_this()
else
compute_that()仅此而已。无论是打开网站、玩计算机游戏抑或编辑电子表格,所涉及的计算并无区别,都是一系列只能对存储器中的数据求和、比较或移动的简单操作。大量简单的操作组合在一起,就能表达复杂的过程。以经典的《太空侵略者》游戏为例,其代码包括大约3000 条机器指令。
CPU 时钟 早在20 世纪80 年代,《太空侵略者》就已风靡一时。这个游戏在配备2 MHz CPU 的街机上运行。“2 MHz”表示CPU 的时钟,即CPU 每秒可以执行的基本操作数。时钟频率为200 万赫兹(2 MHz)的CPU 每秒大约可以执行200 万次基本操作。完成一条机器指令需要5到10 次基本操作,因此老式街机每秒能运行数十万条机器指令。
人们最近发现,一种称为MOV(数据传送)的CPU 指令是图灵完备的。这意味着仅能执行MOV 指令的CPU 与完整的CPU 在功能上并无不同:换言之,通过MOV 指令可以严格地表达任何类型的代码。function factorial(n)if n > 1return factorial(n - 1) * nelsereturn 1他们认为应该进行以下修改:
function factorial(n)result ← 1while n > 1result ← result * nn ← n - 1return result诚然,在不使用递归的情况下执行factorial 函数将消耗较少的计算资源,但仍然没有理由因此而改变代码。现代编译器将自动重写简单的递归函数,举例如下。
i ← x + y + 1j ← x + y为避免进行两次x+y 计算,编译器将上述代码重写为:
t1 ← x + yi ← t1 + 1j ← t1应专注于编写清晰且自解释的代码。如果性能出现问题,可以利用分析工具寻找代码中的瓶颈,并尝试改用更好的方法计算存在问题的代码。此外,避免在不必要的微操作上浪费太多时间。但在某些情况下,我们希望跳过编译,接下来将对此进行讨论。
反汇编与逆向工程对于时钟频率为1 GHz 的CPU,一个周期的持续时间约为十亿分之一秒,这是光线从本书进入读者眼中所需的时间。
现代计算机需要大约1000 个CPU 周期(1 微秒左右) 从RAM 获取数据。这种速度已很惊人,但与访问CPU 寄存器的时间相比仍然较慢。减少计算所需的RAM 操作次数,是计算机科学家追求的目标。在两个面对面的人之间,声波传播需要大约10 微秒。
使用一级/ 二级/ 三级缓存能显著提高计算机的性能。在配备200 KB的二级缓存后,CPU 发出的存储请求中仅有不到10% 必须直接从RAM获取。
在存储器层次结构中,位于CPU 寄存器与缓存之下的是RAM,它负责存储当前运行的所有进程的数据与代码。截至2017 年,计算机配备的RAM 容量通常为1 GB 到10 GB。但在许多情况下,RAM 可能无法满足操作系统以及所有运行程序的需要。标准照片在大约4 毫秒内捕捉光线。CPU 无法直接访问第二级存储器。执行保存在第二级存储器中的程序之前,必须将其复制到第一级存储器。实际上,每次启动计算机时,即便是操作系统也要从磁盘复制到RAM,否则CPU 无法运行。确保RAM 永不枯竭 在典型活动期间,确保计算机处理的所有数据与程序都能载入RAM 至关重要,否则计算机将不断在磁盘与RAM 之间交换数据。由于这项操作的速度极慢,计算机性能将严重下降,甚至无法使用。这种情况下,计算机不得不花费更多时间等待数据传输,而无法进行实际的计算。当计算机不断将数据从磁盘读入RAM 时,则称计算机处于抖动模式。必须对服务器进行持续监控,如果服务器开始处理无法载入RAM 的数据,那么抖动可能会导致整个服务器崩溃。银行或收银机前将因此排起长队,而服务员除了责怪发生抖动的计算机系统之外别无他法。内存不足或许是导致服务器故障的主要原因之一。
小结
扫码添加客服微信,备注“入群”拉您进凡亿教育官方专属技术微信群,与众位电子技术大神一起交流技术问题及心得~
新闻来源:玩点嵌入式,文中所述为作者独立观点,不代表icspec立场。更多精彩资讯请下载icspec App。如对本稿件有异议,请联系微信客服specltkj。
暂无评论哦,快来评论一下吧!
2026-06-15