1.比特率

  比特率(bit rate)又称传信率、信息传输速率(简称信息速率,information rate)。其定义是:通信线路(或系统)单位时间(每秒)内传输的信息量,即每秒能传输的二进制位数,通常用Rb表示,其单位是比特/秒(bit/s或b/s,英文缩略语为bps)。

  在二进制系统中,信息速率(比特率)与信号速率(波特率)相等,例如,当系统以每秒50个二进制符号传输时,信息速率为50bit/s,信号速率也为50Bd(波特)。在无调制的情况下,比特率等于波特率;采用调相技术时,比特率不等于波特率。通信系统的发送设备和接收设备必须在相同的波特率下工作,否则会出现帧同步错误。


2. 波特率

  波特率(Baud rate)又称传码率、码元传输速率(简称码元速率)、信号传输速率(简称信号速率,signaling rate)或调制速率。其定义是:通信线路(或系统)单位时间(每秒)内传输的码元(脉冲)个数;或者表示信号调制过程中,单位时间内调制信号波形的变换次数,通常用RB表示,单位是波特(Bd或Baud,前者规范)。如果每秒传输1个码元就称为1Bd;如果1码元的时间长短为200ms,则每秒可传输5个码元,那么码元速率(波特率)就是5Bd。

  波特率(码元速率)并没有限定是何种进制的码元,所以给出波特率时必须说明这个码元的进制。对于M进制码元,比特率(信息速率)Rb与波特率(码元速率)RB的关系式为
Rb=RB·lbM
式中:lbM=log2M,表示M的以2为底的对数。显然,对于二进制码元,由于lb2=1,所以Rb=RB,即波特率与比特率在数值上相等,但单位不同,也即二者代表的意义不同。

  例如,波特率为600Bd,则在二进制时,比特率也为600bit/s;在四进制时,由于lb4=2,所以比特率为1200bit/s。可见,在一个码元中可以传送多个比特。


3. 数据传输率

  数据传输率(data transfer rate)又称数据传输速率、数据传送率。其定义是:通信线路(或系统)单位时间(每秒)内传输的字符个数;或者单位时间(每秒)内传输的码组(字块)数或比特数。其单位是字符/秒;或者码组/秒、比特/秒(可见,当数据传输率用“bit/s”作单位时,即等于比特率)。

  例如,在某计算机异步串行通信系统中,数据传输率为960字符/s,每个字符包括1个起始位、8个数据位、1个停止位,则对应的比特率为10×960位/s=9600位/s=9600bit/s;因为是二进制编码,所以对应的波特率也为9600Bd。

4.波特,码元,比特

  波特(Bd)是计量单位,用于量度调制解调器等设备每秒信号变化次数的多少,即表示每秒时间内通信线路状态改变的次数,而不代表传输数据的多少。“波特”一词源于一位法国人的名字——Baudot。他于1877年为法国电报系统开发了一种编码方案。如果每1次信号改变,调制解调器传送1bit(位)数据,那么该系统的比特率(信息速率)与波特率(码元速率)相同。但是采用编码技术后,能使1Bd(1次信号改变)表示2bit或更多的比特(位)。每波特表示2bit(位)称作双位编码,每波特表示3bit(位)称作三位编码。也就是说,1次电压(或电流)波形的变化可能包括了几位数据,因此,不能把波特率和比特率混为一谈;前者指电压(或电流)变化次数(变化量),后者指传输数据量的多少。

       码元(code cell)是携带信息的数字单位,是指在数字信道中传送数字信号的一个波形符号,也即“时间轴上的一个信号编码单元”。码元可能是二进制的,也可能是多进制的。

  比特(bit)是“信息量”的计量单位,1位二进制数所携带的信息量即为1bit(比特),例如,10010110是8位二进制数字,所携带的信息量为8bit。


 

中断请求和可编程中断控制器(IRQs and PICs

中断请求(IRQs)是由硬件设备触发的中断。一些设备在有数据读取准备好时或者完成一个命令时(如:将一个缓存写入磁盘)会产生一个IRQ。当一个设备任意时刻需要处理器关注时都将产生一个IRQIRQs可以由任意设备产生,从网卡、声卡到鼠标、键盘和串口。

任何IBM PC/AT兼容计算机(286及以上处理器)都有2个芯片用于管理IRQs。这2个芯片被称为可编程中断控制器(PICs)。这些PICs还被称为8259。一个8259作为IRQ控制器,另一个作为IRQ控制器。IRQ控制器与IRQ控制器上的IRQ2相连。IRQ控制器则直接与处理器本身相连,发送信号。每个PIC能处理8IRQsIRQ控制器处理第0~7 IRQsIRQ控制器处理8~15 IRQs。谨记IRQ控制器通过IRQ2连接到IRQ控制器:这意味着每当有8~15 IRQ发生时,IRQ2就会即时触发。

当一个设备发动一个IRQ信号时,就会产生一个中断,并且CPU暂停正在进行的工作,调用ISR处理相应的IRQ。然后,CPU执行必要的操作(如:从键盘读取),然后,它必须告诉发送中断的PICCPU已经执行完正确的程序。CPU通过向相应PIC的命令寄存器写入16进制命令字节0x20来告诉PIC中断已经完成。IRQ控制器的命令寄存器在I/O 端口0x20,而IRQ控制器的命令寄存器在I/O 端口0xA0


 

  计算机上挂接着许多外部设备,比如键盘、磁盘驱动器、鼠标、声卡……等等,而这些设备都可能在同一时刻向CPU发出中断信号,那么CPU到底应当响应哪一个设备的中断信号呢?这都通过另外一个芯片来控制,在PC机中,这个芯片常常被称作:可编程中断控制器(PIC)8259A。

  一个8259A芯片有8根中断请求(IRQ)信号线:IRQ0~IRQ7。免费论文。每个外部设备使用一根或多个外部设备共用一根中断信号线,它们通过IRQ发送中断请求,8259A芯片接到中断请求后对中断进行优先级选定,然后对多个中断中具有最高优先级的中断进行处理,将其所对应的中断向量送上通往CPU的数据线,并通知CPU有中断到来。免费论文。
对于CPU来说中断就是中断,只有一种,无论是由外部硬件触发的还是由运行的软件本身触发的,中断处理的过程都是一样的:中断现行程序,转到中断服务程序处执行,回到被中断的程序继续执行。CPU对于其它的模块只提供了一种接口,即是 256个中断处理向量,也称为中断号。由这些中断控制器自行去使用这256个中断号中的一个与CPU进行交互。中断号是由中断服务程序一一对应的。免费论文。一个中断号就是一个中断服务程序,8259A将中断号通知CPU后,它的任务就完成了,使用此中断号去调用什么程序由CPU支配。