计算机系统基础知识(一)

本文详细介绍了嵌入式计算机系统的基本概念,包括硬件构成(运算器、控制器、存储器、输入输出设备)及其功能,以及冯·诺伊曼结构。同时涵盖了计算机软件分类、数据表示(包括进制转换、数值表示方法、ASCII码、Unicode等)和校验码的几种常见类型。
摘要由CSDN通过智能技术生成

一、嵌入式计算机系统概述

        定义:嵌入式系统以应用为中心、以计算机技术为基础,软硬件可剪裁,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。其硬件是物理装置,软件则是程序、数据和相关文档。

1.计算机硬件

        主要分为5大部件:运算器、控制器、存储器、输入设备和输出设备。其中运算器和控制器如今集成为一体,统称为中央处理单元(Central Processing Unit),即CPU。

        运算器是对数据进行加工处理的部件,主要实现算数与逻辑运算,其核心是算数逻辑单元(Arithmetic and Logical Unit,ALU),运算器包含若干通用寄存器,如累加器(ACC)、乘商寄存器(MQ)、操作数寄存器(X)等。运算器内还有程序状态字寄存器(PSW,也称标志寄存器),用于存放一些状态信息。

        控制器主要功能是从主存中取出指令并进行分析,以控制各部件有条不紊的完成指令功能。控制器由程序计数器(PC)、指令寄存器(IR)和控制单元(CU)组成。PC存放欲执行指令地址,IR存放当前指令,并指令中的操作码OP(IR)送至CU,用以分析指令并发出各种微操作命令序列。

        存储器又分为主存(Main Memory,MM)和外存。主存又由地址寄存器(MAR)、数据寄存器(MDR)和存储体组成,主存具有掉电易失性,其速度快、容量小,一般用于临时存放计算机运行时所需的程序、数据及运算结果。外存容量大、速度慢,可用于长期保存信息。

        输入设备:鼠标、键盘等输入信息或命令给主机的设备。

        输出设备:显示器、打印机等主机输出给用户的设备。

冯·诺伊曼结构 

2.计算机软件        

        计算机软件是指管理、运行、维护及应用计算机系统开发的程序及相关文档的集合。通常可将计算机软件分为系统软件、中间件和应用软件。

        系统软件的主要功能是管理计算机系统的硬件和软件资源,常见的系统软件如操作系统。

        应用软件则用于解决应用领域的具体问题,例如聊天、视频等软件。

        中间件是一类独立的系统软件或服务程序,常用来管理计算资源和网络通讯,提供通信处理、数据存取、事务处理、Web服务、安全、跨平台等服务。

3.计算机分类

        从不同角度可对计算机进行不同的分类,个人移动设备、桌面计算机、服务器(提供大规模和可靠的文件及计算服务)、集群/仓库计算机(将桌面计算机或服务器联网,分布式计算)、超级计算机和嵌入式计算机是其中一种分类方式。

二、数据表示

1.进制计数制及转换

        需了解的名词:

        基数:即逢几进一。

        权:基数的i次方

        形式表示符:二进制(B)、八进制(O)、十进制(D)、十六进制(H)

2.数值型数据的表示

        (1)原码表示

        对于一个n位二进制,其最高位表示符号位,其余n-1位表示数值的绝对值。其真值0有正零和负零两种表示方式,0000 0000和1000 0000。

        (2)反码表示 

        正数的反码与原码同,负数的反码则是原码的符号位不变,其余各位取反,例如-3的真值是-0000 0111,其原码为1000 0111,其反码为1111 1000。

        (3)补码表示

        正数的补码与原码同,负数的原码为其反码+1,同样以-3为例,其反码为1111 1000,其补码为1111 1001,相较于反码,末位加一。在补码中,0有唯一编码:0000 0000。

        (4)移码表示

        移码表示法是在数值上增加一个偏移量表示的,常用于表示浮点数的阶码。对于数值的移码表示,只需将其补码的符号位取反即可,故移码中0也有唯一编码:1000 0000。

        (5)定点数与浮点数

        定点数即小数点位置固定不变,通常有定点小数和定点整数两种约定方式。

        机器字长为n时各种码制表示的带符号数的范围如下: 

