随笔分类 -  9.1 ├─ 计算机组成原理

指令和运算 - 编译、链接和装载之程序装载:640K内存真的不够用么
摘要:指令和运算 编译、链接和装载之程序装载:640K内存真的不够用么 [toc] 计算机组成原理目录: 在前面几节中,我们已经知道高级语言通过编译、链表生成可执行文件,但这个可执行文件只有先被加载到内存中,才能被 CPU 执行。但问题是内存是有限的,如何加载越来越多的程序呢? 比尔·盖茨在上世纪 80 阅读全文

posted @ 2020-03-31 12:34 binarylei 阅读(457) 评论(0) 推荐(1) 编辑

指令和运算 - 编译、链接和装载之静态链接:代码复用成为可能
摘要:指令和运算 编译、链接和装载之静态链接:代码复用成为可能 [toc] 计算机组成原理目录: 在第一小节中,我们分析了高级语言通过编译和汇编后,最终翻译成计算机指令。之后的两个小节,我们又知道 CPU 是如何执行计算机指令,包括指令跳转和函数调用的实现原理。我们知道编译、链接和装载是程序执行的必不可少 阅读全文

posted @ 2020-03-31 10:58 binarylei 阅读(502) 评论(0) 推荐(0) 编辑

指令和运算 - 指令执行之函数调用:函数调用和递归调用是怎么实现的
摘要:指令和运算 指令执行之函数调用:函数调用和递归调用是怎么实现的 [toc] 计算机组成原理目录: 1. 为什么我们需要程序栈 1.1 示例 同样编译一下 function_example.c 文件后,使用 objdump 查看汇编指令: 我们把这个程序编译之后,objdump 出来。我们来看一看对应 阅读全文

posted @ 2020-03-31 10:46 binarylei 阅读(890) 评论(0) 推荐(0) 编辑

指令和运算 - 指令执行之指令跳转:条件分支和循环语句是怎么实现的
摘要:指令和运算 指令执行之指令跳转:条件分支和循环语句是怎么实现的 [toc] 计算机组成原理目录: 在上一节中,我们分析了高级语言是如何翻译成计算机指令,本节内容则是分析 CPU 是如何执行这些计算机指令的。除了最简单的顺序执行外,指令跳转是如何实现的呢? 1. CPU 是如何执行计算机指令 现代 I 阅读全文

posted @ 2020-03-31 10:45 binarylei 阅读(2186) 评论(0) 推荐(0) 编辑

指令和运算 - 计算机指令:高级语言是如何翻译成计算机指令
摘要:指令和运算 计算机指令:高级语言是如何翻译成计算机指令 [toc] 计算机组成原理目录: 本小节聚焦在高级语言是如何翻译成机器码,以及机器码的格式。之后的两小节则深入讲解 CPU 如何执行条件、循环、函数、递归这些完整的语句。 1. 机器码 vs 计算机指令 计算机只认知 "0" 和 "1",那我们 阅读全文

posted @ 2020-03-31 09:55 binarylei 阅读(2907) 评论(1) 推荐(1) 编辑

计算机组成 - 性能指标:通过 CPU主频谈谈性能究竟是什么
摘要:计算机组成 性能指标:通过 CPU主频谈谈性能究竟是什么 [toc] 计算机组成原理目录: 1. 性能 = 1 / 响应时间 响应时间(Response time)或者叫执行时间(Execution time) 吞吐率(Throughput)或者带宽(Bandwidth) 2. 计算机的计时单位:C 阅读全文

posted @ 2020-03-31 09:44 binarylei 阅读(3737) 评论(0) 推荐(0) 编辑

