嵌入式系统定义与分类详解

内容分享20小时前发布
0 0 0

table {
border-collapse: collapse;
width: 100%;
margin-bottom: 1rem;
}
th, td {
border: 1px solid #ddd;
padding: 8px;
text-align: left;
}
th {
background-color: #f2f2f2;
}
tr:nth-child(even) {
background-color: #f9f9f9;
}
pre {
background-color: #f8f8f8;
padding: 15px;
border-radius: 4px;
overflow-x: auto;
}

1、什么是嵌入式系统?尽可能多地给出不同的定义并说明理由。

文中给出的定义:

嵌入式系统是嵌入在更大电子设备中的计算系统,反复执行单一(或一小部分)功能,且通常不被设备用户注意到。

此外,还可以认为嵌入式系统是除桌面计算机和其他高配置计算机之外的计算系统。理由在于嵌入式系统的计算单元内置于更大设备中,专注于特定功能,与通用计算系统有明显区别。

2、识别我们身边的一些嵌入式系统,并说明将它们归类为嵌入式系统的理由。

身边的嵌入式系统

身边的嵌入式系统包括:

手机

洗衣机

微波炉

汽车防抱死刹车系统

各系统特点说明

手机

能接收和传输信号,实现两人间通信

可收发短信、拍照、听广播、播放音乐、连接互联网等

功能多样,但无法像桌面电脑那样进行复杂科学计算

符合嵌入式系统特点

洗衣机

配备嵌入式控制器

能接收用户通过旋钮设置的输入

可重复执行洗涤工作

属于单功能嵌入式系统

微波炉

内置嵌入式系统控制加热等功能

按预设程序重复工作

汽车防抱死刹车系统

能根据车轮状态自动调节刹车力

确保行车安全

是专门用于汽车的嵌入式系统

具有与物理环境交互、满足特定功能需求等嵌入式系统特征

3、区分单功能和多功能嵌入式系统。分别给出它们的例子。如何区分多功能嵌入式系统和普通桌面计算机?

嵌入式系统分类与特点

单功能嵌入式系统

特点:重复执行单一任务

示例:洗衣机的嵌入式控制器

功能:接收用户旋钮设置输入

功能:执行洗涤任务

多功能嵌入式系统

特点:具备多种功能

示例:手机

基础功能:接收和传输信号实现两人间通信

扩展功能:

收发短信

拍照

收听广播

播放音乐

连接互联网

多功能嵌入式系统与普通桌面计算机的区别

特性 普通桌面计算机 多功能嵌入式系统
计算能力 能进行复杂科学计算 无法执行复杂科学计算
编程能力 可针对不同需求进行编程 不能进行此类编程

4、找出一些可以作为与环境交互的嵌入式系统一部分的仪器。

传感器和执行器可用于与环境交互,例如:


传感器

:如房间温度监测系统中的温度传感器。


执行器

:如用于控制房间加热/冷却设备的执行器。

5、区分主动系统和反应系统,并举例说明。


反应系统与环境持续交互,系统行为很大程度上依赖于环境中发生的事件,通常有一组状态,根据事件的发生进行状态转换。

例如,嵌入式系统中,传感器检测到火灾警报后立即激活灭火器的系统。

主动系统可能不具有交互性,一旦启动,可自行工作以产生输出。

6、解释嵌入式系统的主要特点。

嵌入式系统的主要特点如下:


单功能系统


多数嵌入式系统重复执行单一任务,但并非所有嵌入式系统都是单功能的。例如洗衣机的嵌入式控制器执行洗涤任务,手机除通信外还有多种功能,但不能像桌面电脑一样进行复杂科学计算。


与物理环境交互


通过传感器从环境收集数据,用执行器控制环境参数,如室温监测系统根据温度读数控制加热/冷却设备。


用户界面


与通用计算系统常见的键盘、鼠标、屏幕等不同,嵌入式系统通常有专用用户界面,由按钮、发光二极管、方向盘等组成,让普通用户感觉不到计算机和信息处理的存在。


可靠系统


常用于安全关键应用,如核电站、医疗仪器等,要求高度可靠,确保系统可靠性、易维护性、良好可用性、对环境的高度安全性以及处理信息的安全性。例如智能卡读卡器不应将卡信息泄露给无关机构。


严格受限系统


