关注、星标公众号,直达精彩内容
来源:《计算机科学精粹》
为解决各种问题,人们发明了不计其数的机器。嵌入式设备种类繁多,从嵌入火星漫游机器人的计算机到为操纵核潜艇导航系统的系统,不一而足。
体系结构
存储器
二进制数以 2 为基数表示,其工作原理如下:
每条信号线传输一个比特,以高电压表示信号“1”,低电压表示信号“0”,如图7-1 所示。
对于某个给定的单元地址,存储器可以进行两种操作:获取其值或存储新值,如图7-2 所示。存储器包括一条用于设置操作模式的特殊信号线。
每个存储单元通常存储一个 8 位二进制数,它称为字节。设置为“读”模式时,存储器检索保存在单元中的字节,并通过8 条数据传输线输出,如图7-3 所示。
设置为“写”模式时,存储器从数据传输线获取一个字节,并将其写入相应的单元,如图7-4 所示。
CPU
通过在RAM 中包含重写部分代码的指令,代码甚至可以对自身修改,这是计算机病毒逃避反病毒软件检测的惯用手法。与之类似,生物病毒通过改变自身的DNA以躲避宿主免疫系统的打击。
图7-6 取自Intel 4004 操作手册,显示了部分CPU 指令映射为数字的方法。随着制造工艺的发展,CPU 支持的操作越来越多。现代CPU 的指令集极为庞大,但最重要的指令在几十年前就已存在。
在许多个人计算机中,这种程序称为BIOS(基本输入输出系统)。
if x = 0
compute_this()
else
compute_that()
编译器
人们最近发现,一种称为MOV(数据传送)的CPU 指令是图灵完备的。这意味着仅能执行MOV 指令的CPU 与完整的CPU 在功能上并无不同:换言之,通过MOV 指令可以严格地表达任何类型的代码。
操作系统
编译优化
function factorial(n)
if n > 1
return factorial(n - 1) * n
else
return 1
function factorial(n)
result ← 1
while n > 1
result ← result * n
n ← n - 1
return result
i ← x + y + 1
j ← x + y
t1 ← x + y
i ← t1 + 1
j ← t1
脚本语言
反汇编与逆向工程
开源软件
存储器层次结构
对于时钟频率为1 GHz 的CPU,一个周期的持续时间约为十亿分之一秒,这是光线从本书进入读者眼中所需的时间。
处理器与存储器之间的鸿沟
在两个面对面的人之间,声波传播需要大约10 微秒。
时间局部性与空间局部性
一级缓存
二级缓存
第一级存储器与第二级存储器
标准照片在大约4 毫秒内捕捉光线。
外部存储器与第三级存储器
存储技术的发展趋势
小结
本文讨论的缓存原则可以应用于多种场景。确定应用程序频繁使用的数据,并设法提高这部分数据的访问速度,是缩短计算机程序运行时间的最常用策略之一。
‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ END ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧
关注我的微信公众号,回复“星球”加入知识星球,有问必答。
点击“阅读原文”查看知识星球详情,欢迎点分享、收藏、点赞、在看。