计算机组成原理的概述

简介: 计算机组成原理的概述

计算机组成原理的概述


最近在看一些计算机基础课,边看边输出总结吧,方便自己查阅,也希望对读者有用。

计算机发展的四个阶段

  • 电子管计算机(第二次世界大战因为破解密文发明的):1946-1957
  • 晶体管计算机:1957-1964
  • 集成电路计算机(IBM可以卖电脑,且操作系统有了雏形):1964-1980
  • 超大规模集成电路计算机(乔布斯发明了一代苹果电脑):1980-现在

网络异常,图片无法展示
|
网络异常,图片无法展示
|
网络异常,图片无法展示
|
网络异常,图片无法展示
|

微型计算机的发展历史

集成电路计算机之后就算是微型计算机了

  • 单核CPU:1971-现在
  • 多核CPU:2005-现在

网络异常,图片无法展示
|
网络异常,图片无法展示
|

计算机的分类

  • 超级计算机:运算速度超过TFlops/s(每秒一万亿次浮点运算)
  • 大型计算机:IOE基本包揽(IBM ORACLE EMC,但维护费用很高,阿里在2008年提出”去IOE“,于是有了2009年的阿里云)
  • 迷你计算机(服务器):联想、华为、浪潮等生产
  • 工作站:性能比普通计算机强劲,适用于图形或视频工作者
  • 微型计算机:就我们普通用的电脑,分为台式机、笔记本、一体机

网络异常,图片无法展示
|
网络异常,图片无法展示
|
网络异常,图片无法展示
|
网络异常,图片无法展示
|

计算机的体系

早期的计算机功能单一,想要切换功能,需要重新接电路之类的复杂操作。

冯诺依曼把程序指令和运行数据存储起来,使得计算机从专用电路计算机发展成为通用电路计算机,这也称为也成为冯诺依曼体系

为了实现能切换功能,冯诺依曼体系的主要组成部分如下:

  • 存储器:存储程序和数据
  • 控制器:切换程序
  • 运算器:运算
  • 输入设备:把需要的程序和数据送至计算机
  • 输出设备:按照要求把处理输出给用户

网络异常,图片无法展示
|
网络异常,图片无法展示
|

冯诺依曼的瓶颈:CPU是由控制器和运算器组成,而CPU运行速度远高于存储器的速率,导致CPU经常空转,从而计算机性能无法提升

现代计算机这基础上进行了修改,将存储器放进CPU,以存储器为核心,根据局部性原理设计了存储器的层次结构,大幅提升计算机性能。

计算机的编程语言

人类语言:i am yan

计算机语言:01010110

两者并不相通,为了让计算机明白人类的语言,就需要翻译或者解释人类语言。

所以编程语言分为编译型语言和解释型语言。

  • 编译型:程序代码在编译阶段,提前翻译成较低层次的编程语言逻辑(整体),在运行时直接运行。如C++、 OC、GoLang
  • 解释型:程序代码在运行阶段,逐行翻译成较低层次的编程语言去执行。如PHP、Python、Javascript
  • 有些语言则是两者的混合,C#、Java,如:Java => 编译 => JVM字节码(JVM虚拟机) => 解释 => 机器码

计算机的层次结构

先说三个概念

  • 机器语言:是方便计算机理解和运行的编程语言,一般程序员无法理解,如0101
  • 汇编语言:是方便程序员描述硬件逻辑的编程语言,与底层硬件接近,如PUSH DS;MOV DS,AX
  • 高级语言:是程序员接触的高级语言,与人类语言接近,如Python、Java

为了理解计算机的整体体系,将其大致划分为7个层次结构,从下到上:

  • 硬件逻辑层:门、触发器等逻辑电路组成,属于电子工程领域
  • 微程序机器层:编程语言是微指令集,微指令所组成的微程序直接交由硬件执行,由硬件公司的程序员编写
  • 传统机器层:编程语言是CPU指令集,编程语言和硬件直接相关,不同架构的CPU使用不同的CPU指令集
  • 操作系统层:向上提供操作界面,向下对接了指令系统管理硬件资源,是位于软件和硬件之间的适配层
  • 汇编语言层:编程语言是汇编语言,经过汇编器可以直接翻译成可执行的机器语言
  • 高级语言层:编程语言是程序员接触的高级语言,如Python、Java、GoLang、C/C++
  • 应用层:满足计算机针对某种用途而专门设计的APP,如Word

网络异常,图片无法展示
|

计算机的计算单位

主要是容量单位和速度单位

容量单位

计算机在物理层面,用高低电平记录信息,高表示1低表示0,只认识0/1两种状态,0/1也就是一个比特位bit

1个bit能表示的信息太少了,后来用8个bit表示一个字节,也就是 1Byte = 8bits

