计算机原理简介

计算机是由层次结构组成的,每层完成规定的功能。

简单概括计算机的组成内容#

  1. 底层,也就是硬件层,通常是 CPU/GPU 内存/硬盘 显示器/键盘
  2. 中层,其实就是以操作系统为主的系统软件层,涉及 操作系统、编译原理和计算机网络等;
  3. 顶层,就是应用软件层,基本上以APP为主。

计算机体系#

冯诺依曼体系#

将程序指令和数据一起储存的计算机设计概念。(存储型计算机概念)

必须包含五个组成:

  1. 存储器:储存程序指令和数据
  2. 控制器:控制流程
  3. 运算器:数据运算
  4. 输入设备:将程序指令和数据送至计算机
  5. 输出设备:输出

通常 运算器 和 控制器 处于一个模块,被成为 CPU。

现代计算机体系#

冯诺依曼体系无法调和存储器速率和对运算器的数据交换的效率。所以脱胎于冯诺依曼体系的现代计算机体系形成了。

现代计算机体系相对于冯诺依曼体系,将 存储器 、运算器 和 控制器 放到了一个模块里面。而这个存储器是专门为CPU提供数据的高效存储器(通常为寄存器和内存),这样大大的提高了CPU的使用效率。

现代计算机 是以 存储器 为核心的。

计算机编程层次#

计算机编程层次只是方便理解,并非完全固定。

  1. 硬件逻辑层

以 与或门 等逻辑电路组成。

  1. 微程序机器层

通过 微指令集 编写 微程序(机器指令) 提供硬件使用。

  1. 传统机器层

通过 CPU 指令集 编写程序提供给 微程序 使用,引导 CPU 工作等。

  1. 操作系统层

提供向上的对接应用接口和操作;
向下提供对于指令系统和硬件资源的管理

  1. 汇编语言层

汇编语言可以通过汇编器直接将其编译成机器可识别的机器码;
汇编语言也是人类可以方便阅读的最底层开发语言,很多语言和程序都是基础汇编开发出来的。

  1. 高级语言层

高级开发语言:JAVA之类

  1. 应用层

程序翻译和程序解释#

为了方便开发计算机相关功能,出现了很多的程序语言,来开发基于计算机的功能。但是计算机本身不懂人类的语言,人类也不懂计算机的语言(机器编码),所以需要对开发原因进行翻译或者解释。

程序翻译#

将开发语言,通过编译器翻译为可以被计算机理解的语言。这个过程叫 程序翻译。需要通过编译器翻译的开发语言,也通常被称为 编译型语言

Ex. C/C++、Objective-C、Go

程序解释#

还有另一种情况,那就是开发语言的开发内容会被输入到机器码编写的程序,然后直接运行。这个过程被称为程序解释,处理这个过程的就是解释器。这类开发语言也通常被称为 解释型语言

Ex. Python、JavaScript、Php

例外#

实际上,为了提高效率方便开发,现代语言中很多会选择两种都使用,比如 JAVA 和 C#,它们就是 翻译+解释 的语言。

Ex. JAVA

JAVA 首先会编译成为 JAVA字节码,然后通过虚拟机,将 JAVA字节码 解释成机器码

参考#

Crash Course Computer Science
常见计算机组成原理知识
适合大忙人的编程必备基础知识

iOS 开发整理 .bash_profile在zsh中生效

Comentarios

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×