comp9601 W1
;)
介绍
计算机组成
在最基本的层面上,计算机是由三个组件组成的设备:
- 编译并且执行程序的处理器
- 存储数据和程序的存储器
- 一种与外界传输数据的机制
以一个计算机的基本配置为例:
| Feature | Specification |
|---|---|
| Display | 23.8-inch FHD (1920x1080) TrueLife LED-Backlit Touch Display with Wide Viewing Angle (IPS) |
| Processor | 7th Generation Intel(R) Core(TM) i5-6200U Processor (3M Cache, up to 2.80 GHz) |
| Memory | 8GB Single Channel DDR3L 1600MHz (8GBx1) |
| Storage | 1TB 5400 rpm Hard Drive |
| Graphics | Intel HD Graphics 620 |
| Optical Drive | DVD Super Multi Drive |
| Wireless | 802.11ac + Bluetooth 4.0, Dual Band 2.4&5 GHz, 1x1 |
| USB Ports | 2 x USB 2.0 Ports, 2 x USB 3.0 Ports |
| Operating System | Windows 10 Home 64-bit |
微处理器:这是系统的“大脑”,主要功能是执行程序指令。拿这台计算机配置来说,微处理器是Intel i5 Processor ,运行频率为 2.80 GHz。
系统总线:负责在计算机内传输数据,系统总线速度越快越好。这台计算机的系统总线运行速度为 1600 MHz。
有较大主内存容量的计算机相比那些内存小的计算机而言,可以用更快的速度去运行更大的项目。
RAM:是 random access memory(随机访问内存)的简称。随机访问意味着当你知道内存位置时,你可以直接访问到内存的内容。
CPU:Cache(CPU)是一个临时内存的类型,这种内存可以被RAM访问的更加快。
硬盘:硬盘容量决定了数据的数量和你可以储存的程序的大小,拿上方的计算机配置为例,它可以储存 1TB。5400 rpm 指的是磁盘的转速。通常来说,磁盘旋转速度越快,它发送数据到RAM的速度也就越快(但是这里头同时也涉及到许多其他因素)。
在计算机系统中,2的幂通常比10的幂更加重要,但是人们往往更容易理解10的幂。
SI Prefixes and Their Powers
| Prefix | Symbol | Power of 10 | Power of 2 | Prefix | Symbol | Power of 10 | Power of 2 |
|---|---|---|---|---|---|---|---|
| Kilo | K | 1 thousand = 10³ | 2¹⁰ = 1024 | Milli | m | 1 thousandth = 10⁻³ | 2⁻¹⁰ |
| Mega | M | 1 million = 10⁶ | 2²⁰ | Micro | μ | 1 millionth = 10⁻⁶ | 2⁻²⁰ |
| Giga | G | 1 billion = 10⁹ | 2³⁰ | Nano | n | 1 billionth = 10⁻⁹ | 2⁻³⁰ |
| Tera | T | 1 trillion = 10¹² | 2⁴⁰ | Pico | p | 1 trillionth = 10⁻¹² | 2⁻⁴⁰ |
| Peta | P | 1 quadrillion = 10¹⁵ | 2⁵⁰ | Femto | f | 1 quadrillionth = 10⁻¹⁵ | 2⁻⁵⁰ |
| Exa | E | 1 quintillion = 10¹⁸ | 2⁶⁰ | Atto | a | 1 quintillionth = 10⁻¹⁸ | 2⁻⁶⁰ |
| Zetta | Z | 1 sextillion = 10²¹ | 2⁷⁰ | Zepto | z | 1 sextillionth = 10⁻²¹ | 2⁻⁷⁰ |
| Yotta | Y | 1 septillion = 10²⁴ | 2⁸⁰ | Yocto | y | 1 septillionth = 10⁻²⁴ | 2⁻⁸⁰ |
系统指标中使用的前缀通常应用于底层基本系统为基数 2 而不是基数 10 的情况。
计算机水平层级
- 如果一台机器要能够解决各种各样的问题,它必须能够执行用不同编程语言编写的程序。
- 编程经验告诉我们,当问题很大时,我们应该将其分解并使用 “分而治之” 的方法。
- 在编程中,我们将一个问题划分为多个模块,然后分别设计每个模块。
- 每个模块执行特定任务,只知道如何与其他模块交互。
我们可以想象机器是从层次构成的,其中每个层次都有一个特定的、不同的功能,并存在假设的机器。具体可以理解为:
📌1. 机器是层次化(Hierarchical)的
“我们可以想象机器是从层次构成的”
- 机器(例如计算机)并不是一个简单的整体,而是由多个层级组成的。
- 这些层级之间有 明确的分工,高层依赖低层的功能,而低层提供基础支持。
💡示例:计算机的层次结构
计算机可以分为以下几个层次:
- 逻辑门层(最底层):与、或、非门等基本电子元件。
- 数字电路层:寄存器、加法器、存储器等基本硬件电路。
- 微架构层:CPU 内部的缓存、流水线、指令调度等。
- 指令集架构层(ISA):定义 CPU 如何执行指令,如 x86、ARM。
- 操作系统层:管理硬件资源,如 Windows、Linux。
- 应用程序层(最高层):如浏览器、游戏、办公软件等。
📌2. 每个层次都有其特定的功能
“其中每个层次都有一个特定的、不同的功能”
- 每个层次负责不同的任务,并且这些任务通常是抽象的。
- 高层的功能是建立在低层的功能之上的。
💡示例:计算机的各层功能
| 层次 | 功能 |
|---|---|
| 物理层(电路) | 电子信号传输 |
| 逻辑层(门电路) | 计算基本逻辑,如加法、存储 |
| 指令集架构层 | 解释并执行汇编指令 |
| 操作系统层 | 进程管理、内存管理、设备管理 |
| 应用程序层 | 提供用户交互,如网页浏览、文档编辑 |
📌3. 假设的机器(Hypothetical Machine)
“并存在假设的机器”
- 这里的 “假设的机器” 可以指:
- 抽象模型(Abstraction Model):在研究计算机时,我们可以假设一个理想的机器,来帮助理解其工作原理。例如:
- 图灵机(Turing Machine):计算理论中的数学模型。
- 冯·诺依曼模型:现代计算机的基本架构。
- 虚拟机(Virtual Machine):在实际计算机中,我们可以在软件层面模拟不同的计算机,例如:
- JVM(Java Virtual Machine):使 Java 代码可以在不同平台运行。
- x86 模拟器:在 ARM 设备上运行 x86 指令集的软件。
- 抽象模型(Abstraction Model):在研究计算机时,我们可以假设一个理想的机器,来帮助理解其工作原理。例如:
我们将每个层次的假设计算机称为虚拟机,每个层次的虚拟机执行它自己特定的一系列指令。
计算机系统的层次结构一图流
| 层级 | 名称 | 描述 |
|---|---|---|
| 第 6 层 | 用户层(User Level) | 允许用户与计算机系统交互,我们平时最常见、最熟悉的层次。 |
| 第 5 层 | 高级语言层(High-Level Language Level) | 使用高级编程语言(C、C++、Python、Java)编写程序。 |
| 第 4 层 | 汇编语言层(Assembly Language Level) | 处理由高级语言编译后的汇编语言指令,以及直接在该层编程的指令。 |
| 第 3 层 | 系统软件层(System Software Level) | 控制正在执行的进程,保护系统资源,通常直接传递汇编指令,汇编语言指令无需修改即可通过第 3 层 |
| 第 2 层 | 机器层(Machine Level) | 也称为指令集架构(ISA),由特定计算机体系结构的指令组成,用机器语言编写的程序不需要编译器或解释器。 |
| 第 1 层 | 控制层(Control Level) | 控制单元解码并执行指令,并且通过系统移动数据。控制单元可微程序化(microprogrammed)或硬件固定(hardwired)。微程序是用低级语言编写的程序,由硬件实现,硬布线控制单元由直接执行机器指令的硬件组成。 |
| 第 0 层 | 数字逻辑层(Digital Logic Level) | 这个层次是我们找到数字电路(芯片)的地方,数字电路由门和电线组成,这些组件实现了所有其他层次的数学逻辑。 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Olivia的知识花园🥝!



