计算机类专业入门知识

一.计算机发展简史

以物理材料划分

  • 第一阶段1946-1957:电子管计算机
    特点:集成度小,空间占用大;功耗高,运行速度慢;操作复杂,更换程序需要重新接线。第二次世界大战是电子管计算机的催化剂。ENIAC是其中的代表。
  • 第二阶段1957-1964:晶体管计算机
    特点:集成度相对较高,空间占用相对小;功耗相对较低,运行速度较快;操作相对简单,交互更加方便。晶体管的发明促使了晶体管计算机的诞生。TX-0、PDP-1是其中的代表。
  • 第三阶段1964-1980:集成电路计算机
    特点:计算机变得更小;功耗变得更低;计算速度变得更快。集成电路的发明促使了集成电路计算机的诞生。操作系统也同期诞生。
  • 第四阶段1980-至今:超大规模集成电路计算机
    特点: 一个芯片集成了上万的晶体管;速度更快,体积更小,价格更低,更能被大众接受;用途丰富。
  • 未来计算机:生物计算机(体积小,效率高;不易损坏,生物级别的自动修复;不受信号干扰,无热损耗)、量子计算机

二.微型计算机

2.1微型计算机的发展历史

从计算机第三阶段开始的,以算力作为衡量标准

  • 单核CPU
    摩尔定律:集成电路的性能,每18-24个月就会提升一倍。该定律21世纪慢慢失效。
  • 多核CPU
    单核CPU发展达到瓶颈,2005因特尔首先提出双核CPU。

三.计算机分类

  • 超级计算机
    功能最强、运算速度最快、存储容量最大的计算机。多用于国家高科技领域和尖端技术的研究。运算速度单位为TFlop/s(每秒一万亿次浮点计算)。
  • 大型计算机
    又称大型机、大型主机、主机等。具有高性能,可处理大量数据与复杂的运算。常用于银行证券交易数据、人口普查等。用于大型机的编程语言:COBOL。
  • 迷你计算机(服务器)
    也称小型机、普通服务器。不需要特殊的空调场所。具备不错的算力,可以完成较复杂的运算。普通服务器已经替代了传统的大型机,成为大规模企业计算的中枢。
  • 工作站
    高端的通用微型计算机,提供比个人计算机更强大的性能。类似于普通台式电脑,体积较大,但性能强劲。
  • 微型计算机(个人计算机)
    是最普通的一类计算机,有台式机、笔记本电脑、一体机三种。麻雀虽小 ,五脏俱全,从构成来讲,微型计算机与前面的计算机无异。

四.计算机的体系与结构

4.1 冯·诺伊曼体系

将程序指令和数据一起存储的计算机设计概念结构。现代计算机都是冯诺伊曼机。

  • 必须有一个存储器
    能够长期记忆程序、数据、中间结果及最终运算结果的能力。
  • 必须有一个控制器
    控制其他部件。
  • 必须有有一个运算器
    能够具备算术、逻辑运算和数据传送等数据加工处理的能力。
  • 必须有输入设备
    能够把需要的程序和数据送至计算机中。
  • 必须有输出设备
    能够按照要求将处理结果输出给用户。
    早期冯诺伊曼机的CPU(运算器+控制器)和存储器是分开的,这种结构会导致一个问题——冯诺伊曼瓶颈。

4.2 冯·诺伊曼瓶颈

CPU(快)和存储器(慢)速率之间的问题无法调和,CPU经常空转等待数据传输。

4.3 现代计算机的结构

本质上仍是冯·诺伊曼体系结构的计算机,在原有冯·诺伊曼体系结构上做了改变来解决冯·诺伊曼瓶颈。
将CPU与存储器放在一个芯片上,需要强调的是,这里所说的存储器并非全部存储器,而是与CPU有关的高速存储器(CPU寄存器、内存)。
现代计算机的结构是以存储器为核心。

五.计算机的层次与编程语言

5.1 程序翻译与程序解释

人类语言和计算机语言是不通的,所以需要程序翻译和程序解释。
假设有较为高级的计算机语言L1和较为低级的计算机语言L0。

5.1.1 程序翻译

使用L1编写一个程序,执行该程序时先由编译器生成一个逻辑等价的由L0编写的程序,L0是计算机实际执行的语言。上述的生成过程即为程序翻译。
翻译型语言:C/C++,Object-C,Golang

5.1.2程序解释

L1编写一个程序A,L0编写一个程序B。执行A时,把A作为程序B的输入,A中每一个L1语句都会在程序B中等价的逻辑转换为L0语句来执行,这个过程就是程序解释。程序B就是解释器。
解释型语言:Python,PHP,Javascript