计算机组成 - 冯·诺依曼体系结构
摘要:计算机组成 冯·诺依曼体系结构 [toc] 计算机组成原理目录: 计算机组成原理在整个计算机课程中的地位如下图所示: 图1:计算机体系结构 计算机组成原理这门课会围绕冯·诺依曼体系的五大组成部分展开,分别介绍运算器、控制器、存储器、输入设备和输出设备。 1. 冯·诺依曼体系结构 冯·诺依曼体系结构( 阅读全文

posted @ 2020-03-31 09:42 binarylei 阅读(3514) 评论(0) 推荐(0) 编辑

存储器 - I/O 性能指标:如何理解 IOPS
摘要:存储器 I/O 性能指标:如何理解 IOPS [toc] 计算机组成原理目录: 1. I/O 性能指标 IO 性能、顺序访问和随机访问如果去看硬盘厂商的性能报告,通常会看到以下指标。 1. 响应时间(Response Time):程序发起一个硬盘的写入请求,直到这个请求返回的时间。 2. 数据传输率 阅读全文

posted @ 2020-03-31 09:40 binarylei 阅读(2513) 评论(0) 推荐(0) 编辑

存储器 - 总线:计算机内部的高速公路
摘要:存储器 总线:计算机内部的高速公路 [toc] 计算机组成原理目录: 本文主要梳理计算机里不同的组件之间的通信问题,也就是总线机制。总线的设计思路,核心是为了减少多个模块之间交互的复杂性和耦合度。实际上,事件总线是一个常见的设计模式,通常事件总线也会和订阅者发布者模式结合起来,成为大型系统的各个松耦 阅读全文

posted @ 2020-03-30 20:24 binarylei 阅读(1080) 评论(0) 推荐(1) 编辑

存储器 - 内存:程序的虚拟内存是如何映射到物理内存
摘要:存储器 内存:程序的虚拟内存是如何映射到物理内存 [toc] 计算机组成原理目录: 程序运行时,指令和数据都需要先加载到内存里面,才会被 CPU 拿去执行。那程序中的虚拟地址最终是如何映射到内存中的物理地址呢?从简单页表,到多级页表,再到 TLB,都解决了那些问题? 1. 简单页表:类似数组,时间复 阅读全文

posted @ 2020-03-30 20:22 binarylei 阅读(7267) 评论(1) 推荐(6) 编辑

存储器 - 缓存一致性 MESI 协议:如何让多核CPU的高速缓存保持一致
摘要:存储器 缓存一致性 MESI 协议:如何让多核CPU的高速缓存保持一致 [toc] 计算机组成原理目录: 在上一篇 "存储器 高速缓存(CPU Cache):为什么要使用高速缓存" 中,我们分析了高速缓存(CPU Cache) 的数据结构,及如何进行读写操作。在写操作时,可以通过使用写回策略替换直接 阅读全文

posted @ 2020-03-29 08:01 binarylei 阅读(1945) 评论(0) 推荐(1) 编辑

存储器 - 高速缓存(CPU Cache):为什么要使用高速缓存
摘要:存储器 高速缓存(CPU Cache):为什么要使用高速缓存? [toc] 计算机组成原理目录: 1. 为什么需要高速缓存 CPU 和内存访问性能的差距非常大。如今,一次内存的访问,大约需要 120 个 CPU Cycle。这也意味着,在今天,CPU 和内存的访问速度已经有了 120 倍的差距。 C 阅读全文

posted @ 2020-03-28 19:43 binarylei 阅读(8847) 评论(2) 推荐(3) 编辑

存储器 - 金字塔层次结构:越靠近CPU速度越快,容量越小,价格越贵
摘要:存储器 金字塔层次结构:越靠近CPU速度越快,容量越小,价格越贵 [toc] 计算机组成原理目录: 1. 金字塔层次结构 现代计算机的存储设备一般有 Cache、内存、HDD(SSD) 硬盘。这些存储设备越靠近 CPU 速度越快,容量越小,价格越贵。 寄存器(Register):寄存器与其说是存储器 阅读全文

posted @ 2020-03-28 19:40 binarylei 阅读(11508) 评论(1) 推荐(3) 编辑

导航

点击右上角即可分享
微信分享提示