设计受多方面限制,如成本要低以使整个系统价格便宜,系统尺寸、性能和功率预算也对目标实现的选择有严格限制,为延长电池续航和减小电池组尺寸,系统必须是低功耗的。

7、什么是设计指标?请列举在嵌入式系统设计中需要考虑的各种设计指标。

设计指标

设计指标是嵌入式系统设计师希望实现的优化目标。在嵌入式系统设计中需要考虑的设计指标有:


系统成本

:包括一次性的非重复性工程成本和重复性成本。


尺寸

:硬件以硅面积衡量,软件指代码大小。


性能

:指设计系统的速度。


功率需求

:系统的功率需求和相关散热应非常低。


设计灵活性

:指规格有一定变化时修改系统所需的工作量。


设计周转时间

:从规格制定到产品推向市场所需的时间。


系统可维护性

:指系统投入使用后维护和监控其健康状况的难易程度。


功能测试和验证

:指检查系统功能并确保其正确运行的能力。

8、哪些因素使得功耗成为一个重要问题?

嵌入式应用中的电池续航考量

许多嵌入式应用围绕电池构建,电池续航是评判其能否被接受的关键因素。

需要考虑的重要问题

功耗限制

尺寸限制

I/O要求

操作占空比

涉及的实际因素


充电便利性

:某些嵌入式系统的电池难以充电或更换


设备尺寸

:电池技术未与IC技术同步缩小,设备重量和尺寸常受电池容量及相关尺寸影响


设备运行时长

:若设备大部分时间闲置,可设计掉电模式节能


设备所需功率

:需在初始设计阶段估算


I/O设备类型

:部分I/O接口功耗高,需避免或减少其工作时间


操作速度

:功耗与操作频率成正比,需确定各组件的最佳速度

9、什么是设计周转时间,为什么它应该尽可能短?

设计周转时间

设计周转时间是指从

系统规格确定

开始,到

产品推向市场

完成设计所需的时间。

由于

电子产品过时率很高

,所以这个时间必须尽可能短。这一要求常迫使设计师使用

现成组件

,而非对系统组件进行代价高昂的重新设计。

10、软件进程的寄存器传输级(RTL)规范是什么意思?

对于映射到通用处理器的进程,软件代码会被转换为汇编/机器语言指令。因为处理器仅在

寄存器传输级

(RTL)定义操作,所以这就实现了

RTL规范

11、典型的微控制器与微处理器有何不同?微控制器中通常存在哪些典型的架构模块?

微处理器用于个人计算机和其他高性能应用,而微控制器面向小型应用,运行频率可能低至32kHz,主要需求是降低功耗和成本。

微控制器是单芯片计算机,在单个芯片中结合了相对简单的 CPU,以及定时器、串行/并行、数字/模拟、输入/输出线路等支持,通常包含片上程序存储器和一个通常较小的读写存储器(通常称为暂存器),还提供了适当的接口设施以进一步扩展程序和数据存储器。

12、在嵌入式应用中,选择微控制器的指导因素有哪些?

选择微控制器的指导因素

选择微控制器时需要考虑以下因素:


微控制器的最高可用速度


是否满足当前应用需求。


芯片尺寸


如 40 引脚 DIP(双列直插式封装)、QFP(四方扁平封装)等,其决定了系统及设备的大小。


片上 ROM/RAM 空间


是否足够容纳程序代码,可根据设计约束决定是否使用外部存储器。


单个芯片的成本


其决定了整个系统的成本。


开发平台是否良好


以减少设计时间,最好具备片上调试功能(通过 JTAG 端口)和调试软件。


微控制器芯片的可用性

13、什么是‘特定应用’的 ARM 处理器?它对嵌入式系统设计师有什么帮助?


ARM 架构高度模块化,其处理器唯一的必需组件是**整数流水线**,其他组件如**缓存**、**内存管理单元(MMU)**、**浮点**和其他**协处理器**都是可选的。  
这使得开发者能够根据特定应用的需求,灵活地构建基于 ARM 的处理器,即“特定应用”的 ARM 处理器。  
这种灵活性有助于嵌入式系统设计师根据具体应用需求定制处理器,使设计更贴合实际需求。

14、解释 ARM 处理器的内部结构。

以 ARM7 为例,ARM 处理器内部结构的主要组件包括:


指令流水线和读数据寄存器



获取地址寄存器地址总线

