深入探索计算机架构与汇编语言基础
1. 计算机架构细节
1.1 程序加载
程序加载由程序加载器完成。当打开程序时,会经历以下步骤:
1. 操作系统获取程序信息,如文件大小和磁盘物理位置。
2. 操作系统确定内存中的合适位置,分配空间,并将必要信息放入描述符表。
3. 操作系统开始执行第一条指令(入口点),程序成为一个进程并被分配ID。
4. 进程独立运行,操作系统响应进程的资源请求。
5. 进程结束时,释放内存。
graph LR
A[打开程序] --> B[获取程序信息]
B --> C[确定内存位置并分配空间]
C --> D[开始执行指令,成为进程]
D --> E[进程独立运行]
E --> F[进程结束,释放内存]
1.2 内存访问改进
由于与算术逻辑单元(ALU)的距离以及从内存读取值的过程,从主内存(RAM)读取数据比从寄存器读取慢。为了改善这种情况,采取了以下措施:
- 缓存内存 :有助于缓解内存访问速度问题。若获取的指令或数据在缓存中找到,发生缓存命中;若未找到,则发生缓存未命中。指令也可以批量移入和移出缓存。
- 预取算法 :检查内存访问模式,旨在用即将需要的指令和数据填充缓存和预取缓冲区。大多数现代CPU也将预解码作为流水线的一部分。
- 集成内存控制器 :通过将内存控制
超级会员免费看
订阅专栏 解锁全文
88

被折叠的 条评论
为什么被折叠?