后来Byte也不足以描述容量,于是有了更大的单位

网络异常,图片无法展示
|

1G = 1024MB = 1024*1024KB = 1024*1024*1024B = 1024*1024*1024*8bits

也就是 1G = 1024^3B

这里有个梗,买电脑的时候说的500G硬盘,到家打开发现只有465G?

因为厂商的1G = 1000^3B,换算成真实的容量500*1000^3/1024^3 = 465G

速度单位

  • 网络速度:描述网络速度的常用单位是比特率,是指每秒传送的比特(bit)数。单位为 bps(Bit Per Second),比特率越高,每秒传送数据就越多。
  • CPU速度:描述CPU速度的常用单位是Hz,表示是每秒中的周期性变动重复次数的计量,也可以简单理解为在单位时间内完成振动的次数。如蝴蝶的翅膀震动的频率是15Hz,表示1s中翅膀震动15次,蜜蜂是400Hz。CPU这里表示高低电平变换的频率。

网络异常,图片无法展示
|

再说一个梗:为啥光纤说的百兆宽带,实际使用中只有12M多?

因为:100Mbps = 100Mbit/s = (100/8)MB/s = 12.5MB/s

为什么人能听到蜜蜂的声音听不到蝴蝶的声音?

因为:人耳听到的范围是20Hz~2wHz

计算机的字符和编码集

字符编码集的历史

  • ASCII编码集:共有128个字符(95个可打印,33不可打印的字符),128 = 2^7,所以使用7个bits就可以表示所有的ASCII码

网络异常,图片无法展示
|

  • 扩充ASCII编码集:随着计算机开始普及,一些字符就不能用ASCII码表示了,如π,于是开始将7个bits变成8个bits,从而可以表示255个字符

网络异常,图片无法展示
|

  • Unicode标准:普及到各个国家,需要兼容各个国家的语言,于是有了unicode标准,可以用不同的编码实现,比如UTF-8、UTF-16、UTF-32。编程推荐utf-8

中文编码集的发展

  • GB2312:1980年诞生的,但是不符合国际标准,外国人访问中国网站,因为本地没有,所以会乱码
  • GBK:1995年诞生的,向下兼容了GB2312且向上支持国际ISO标准,收录21003个字符,支持中日韩汉字

一个问题,假设有10000个汉字,6000个日本字,3000个韩国字,1000个特殊字符,如果让你设计一套通用的编码集,请问每个字至少几个比特位?

1个比特位,只能表示2种信息,0表示1种,1表示1种。 2个比特位,能表示4种信息,00、01、10、11 对,就是排列组合,n个比特位能表示2^n种信息 于是,10000+6000+3000+1000 = 20000 < 2^15,也就是15个比特位

引用

本文图片是截图自咚咚呛老师的编程基础课

本文多数是总结性文字,也部分引用课程文字~

目录
相关文章
|
4月前
|
存储 Java 程序员
计算机组成原理概述篇
计算机发展简史 计算机发展的四个阶段 image-20220107145623934 第一个阶段:电子管计算机 ENIAC 集成度小,空间占用大 功耗高,运行速度慢 操作复杂,更换程序需要接线;
18 0
|
5月前
|
存储 编译器 芯片
【计算机组成原理】知识点巩固 - 存储器概述
【计算机组成原理】知识点巩固 - 存储器概述
360 1
|
7月前
|
数据处理
计算机的基础知识1
计算机的基础知识1
25 0
|
存储 编译器 C语言
计算机组成原理 第二章
计算机组成原理 第二章
237 0
|
算法 编译器 数据格式
计算机组成原理/计算机硬件基础 第四章
计算机组成原理/计算机硬件基础 第四章
150 0
计算机组成原理/计算机硬件基础 第四章
|
芯片 异构计算
计算机组成原理实验第一章
计算机组成原理实验第一章
102 0
|
存储
计算机组成原理章节简介
计算机组成原理章节简介
100 0
计算机组成原理<一>——计算机系统概述(思维导图)
计算机组成原理<一>——计算机系统概述(思维导图)
计算机组成原理<一>——计算机系统概述(思维导图)
|
存储 NoSQL
【计算机组成原理】第一章:计算机系统概述(上)
计算机如何识别并且处理数据? 通过高低电平来处理0-1数据。低电平表示二进制的0,高电平表示1。类似五个手指比喻成计算机接口的话,那么五个手指同时接收到的高低电平,就代表了接收到的二进制数据,如10001,或者00010等等。
【计算机组成原理】第一章:计算机系统概述(上)
|
存储 数据库管理
计算机组成原理复习题之计算机的基础概要
计算机组成原理,计算机基础概要,冯·诺依曼结构的特点,
121 0