A[31 : 0]

指向的内存位置内容,外部 32 位数据输入线

DATA[31 : 0]

将内容放入该寄存器。


指令解码器和控制逻辑



有多个控制输入决定处理器操作策略,输出多个用于处理器与其他外设接口的控制信号。


地址寄存器



保存下一条要获取的指令/数据的地址,地址总线

A[31 : 0]

由此产生,输入信号

ALE

决定时间。

15、解释 ARM7 处理器功能图中主要组件及其功能

ARM7 处理器主要组件及功能


指令流水线和读取数据寄存器


获取地址寄存器的地址总线 A[31:0] 所指向的内存位置的内容,外部 32 位数据输入线 DATA[31:0] 将内容存入该寄存器。


指令解码器和控制逻辑


有多个控制输入,决定处理器的操作策略,还输出多个用于处理器与其他外设接口的控制信号。


地址寄存器


保存下一条要获取的指令或数据的地址,地址总线 A[31:0] 由此产生,输入信号 ALE 确定时间。

16、ARM 中有多少个通用寄存器和专用寄存器?请解释它们的功能。

在用户模式下,ARM ISA 有 16 个通用寄存器,即 R0 – R15。其中:


R15

是程序计数器,也可作为通用寄存器进行操作;


R13

用作堆栈指针,不过这只是一种编程约定,ARM 指令集没有 PUSH 和 POP 指令,堆栈处理通过一组允许在单个操作中加载和存储多个寄存器的指令来完成;


R14

是链接寄存器,当进行过程调用时,返回地址会自动存入该寄存器,而不像其他处理器那样存入堆栈。

17、为什么在 ARM 数据处理指令中,并非所有可能的 32 位操作数都能被指定为立即操作数?

这是由于 32 位指令中用于操作数指定的空间有限。一个有效的立即操作数 $ n $ 应是一个 32 位二进制数,其中所有二进制 1 都落在 2 位边界上的一组 8 个相邻位位置内,更正式地说,满足方程

n=i ROR (2×r)n=i ROR (2×r)

其中 $ i $ 是 0 到 255(含)之间的数,$ r $ 是 0 到 15(含)之间的数,ROR 是右旋转操作。

18、在 ARM 的算术运算中如何设置条件标志?这种优先设置为我们提供了什么优势?

在 ARM 中,算术指令对条件标志的修改是可选的。例如使用助记符

ADDS

代替

ADD

可以设置标志,而基本的

ADD

指令不会影响任何标志。这种优先设置的优势在于为编程增加了灵活性,标志不需要在设置它们的指令之后立即检查,只要中间的其他指令不改变标志,就可以在指令流的后续部分进行检查。

19、列举在 ARM 中指定内存操作数地址的不同方式。

以下是调整为 Markdown 格式的文本内容:


ARM 中指定内存操作数地址的方式如下:


单寄存器传输指令

用于在寄存器和内存位置之间传输 1、2 或 4 字节数据;


多寄存器传输指令

采用基址加偏移量寻址模式,将基址寄存器的值与存储在寄存器中的偏移量或作为立即值传递的偏移量相加形成内存地址。

支持

自动索引寻址模式

,包括:



预索引模式

(使用计算出的地址进行加载/存储操作,然后将基址寄存器更新为计算值)



后索引模式

(使用未修改的基址寄存器进行传输,然后更新基址寄存器)


偏移量

可以是:

– 无符号 12 位立即值(0 到 4095 字节)

– 或寄存器(可选择按立即值移位)

偏移量可加或减到基址寄存器,前缀用

+

(默认)或

-

,可在传输前(

预索引寻址

)或传输后(

后索引寻址

)应用。


加载和存储多指令

(LDM/STM)允许 1 到 16 个寄存器与内存之间进行传输,传输的寄存器可以是:

– 当前寄存器组的任意子集(默认)

– 或处于特权模式时用户模式寄存器组的任意子集(指令后缀加

^

符号)

20、什么是提前终止?如果乘法运算的操作数是12和55,应该选择哪个作为源操作数?


提前终止指在ARM处理器进行乘法运算时,当源寄存器中没有1剩余时,算法提前结束运算。在选择12和55作为源操作数时,应选择二进制表示中1的数量较少的数作为源操作数,12的二进制是`00000000000000000000000000001100`,有2个1;55的二进制是`00000000000000000000000000110111`,有5个1,所以应选择12作为源操作数。

