12 2020 档案
摘要:1. 前置知识 1.1 硬盘 1.1.1 扇区 硬盘不是一大块完整的区域,而是由很多扇区组成,每个扇区的容量为 512 字节。 1.1.2 分区 硬盘的第一个扇区最重要,其中保存着主引导记录和分区表信息。在第一个扇区中,主引导记录(MBR,Master Boot Record)需要占用 446 字节
阅读全文
摘要:1. 下载 pyinstaller 下载请戳。解压即可使用。 2. 打包生成可执行文件 使用以下命令进行打包: 1 pyinstaller_path/pyinstaller.py -F source.py 命令执行后,在当前目录中会出现一个dist目录。生成的可执行文件在这个目录下。
阅读全文
摘要:一个典型的 CPU 由运算器、控制器、寄存器等器件组成,这些器件靠内部总线相连。前一篇博客说的总线,相对于 CPU 内部来说是外部总线。内部总线实现 CPU 内部各个器件之间的联系,外部总线实现 CPU 和主板上其他器件的联系。 简而言之,在 CPU 中: 运算器进行信息处理; 寄存器进行信息存储;
阅读全文
摘要:汇编语言是直接在硬件之上工作的编程语言。要先了解硬件系统的结构,才能有效地应用汇编语言对其编程。因此,在正式学习汇编语言之前,先对其前置知识进行回顾,以期后续学习能有较好的基础。 1 机器语言 机器语言,就是机器指令的集合。机器指令,就是机器能够理解并执行的命令。机器指令就是一列二进制数,计算机能够
阅读全文
摘要:安装 Ubuntu 虚拟机后,更换软件源后,在执行 sudo apt-get update 时提示如下错误: W: GPG error: http://extras.ubuntu.com precise Release: The following signatures couldn't be ve
阅读全文
摘要:1. 修改配置 进入控制面板,进入“程序”子菜单: 单击“启用或关闭 Windows 功能”: 勾选“适用于 Linux 的 Windows 子系统”: 2. 下载 Ubuntu 进入 Microsoft Store,搜索 Ubuntu,这里会有多个搜索结果,注意下载标注出的版本: 安装完成后,即可
阅读全文
摘要:在 20 世纪 60-70 年代,写程序还要用到打孔卡(Punched Card)。Coder 需要先把程序想好,在纸带上打孔,然后把打孔卡交给计算机去处理。 FORTRAN 程序打孔卡 不难看出,这张类似答题卡的纸带上,通过打孔或不打孔来代表“0”和“1”。 时至今日,CPU 本身也没有理解高级编
阅读全文
摘要:在上一篇博客中,提到了下面这个公式: 程序的 CPU 执行时间 = 指令数 × CPI × Clock Cycle Time 由此可知,想提升计算机性能,可以从指令数、CPI、CPU 主频三个方向入手。搞定指令数需要优化编译器,搞定 CPI 则需要优化 CPU 架构,譬如采用流水线技术。所以研发 C
阅读全文
摘要:我们日常使用电脑和编程时,都经常提到“性能”这个词。“性能”到底指什么,能否进行准确定义,从而量化比较呢? 在计算机组成原理乃至体系结构中,“性能”都是最重要的一个主题。学习和研究计算机组成原理,就是在理解计算机是如何运作的,为什么要这样运作。很多时候,“为什么这样做”的原因就是为了提升“性能”。
阅读全文
摘要:在前面两篇博客中,我们了解了现代计算机的基本硬件组成和冯·诺依曼体系结构。在学习零散知识点之前,有必要先建立一个整体的了解。 1. 计算机组成原理知识地图 计算机组成原理的英文名为 Computer Organization。顾名思义,Organization 就是“组织机构”的意思。计算机就是由不
阅读全文
摘要:1. 计算机的基本硬件组成 1.1 CPU(Central Processing Unit) CPU 是计算机最重要的核心配件,负责进行运算。 1.2 内存(Memory) 程序都要加载到内存中才能运行。此外,程序读取的数据、计算得到的结果,也都要放到内存里。内存越大,能加载的东西越多。 1.3 主
阅读全文
摘要:从事软件开发的同学,基本都听到过“内功”、“招式”这样的说法。应用层的语言、框架类似招式,可以短期见效。而底层知识则类似内功,是在提升根骨和资质。 深厚的内功基础,绝对有益于招式的学习。越早建立计算机底层原理的知识体系,后续就有越长的时间可以从这些知识中获利。从投资的角度来说,这就是“复利”带来的收
阅读全文

浙公网安备 33010602011771号