计算机组成原理(一)概述篇

四、计算机的层次与编程语言

4.1 程序翻译与程序解释

4.1.1 为什么需要程序翻译

人类语言和计算机语言并不相同,计算机只能解析0101比特位,所以我们需要进行程序翻译进行语言之间的转换。

4.1.2 程序翻译

对于程序翻译和程序解析需要借助两种语言举例说明:

  1. 较为高级的计算机语言L1
  2. 较为低级的计算机语言L0

较为高级的计算机语言L1的执行流程
编译器:参考JVM
程序翻译执行流程

程序解释流程
程序解释流程

4.1.3 对比分析

  1. 计算机执行的指令都是L0
  2. 程序翻译过程是经过翻译器生成的新的L0语言,程序解释过程并不生成新的L0程序,而是将高级语言L1作为程序输入经过解释器去解释L1程序

举例:Java作为高级语言执行过程
Java程序经过编译器生成class文件,再经过JVM虚拟机解释执行字节码文件生成机器码执行。

4.2 计算机的层次与编程语言

示意图

4.2.1 分层概念

  1. 硬件逻辑层:电子工程领域,由逻辑电路组成。 微程序机器层:编程语言是微指令集,微指令所组成的微程序由硬件执行。
  2. 传统机器层:编程语言是CPU指令集(机器指令),编程语言和硬件直接相关。
  3. 操作系统层:软件和硬件之间的适配层,向上提供简易的操作界面,向下对接了指令系统,管理硬件资源
  4. 汇编语言层:编程语言是汇编语言,汇编语言可以直接翻译成可执行的机器语言,完成翻译的过程就是汇编器。 高级语言层:例如Java、C等
  5. 应用层:满足计算机针对某种用途专门设计的,例如Word

4.2.2 微指令、微程序、机器指令关联

一条机器指令对应一个微程序,一个微程序对应一组微指令

五、计算机的计算单位

5.1 容量单位

举例:256M的光盘,4G的内存条,2T的硬盘的等

简述:在物理层面上,使用高低电平记录信息,理论上只认识0和1两种状态。0和1也被称为bit(比特位)

存在问题:使用0和1来记录信息可以,但是能够表示的内容太少了,需要更大的容量表示方法

解决使用字节 = 8个比特位来表示计算机的容量,早期可以,但是假如10000Bytes表示容量太过于繁琐,后续又诞生了一些容量单位表示。 1024 = 2^10

换算方法

简单练习:
1G内存,可以存储多少字节的数据?可以存储多少比特数据?

 1G = 1024MB 1MB = 1024KB 1KB = 1024B 1B = 8bit 1G = 1024

为什么网上购买的移动硬盘500G,格式化之后只剩下456G了?
硬盘商一般用10进位标记容量,500*10^3/1024^3约等于465G

5.2 计算单位

5.2.1 速度单位

5.2.1.1 网络速度

在这里插入图片描述
这里的M指代的是什么?
答:指代的是网络速度
在这里插入图片描述

5.2.1.2 CPU频率

简述

  1. CPU的速度一般体现为CPU的时钟频率
  2. CPU的时钟频率的单位一般是HZ
  3. 主流的CPU的时钟频率都是2GHZ以上
  4. 并不是描述计算机术语

HZ:秒分之一,每秒中的周期性变动重复次数的计量,eg:蝴蝶的翅膀15HZ。使用HZ描述CPU频率,描述高低电平在每秒钟变换的次数
在这里插入图片描述

六、计算机的字符与编码集

6.1 字符编码集历史

6.1.1 ASCII码

ASCII码
高低电平用来记录信息,7个比特位,每个比特位的位置都有两种方式共2^7 = 128 种

  1. 包含95个可打印字符
  2. 33个不可打印字符(包括控制字符)
  3. 共128种,使用7个比特位即可描述所有的ASCII码

7个比特位
ASCII表
图示

6.1.2 Extended ASCII码

随着计算机的发展,很多应用或者国家符号都无法表示,此时使用8bit位进行扩展,使用不多仅作简述共2^8 = 256种
在这里插入图片描述

6.1.3 字符编码集的国际化

相当于又进一步的扩展,例如语言体系不一样,中文就不以有限的字符组合,如此的还有日文和韩文

6.2 中文编码集

GB2312
存在问题:不符合国际的标准,又进一步扩展GBK,GBK默认兼容GB2312,承上启下的产物

GBK

存在问题:只是本地化的编码,在国内使用没问题,跨国使用有问题。
例如:开发中文网站使用GBK编码,如果外国友人在本机没有安装GBK编码就会产生乱码情况
解决:不仅要有本地化的编码还要有全球化的规范,及Unicode,兼容全球的字符集

UTF-8
编程推荐:UTF-8,Windows默认使用GBK编码,在编程时需要注意,一开始使用文本编辑器进行运行代码时特别要注意防止乱码出现。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值