21、说明英特尔处理器和 ARM 处理器处理软件中断方式的差异。

无法全面对比两者差异,因为未详细说明英特尔处理器处理软件中断的方式,仅知与许多其他处理器(如英特尔处理器)不同,ARM 硬件不会尝试区分 $2^{24}$ 种系统调用情况;若要为这些情况维护单独的地址,ARM 需要 $2^{26}$ 字节的内存。

22、BX/BLX与B/BL有何不同?

B


BL

是标准分支和带链接分支指令。

BX


BLX

除具备类似功能外,还能在 ARM 指令集和 THUMB 指令集之间进行切换,这是唯一的指令集交换方式。

23、为什么在 ARM 中 FIQ 中断比 IRQ 中断处理速度更快?

FIQ 被赋予了最高地址,中断服务程序可以直接从该地址开始,无需从向量地址再跳转至中断服务程序,节省了快速中断发生后启动程序所需的时间,所以 FIQ 中断能比 IRQ 中断处理得更快。

24、用于嵌入式系统实现的不同硬件平台有哪些?从不同设计方面对这些平台进行比较。

用于嵌入式系统实现的硬件平台有微控制器、FPGA、DSP、ASIC等。

25、什么是数字信号处理器,它的特性与通用处理器有何不同?

数字信号处理器(DSP)

数字信号处理器(DSP)是专门为

高效处理数字信号处理任务

而设计的微处理器。

与通用处理器相比,DSP在信号处理应用方面具有以下优势:

提供

低成本、高性能、低延迟

的解决方案

通常

无需专门的冷却装置



大容量电池

特别适用于

便携式嵌入式应用

,如

手机



个人数字助理(PDA)

虽然通用处理器也能处理这类应用,但在这些方面

不如DSP

26、区分冯·诺依曼、哈佛和超级哈佛架构。

架构对比

冯·诺依曼架构

采用单一内存和单一总线设计

数据通过该总线进出中央处理器

乘法运算速度较慢

整个计算过程是顺序执行的

哈佛架构

拥有独立的程序存储器和数据存储器

程序存储器:用于存储指令

数据存储器:用于存储数据

二者具有独立的地址和数据总线

数据存储器总线相比程序存储器总线更为繁忙

超级哈佛架构

在CPU中增加了片上指令缓存和I/O控制器

程序存储器可以同时存储指令和一组数据

配合指令缓存能够实现更高的内存访问带宽

27、零开销循环是什么意思?它如何帮助 DSP 程序执行?

零开销循环

零开销循环指对于固定迭代次数的循环,DSP 提供硬件支持,无需花费指令编写循环初始化、终止条件检查和循环索引更新等开销部分的代码。通常会提供循环或重复指令,实现 for 循环时无需为更新和测试循环计数器或跳转回循环体顶部而消耗指令周期。这有助于 DSP 程序更快地执行控制指令,减少额外代码开销,提高执行效率。

28、超长指令字(VLIW)架构相对于传统处理器有哪些优势?

VLIW架构的优势包括:

同时发出多个指令并由一组执行单元并行执行,指令集简单规则;

指令调度在编译时确定,执行顺序不变,执行时间可预测;

架构具有潜在可扩展性,可添加更多执行单元以并行执行更多指令。

29、区分超长指令字(VLIW)架构和单指令多数据(SIMD)架构。


VLIW架构在同一时间发出多个指令,并由一组执行单元并行执行,指令集简单规则,指令调度在编译时确定,执行时间可预测,架构有扩展性,但需要高内存带宽,功耗高,汇编级编码困难,依赖优化编译器;

SIMD架构基于数据级并行,发出单条指令对多个数据集进行操作,SIMD和VLIW可在同一处理器中结合,但SIMD需要操作中有足够的并行性,严格的顺序代码无法受益,常通过循环展开来利用数据级并行性。

30、展示C6000 DSP内核的高层结构。

C6000 DSP内核高层结构

CPU组件包含八个并行功能单元,最多可以并行执行八条无数据依赖的指令。

数据路径元素


.D(.D1和.D2)

:处理数据加载和存储操作。


.S(.S1和.S2)

:处理移位、分支和比较指令。


.M(.M1和.M2)

:处理乘法操作。


.L(.L1和.L2)