注:严格来讲Java、C#是翻译+解释型语言,它们先将程序编译(翻译)为字节码,之后解释为机器码。

5.2 程序翻译与程序解释的同异

  • 计算机执行的指令都是L0
  • 翻译过程生成新的L0程序,解释过程不生成新的L0程序
  • 解释过程由L0编写的解释器去解释L1程序

5.3计算机层次与对应的语言

分层的目的是便于理解,分层不是固定的,今天的软件可能变成明天的硬件。

计算机层次(高—>低)
应用软件应用层虚拟机器
系统软件高级语言层虚拟机器
系统软件汇编语言层虚拟机器
系统软件操作系统层虚拟机器
传统机器层实际机器
微程序机器层实际机器
硬件逻辑层实际机器
  • 硬件逻辑层:门、触发器等逻辑电路组成,属于电子工程的领域。
  • 微程序机器层:编程语言是微指令集,微指令所组成的微程序直接交由硬件执行。
  • 传统机器层:编程语言是CPU指令集(机器指令),程序员在这一层用机器指令编写的程序可以交由微程序直接解释,CPU指令据存储在CPU内部,对CPU运算进行指导和优化。编程语言与硬件直接相关。不同架构的CPU(比如英特尔和AMD)使用不同的CPU指令集。
    注:一条机器指令对应一个微程序;一个微程序对应一组微指令。即机器指令=微程序>微指令。
  • 操作系统层:向上为用户提供了建议的操作界面;向下对接指令系统,管理硬件资源;操作系统层是在软件和硬件之间的适配层。
  • 汇编语言层:编程语言是汇编语言;汇编语言可以翻译成可直接执行的机器语言;完成翻译过程的程序就是汇编器。
  • 高级语言层:编程语言为广大程序员所接受的高级语言;高级语言的类别非常多,有几百种。
  • 应用层:满足计算机针对某种用途而设计的应用。

六.计算机的计算单位

6.1 容量单位

bitByteKBMBGBTBPBEB
名字比特位字节千字节兆字节吉字节太字节拍字节艾字节
比例-8bits1024B1024KB1024MB1024GB1024TB1024EB
常见设备门电路-寄存器高速缓存内存/硬盘硬盘云硬盘数据仓库

1024=2^10
问题:为什么网上买的移动硬盘500G,格式化之后就只剩465G?
答:硬盘商一般使用10进制标记容量。(500*10003)/10243≈465

6.2 速度单位

6.2.1 网络速度

问题引入:为什么电信拉的100M光纤,测试峰值速度只有12M每秒?
答:因为网络常用单位为Mbps,100M/s=100Mbps=100Mbit/s=(100/8)MB/s=12.5MB/s。

6.2.2 CPU频率

  • CPU的速度一般体现为CPU的时钟频率。
  • CPU的时钟频率的单位一般是赫兹。
  • 主流CPU的时钟频率都在2GHz以上。
    赫兹(Hz):Hz其实就是秒分之一,是每秒钟的周期性变动重复次数的计量。Hz并不是描述计算机领域专有的计算单位,在计算机中表达高低电平在每秒钟的变化次数。

七.计算机的字符与编码集

7.1 字符编码集的历史

7.1.1 ASCII码

  • 使用7个bits就可以完全表示ASCII码
  • 包含95个可打印字符
  • 33个不可打印字符(包括控制字符)
    33+95=128=27

7.1.2 Extended ASCII码

7bits->8bits

  • 增加常见数学运算符
  • 带音标的欧洲字符
  • 其他常用符、表格符等

7.1.3 字符编码集的国际化

  • 欧洲、中亚、东亚、拉丁美洲国家的语言多样性
  • 语言体系不一样,不以有限字符组合的语言
  • 中日韩等语言最为复杂

7.2 中文编码集

  • GB2312:国标2312是我国最早(1990年)最完备的中文编码集,包含6763个汉字和682个其他符号,一共收录7445个字符。
  • GBK:《汉字内码扩展规范》,向下兼容GB2312,向上支持国际ISO标准,收录21003个汉字,支持全部中日韩文字。
  • Unicode:也叫统一码、万国码、单一码,包含世界上所有已知字符,定义了世界通用的符号集,使用UTF-*实现了相关编码,比如:UTF-8、UTF-16都是Unicode不同的编码方式,UTF-8以字节为单位对Unicode进行编码。
    注:Windows系统默认使用GBK编码,编程推荐使用UTF-8编码。
  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值