码制定点整数定点小数
原码-(2^{n-1}-1)\sim+(2^{n-1}-1)-(1-2^{-(n-1)})\sim+(1-2^{-(n-1)})
反码-(2^{n-1}-1)\sim+(2^{n-1}-1)-(1-2^{-(n-1)})\sim+(1-2^{-(n-1)})
补码-2^{n-1}\sim+(2^{n-1}-1)-1\sim+(1-2^{-(n-1)})
移码-2^{n-1}\sim+(2^{n-1}-1)-1\sim+(1-2^{-(n-1)})

        对于浮点数,其小数点的位置并不固定,因此可以表示更大范围的数。为了提高浮点数表示精度,需要对浮点数进行规格化,其尾数的最高有效位应该为1,浮点数的表示格式如下: 

阶符阶码数符尾数

        (6)工业标准IEEE754

        该标准的表示形式如下:

SPM

        其中,S为数的符号位,0正1负;P为指数,用移码表示(偏移值为2^{p-1}-1,p为阶码的位数);M为尾数,用原码表示。

        例:176.0625=10110000.0001,对其规格化为2^{7}X1.01100000001,对于IEEE754标准,其尾数最高位会被隐藏,故符号为0,阶码为7+127(偏移)=134=10000110,尾数为01100000001000000000000,故0 10000110 01100000001000000000000为标准下的单精度浮点数。

        对于阶码全0或全1,有不同的涵义:

        不同形式的IEEE754浮点数格式也不同:

3.其他数据的表示

(1)十进制与字符的编码表示

        8421码:它是一种有权码,设其各位数值为b3,b2,b1,b0,其权值从高到低依次为8,4,2,1,它表示的十进制为8b3+4b2+2b1+b0,如8->1000。

        余3码:它是一直无权码,是在8421码上加3(0011)形成的。

        格雷码:编码规则为相邻两个代码之间只有1位不同,例:1->0001,2->0011,3->0010。

(2) ASCII码

        ASCII采用7个二进制位,是国际通用的信息交换标志代码。代码太多,有兴趣可以自己去网上查,这里不再赘述。

(3)汉字编码

        计算机处理汉字时必须将汉字编码,才能被机器识别。

  • 输入码:分为数字编码、拼音码和字形编码。数字编码为常用国标区位码,即将6763个两级汉字分成94个区,每个区94位,如“中”在第54区48位,区位码为5448;拼音码以汉语读音为输入方式;字形编码以汉字形状为输入方式,如五笔输入。
  • 内部码:内部码为汉字在机器内部传输,处理的代码,如机内码就是将国标码的每个字节的最高位置1。
  • 字形码:即表示汉字字形的字模数据,通常用点阵、矢量函数表示。点阵有16x16,24x24,32x32等,点阵越大汉字精度越高。

        区位码、国标码、机内码的转换:

        国标码 = 区位码 + 2020H
        机内码 = 国标码 + 8080H

        如“中”的区位码为5448->3630H(区号和位号分别转换成十六进制)

        国标码=3630H+2020H=5650H

        机内码=5650H+8080H=C6C0H

(4)Unicode

         国际化标准组织公布了“通用多八位编码字符集”国际标准ISO/IEC 10646,即UCS(Universal Coded Character Set)。Unicode为软件制造商协会开发。

        UCS规定两种编码格式UCS-2和UCS-4,两字节编码和四字节编码。

        Unicode标准定义UTF-8、UTF-16、UTF-32为UCS编码。UTF表示UCS Transformation Format,对应表如下:

UCS-2编码(十六进制)UTF-8字节流(二进制)
0000-007F0xxxxxxx
0080-07FF110xxxxx 10xxxxxx
0800-FFFF1110xxxx 10xxxxxx 10xxxxxx

        我国国家标准为GB 13000,等同于UCS ISO10646.1。 

4.校验码

(1)奇偶校验码

奇偶类水平垂直奇校验码水平垂直偶校验码
分类水平校验位数据水平校验位数据
数据11 0 1 0 0 1 0 101 0 1 0 0 1 0 1
10 0 1 1 0 1 1 000 0 1 1 0 1 1 0
11 1 0 0 1 1 0 0 01 1 0 0 1 1 0 0
01 0 1 0 1 0 1 111 0 1 0 1 0 1 1
垂直校验位00 0 0 0 1 0 1 111 1 1 1 0 1 0 0

(2)海明码

(3)循环冗余码 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值