:处理逻辑和算术操作。

31、什么是扩展精度累加器,它如何在数字信号处理计算中提高信噪比?

扩展精度累加器

扩展精度累加器是一种特殊用途的寄存器,其位数是其他存储位置的 2 – 3 倍。

在重复计算中,连续中间值的存储会导致量化噪声累积,DSP 常使用扩展精度累加器处理此问题。它在累加过程中几乎消除了舍入噪声,仅在最终结果存储时,由于将数字缩放到 16 位才会产生误差,从而提高了信号与噪声的比例。

32、什么是现场可编程门阵列(FPGA),它与专用集成电路(ASIC)有何不同?

现场可编程门阵列(FPGA)是作为定制集成电路的替代方案而引入的,用于以硬件方式实现电路,同时为用户提供可重新编程的灵活性。

专用集成电路(ASIC)设计可针对任何应用,但非经常性工程成本(NRE)非常高。

二者不同在于:

– FPGA具有可重新编程的灵活性

– ASIC定制化程度高但非经常性工程成本高

33、区分基于 SRAM、反熔丝和浮栅的编程技术,并为每一类至少举一个 FPGA 的例子。

FPGA 编程技术

1. SRAM 编程技术

在基于 SRAM 的 FPGAs 中,设备内每个可编程点都有一个对应的 SRAM 位。

设备上电或复位时,从片外存储器读取配置程序并加载到片上 SRAM,该程序定义各逻辑块实现的逻辑功能和互连。

使用 SRAM 开关的设备可通过更改配置程序轻松重新编程。


优点

:快速可重编程。


缺点

:占用面积大。


典型厂商

:Xilinx、Plassey、Algotronix、Concurrent Logic、Toshiba 等。

2. 反熔丝编程技术

反熔丝最初是开路,电阻非常高。

编程时(在两端施加 11 – 20V 电压)电阻变得很低,从而建立电气连接。

使用改进的 CMOS 技术可使反熔丝做得非常小,设备密度高。


缺点

:一旦编程就不能再使用,是一次性可编程的。


优点

:尺寸小、串联电阻低。


缺点

:编程晶体管尺寸大、需要隔离晶体管且只能一次性编程。


典型厂商

:Actel、Quicklogic、Crosspoint 等。

3. 浮栅编程技术

Altera 和 Plus Logic 使用紫外线可擦除的 EPROM。

AMD 使用电可擦除的 EEPROM。

通过在控制栅极和漏极之间施加高电压注入电荷到浮栅,增加晶体管阈值电压使其禁用,可通过紫外线照射或电擦除去除电荷。


优点

:提供可重编程性,且与 SRAM 不同,上电时无需外部存储器对芯片编程。


缺点

EPROM 技术需要额外处理步骤。

导通电阻高。

由于上拉电阻导致静态功耗高。


典型厂商

:Altera、Plus Logic、AMD 等。

34、列举细粒度和粗粒度逻辑块之间的权衡因素。


细粒度逻辑块包含少量可通过编程互连的晶体管;粗粒度逻辑块包含大量逻辑,复杂度差异大。

大的逻辑块(粗粒度)在单个块内可实现更多逻辑,实现给定功能所需逻辑块数量少,但占用FPGA空间多;细粒度逻辑块反之。

基于查找表的FPGA中,4输入查找表在逻辑合成和面积消耗方面效果最佳。

逻辑块粒度影响FPGA性能,粒度越高,系统输入输出延迟越小,但平均扇出增加、开关数量增加、线长增加。

35、列举FPGA设计流程。

FPGA设计流程

FPGA设计流程包括以下几个阶段:

1. 设计输入

可通过以下两种方式进行:


原理图输入

:使用图形界面,让设计者以库模块及其互连的方式输入设计。


行为描述

:通过硬件描述语言(如VHDL、Verilog等)进行。行为描述需经过设计综合阶段生成库组件网表以实现功能,而原理图本身就是网表,无需此阶段。

2. 行为仿真

这对于在原理图/行为层面确定系统的正确功能是必要的。

3. 设计实现

此阶段为在目标设备上实现生成的网表,常涉及格式转换:


功能仿真

:检查转换的功能正确性。


布局和布线

:将设计实现到目标设备上。


时序分析

:报告网络延迟,将这些延迟值反向标注到设计中。


时序仿真

