一、计算机组成
计算机硬件是一个协同运作的精密系统。中央处理器(CPU)堪称核心,如同计算机的 “大脑”,负责执行各类指令,无论是复杂的数据运算,还是严谨的逻辑推理,都由它主导,其性能强弱直接关联到计算机处理任务的效率高低。比如处理大规模图像渲染工作,高性能 CPU 能显著缩短渲染耗时。
主板作为承载硬件的关键平台,类似城市交通枢纽,构建起 CPU、内存、硬盘、显卡等部件间的电气连接与数据传输通道,保障整个系统稳定有序运行。内存扮演着临时存储数据的关键角色,犹如计算机的 “短期记忆”,它能快速存取正在运行程序的数据与指令,不过一旦断电,数据就会丢失。如今 DDR4、DDR5 内存技术更迭,频率提升促使数据传输更为高效。
存储方面,机械硬盘凭借大容量特性,像一位可靠的 “仓库管理员”,默默存储海量数据,虽磁头寻道读写速度稍慢,但因价格亲民而应用广泛;固态硬盘(SSD)则如同一匹 “黑马”,凭借闪存芯片实现超高速读写,让系统启动、软件加载瞬间完成,逐渐成为存储首选。显卡专注图形处理,在游戏、设计领域作用非凡,能够将代码转化为精美画面,带来视觉震撼。
计算机如何处理程序?
按照冯·诺依曼存储程序的原理,计算机的工作流程大致如下:
1. 用户打开程序,程序开始执行;
2. 操作系统将程序内容和相关数据送入计算机的内存;
3. CPU根据程序内容从内存中读取指令;
4. CPU分析、处理指令,并为取下一条指令做准备;
5. 取下一条指令并分析、处理,如此重复操作,直至执行完程序中全部指令,最后将计算的结果放入指令指定的存储器地址中。
二、计算机语言的发展
1.机器语言——计算机最早的语言形式,直接使用二进制代码表示,由0和1组成的序列构成,计算机能够直接识别和执行这些指令。
优点:高效性:由于它直接与计算机硬件交互,执行效率非常高。计算机能够快速地识别和执行这些二进制指令,不需要额外的转换过程。
缺点:难学难用:机器语言对于人类程序员来说极其难学,因为二进制代码晦涩难懂。而且编写程序容易出错,一旦出现错误,定位和修改都非常困难。例如,一个简单的程序可能包含数百行的 0 和 1 组合,要从中找出错误的指令是一项极具挑战性的任务。
2.汇编语言——使用助记符来表示机器指令,这些助记符更接近人类语言,使得编程变得更加直观和易于理解。
优点:
相对机器语言易读:汇编语言的助记符形式使得程序代码比机器语言更具可读性。程序员可以更容易地理解程序的功能,比如看到 “MOV AX, BX”(将寄存器 BX 的内容传送到寄存器 AX)这样的指令,比机器语言的二进制代码直观得多。
执行效率高:由于汇编语言和机器语言一一对应,经过汇编程序翻译后能够高效地在计算机硬件上执行,其执行速度几乎和机器语言相当。
缺点:可移植性差:因为汇编语言是基于特定计算机硬件的指令集编写的,所以不同的计算机硬件(如不同的 CPU 架构)可能有不同的汇编语言。例如,基于 x86 架构的汇编语言和基于 ARM 架构的汇编语言有很大的差异,程序在不同硬件平台之间移植时需要重新编写大部分代码。
3.高级语言——使用人类日常语言编写。
优点:
易学习易使用:高级语言的语法规则更符合人类的思维习惯。例如,在 C 语言中,用 “if - else” 语句来实现条件判断,和自然语言中的 “如果 - 否则” 逻辑相似。而且高级语言提供了丰富的数据类型和控制结构,能够方便地实现复杂的算法。
可移植性好:高级语言编写的程序可以在不同的计算机平台上运行,只要有相应的编译器或解释器将其翻译为目标机器语言即可。例如,Python 程序可以在 Windows、Linux、Mac 等多种操作系统上运行。
缺点:
执行效率相对较低:相比于机器语言和汇编语言,高级语言在执行前需要经过编译或解释过程,这个过程会带来一定的性能损耗。不过,随着计算机硬件性能的不断提高,这种性能损耗在很多应用场景下是可以接受的。
三、进制的相关知识点
- 进制的概念:进制也就是进位计数制,是人为定义的带进位的计数方法。对于任何一种进制 - X 进制,就表示每一位置上的数运算时都是逢 X 进一位。可使用数字符号的数目称为基数或底数,基数为 n,即可称 n 进位制,简称 n 进制1。
- 常见的进制类型:
- 十进制:基数为 10,数码由 0-9 组成,计数规律逢十进一。是人类日常计算中使用最多的进制系统。
- 二进制:基数为 2,由两个数码 0、1 组成,运算规律是逢二进一。是计算机系统中最基本的数据表示方式。为区别于其它进制,二进制数的书写通常在数的右下方注上基数 2,或加后面加 B 表示。
- 八进制:基数为 8,有数码 0、1、2、3、4、5、6、7,每个数码正好对应三位二进制数。八进制在计算机科学中也较常见,常应用在计算机语言中,用下标 8 或数据后面加 O 表示。
- 十六进制:基数为 16,由十六个数码 0-9 加上字母 A-F 组成(A-F 分别表示十进制数 10-15),运算规律是逢十六进一。通常在表示时用尾部标志 H 或下标 16 以示区别,在 c 语言中用添加前缀 0x 以表示十六进制数。