第1章 计算机基础知识

105 阅读4分钟

1 了解计算机系统结构

按层次来划分计算机系统机构,我们可以划分成七个层次。 计算机系统结构

  • 硬件逻辑层:主要由⻔电路、触发器等逻辑电路组成,属于电⼦⼯程的领域。

  • 微程序机器层

    • 编程语⾔以微指令集为主;
    • 微指令所组成的微程序直接交由硬件执⾏;
    • 微程序主要是由⽣产硬件的公司的程序员来编写的。
  • 传统机器层

    • 编程语⾔以 CPU指令集(机器指令)为主,可直接作用于硬件;

    • 程序员所⽤机器指令编写的程序可以交由微程序直接进⾏解析,⽽这⾥提到的指令集,存储在CPU内部,对CPU的运算进⾏指导和优化,拥有指令集,CPU就可以有效地运⾏;

    • CPU的制造商分为AMDIntel两⼤阵营,两⼤⼚商⽣产的CPU最⼤的区别是⸺指令集不同,IntelCPU所使⽤的指令集不适合AMDCPU,同样的,AMDCPU所使⽤的指令集也不适合Intel

    • 除了不同⼚商以外,同⼀个⼚商也可以⽣产不同指令集的CPU,即不同架构的CPU使⽤不同的CPU指令集。

  • 操作系统层

    • 操作系统,⼀⽅⾯,向上提供了简易的操作界⾯,使得用户能够容易地操作计算机;同时,向下对接了指令系统,管理硬件资源。

    • 操作系统对用户程序所使⽤机器的各种资源进⾏管理和分配,包括CPU、存储器等等,⽐如说,当⼀个用户程序需要运⾏的时候,⾸先由操作系统将其加载到内存中,这就需要操作系统⾸先为其分配内存空间来进⾏存储。再⽐如说,某⼀个程序需要使⽤某⼀个输出设备进⾏结果输出的时候,需要操作系统为其提供该设备的控制权。

    • 由此可⻅,操作系统是在软件和硬件之间的适配层。

  • 汇编语⾔层

    • 编程语⾔是汇编语⾔
    • 汇编语⾔可以翻译成可直接执⾏的机器语⾔,完成这个翻译过程的程序就是汇编器。从这⼀层开始,它们所使⽤的编程语⾔就是⼈类⽐较容易理解的语⾔了。
  • ⾼级语⾔层:编程语⾔就是为⼴⼤程序员所接受的⾼级语⾔,种类⾮常多,有⼏百种,常⻅的编程语⾔有Python、Java、C/C++、Golang等。

  • 应⽤层:计算机针对某种⽤途⽽设计的应⽤,像Word、Excel等。

2 理解程序翻译与程序解释

计算机是⽆法直接理解⼈ 类语⾔的,它只认识01010101...这样的⽐特位,因此,我们需要进⾏程序翻译或程序解析,把⼈类语⾔翻译或解析成计算机所能理解的语⾔。

3 理解程序概念

程序是指为了完成某种特定功能,以某种程序设计语⾔编写的有序指令的集合+。

程序是指挥CPU⼯作的“⼯作⼿册”计算机只能执⾏⼆进制代码,程序设计语⾔⼀般类似英⽂,想要让计算机理解你写的程序,必须把程序代码“翻译”成计算机能理解的⼆进制代码,根据翻译形式的不同,可以分为:

  • 编译

    • 🆔定义: 将程序代码翻译成计算机能理解的⼆进制⽬标代码,会⽣成特定的可执⾏代码(在window上是exe⽂件),可执⾏代码是⼆进制的,⽆法看到源代码。然后执⾏可执⾏代码就可以得到想要的结果◦

    • ℹ️案例: C、C++、OC

  • 解释

    • 🆔定义: 将程序代码⼀句⼀句翻译为计算机可以执⾏的指令,⽴即执⾏,不会⽣成可执⾏⽂件
    • ℹ️案例:Python、php、JavaScript

4 了解语言的区别

  • 解释型语⾔

    • 🆔定义:是在运⾏的时候将程序翻译成机器语⾔,所以运⾏速度相对于编译型语⾔要慢。⽐如PHP、Python

    • 🅰️优点:可移植性较好,只要有解释环境,可在不同的操作系统上运⾏◦

    • 🅱️缺点:运⾏需要解释环境,运⾏起来⽐编译的要慢,占⽤资源也要多⼀些,代码效率低,代码修改后就可运⾏,不需要编译过程

  • 编译型语⾔:

    • 🆔定义: 在程序执⾏之前,有⼀个单独的编译过程,将程序翻译成机器语⾔,以后执⾏这个程序的时候,就不⽤再进⾏翻译了。⽐如C、C++、Java+

    • 🅰️优点:运⾏速度快,代码效率⾼,编译后的程序不可修改,保密性较好◦

    • 🅱️缺点:代码需要经过编译⽅可运⾏,可移植性差,只能在兼容的操作系统上运⾏

参考:2024年版本-木锦的Python教学视频