:对设计进行仿真,以识别实现中是否存在任何时序违规(如建立和保持时间违规)。

4. 设备编程

此阶段为设备生成最终的配置程序:

配置程序可下载到内存中,在加电时读取(对于SRAM FPGA)。

或用于生成反熔丝/EPROM烧录模式。

许多FPGA包含在线验证模块,可用于检查下载设计的正确性。

36、详细研究Virtex – 6现场可编程门阵列(FPGA)的特性。

每个Virtex-6 FPGA的可配置逻辑块(CLB)可配置为一个6输入查找表(LUT)或两个5输入LUT,该LUT也可用作64位随机存取存储器(RAM)或两个32位RAM。

此外,每个Virtex-6 FPGA有156 – 1064个(取决于子系列)双端口块RAM,每个存储36K位。

它们还拥有许多专用、全定制、低功耗的数字信号处理(DSP)切片,每个切片包含25个18位二进制补码乘法器和一个48位累加器。

每个Virtex-6器件有一个17通道、10位模数转换器(ADC)和8 – 72 Gbps收发器。

37、对Virtex – 7 FPGA的特性进行详细研究。

Virtex – 7

Virtex – 7 是 3D IC,具有许多改进特性。


峰值收发器速度

:12.5 – 28.05 Gbps


收发器数量

:36 – 96 个


乘累加性能

:可执行 2756 – 5314 吉次乘累加(GMACs)


块 RAM

:包含 46.5 – 85 Mb


总线接口

:PCI Express


I/O 引脚数量

:最多有 1200 个

38、列举具有SPI接口的设备示例。

具有SPI接口的设备示例如下:


温度传感器LM74


有12位加符号温度分辨率(每LSB为0.0625°C),温度范围为 -55°C至 +150°C。


压力传感器SCP1000


有17位分辨率,在理想条件下可检测9厘米气柱内的压力差。


模数转换器LTC2452


是超小型、差分、16位Δ – Σ ADC。


触摸屏SX8652


是用于电阻式触摸屏的低功耗、高可靠性控制器,支持1.65V至3.7V的宽输入电源范围。


EEPROM Microchip 25XXX系列串行EEPROM


密度从128位到512千位,总线速度3 – 20MHz,低功耗运行,内置写保护。


实时时钟DS3234


是低成本、高精度实时时钟,集成温度补偿晶体振荡器和晶体,可对秒、分、时、日、日期、月、年计数并进行闰年补偿,有效期至2099年。


存储卡


MMC和SD卡。

39、列举SPI控制寄存器中CPOL和CPHA位的作用。


CPOL和CPHA用于配置时钟信号相对于数据的极性和相位。

- **CPOL = 0**时,时钟基值为0;
- **CPOL = 1**时,时钟基值为1。

当**CPOL = 0且CPHA = 0**时,数据在时钟**上升沿捕获**、**下降沿传输**;  
当**CPOL = 0且CPHA = 1**时,数据在时钟**下降沿捕获**、**上升沿传输**。

40、假设从CPU的SPI数据寄存器向设备寄存器传输数据或从设备寄存器向CPU的SPI数据寄存器传输数据,在CPU中需要2毫秒,在设备中需要10毫秒。通过MOSI/MISO线路的传输速率为64 Kbps。计算传输1 K字节数据所需的时间:(i) 从CPU到设备;(ii) 从设备到CPU。

首先,将数据量和传输速率的单位统一。

1 K字节 = 1024字节,1字节 = 8位,所以1 K字节 = 1024×8位。

传输速率为64 Kbps = 64×1024位/秒。

传输1 K字节数据所需的传输时间

t1 = (1024×8) ÷ (64×1024) = 0.1秒 = 100毫秒。

(i) 从CPU到设备:

– 数据从CPU的SPI数据寄存器传输到设备寄存器,在CPU中需2毫秒

– 传输需100毫秒

– 在设备中需10毫秒

总共需要:2 + 100 + 10 =

112毫秒

(ii) 从设备到CPU:

– 数据从设备寄存器传输到CPU的SPI数据寄存器,在设备中需10毫秒

– 传输需100毫秒

– 在CPU中需2毫秒

总共需要:10 + 100 + 2 =

112毫秒

所以,(i)和(ii)传输1 K字节数据所需时间均为

112毫秒

© 版权声明

相关文章

暂无评论

none
暂无评论...