《嵌入式软件的时间分析》读后感1 第一章第二章基础知识
[复制链接]
好久没有静下心来读一本书,参与这个测评也是希望自己能静下心来读一本书
这本书竟然是硬板书,我都好久没见过这种专业书籍硬板的了
最近几天把第一章第二章阅读了下,基本都是一些基本知识的分享
第一章讲了从源代码转为可执行的机器代码的过程。
C语言的编译过程可以分为四个步骤:预处理、编译、汇编和链接。
1预处理指在源代码文件被编译之前进行的一些处理,包括宏定义展开、头文件包含、条件编译等操作。预处理器会读取源代码文件中以#开头的命令,并执行相应的操作
2 编译是将源代码文件转换为汇编代码的过程。编译器会对源代码进行语法分析、语义分析、优化等操作,并生成相应的汇编代码。在编译过程中,会检查源代码中是否存在语法错误、类型不匹配等问题。
3 汇编将汇编代码转换为机器码的过程。汇编器会读取汇编代码,并将其转换为机器指令、数据区等内容。
4 链接将多个目标文件合并为一个可执行文件的过程。链接器会对目标文件进行符号解析、符号重定位等操作,并生成相应的可执行文件。
第二章的话分享了一些处理器相关,例如寄存器、存储器寻址模式、缓存、流水线、中断等。
前两章的内容比较基础,但是这本书重点肯定不是在前两章的,所以很多都需要自己在利用网络或者其他书去学习。
我是跟《Computer Organization and Design – The Hardware/Software Interface》这本书结合一起学习的,两本书内容很多一致,但是这本书详细的很多很多
2.6节的流水线
步骤
1Fetch 从存储器或缓存加载命令
2Decode 解码:解析操作码
3Execute 执行命令
4Write-back 回写结果(如有需要)
书中介绍的比较简单,大概只花了一页来介绍
流水线是一种可以将多条指令的执行过程相互重叠的实现技巧,目前她是提高处理器处理速度的关键。
此种情况下指令的执行速度提高了4倍
流水线模型所能获得的性能加速比归纳为一个公式,如果流水线各级分配均匀,那么在流水线处理器上单个指令执行时间为(理想情况下)
指令执行时间流水线 = 指令执行时间非流水线 / 流水线的级数
流水线所带来的性能提升是通过提高指令的吞吐率来实现的,而不是通过减小单条指令的执行时间来实现的。
|