文章目录
计算机系统概述
计算机运行机制
- Datapath : 完成算术和逻辑运算,通常包括其中的寄存器
- Control : CPU的组成部分,它根据程序指令来指挥datapath,memory以及I/O运行,共同完成程序功能
- Memory : 存放运行时程序及其所需要的数据的场所
- Input : 信息进入计算机的设备,如键盘、鼠标等
- Output : 将计算结果展示给用户的设备,如显示器、磁盘、打印机、喇叭等
计算机历史:机械计算机(BC ~ 1940s)Gen-1:真空管(1948 ~ 1959)Gen-2:晶体管(1960 ~ 1968)Gen-3:集成电路(1969 ~ 1977)Gen-4:大规模集成电路(1978 ~ present)Gen-5:Optical? Quantum? Biology?
图灵机(Turing Machine)
确定型图灵机
- 有穷符号集P
- 有穷状态集Q
- 转移函数 F : Q × P → Q × P × { − 1 , + 1 } F: Q\times P\rightarrow Q\times P\times \{ -1,+1 \} F:Q×P→Q×P×{−1,+1}
计算机的指令系统
Von Neumann结构计算机
- 存储程序计算机
- 程序由指令构成
- 程序功能通过指令序列描述
- 指令序列在存储器中顺序存放
- 顺序执行指令
- PC指向需要执行的指令
- 从存储器中读出指令执行
- 读取完成之后,PC自增,指向下一条指令
指令是计算机运行的最小的功能单元
指令的功能分类:
- 数据运算指令
- 数据传输指令
- 控制指令
- 输入输出指令
- 其它指令
性能指标:
- 吞吐率
- 响应时间
- MIPS (Million Instructions per Second)
- CPI
- CPU Time
- CPU Clock
MIPS (Microprocessor without Interlocked Piped Stages) 无内部互锁流水级的微处理器
- R 指令
- I 指令
- J 指令
Verilog & CPLD/FPGA
工作原理
- 当用户通过原理图或HDL语言描述逻辑电路
- 软件会自动计算逻辑电路的所有可能的结果,并把结果事先写入RAM
- 每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。
嵌入存储器 Block RAM(BRAM) :本质上是RAM,是FPGA内部的存储器,共有135个BRAM,总的BRAM
容量为4860Kb
数字系统设计的重要指标:
- 面积指某个FPGA设计综合之后占用的系统资源数,一般用占用的逻辑单元数量及IO接口数量来衡量
- 速度通常指系统工作的频率,高频率常常代表高速度
数据表示及检错纠错
ASCII : 8bit
Unicode : 16 bit
UTF-8 : 变长
浮点数表示:
(
−
1
)
s
M
2
E
(-1)^s M 2^E
(−1)sM2E
- 符号:s
- 尾数:M, 是一个位于区间[1.0,2.0)内的小数
- 阶码:E
单精度浮点数:exp域宽度为8 bits,frac域宽度为23 bits,总共32 bits。
双精度浮点数:exp域宽度为11 bits,frac域宽度为52bits,总共64 bits。
- 规格化浮点数:exp 000…0 且 exp 111…1
- E = Exp – Bias Bias = 2e-1-1, e = exp域的位数
- frac域的第一位隐含为1,M = 1.xxx…x
- 非规格化浮点数:
- exp = 000…0 此时E = -Bias+1 M = 0.xxx…x 若x=000…0表示 ,否则表示非常接近于0的浮点数
- exp = 111…1 frac = 000…0表示无穷,frac ≠ \not = = 000…0表示 NaN
向偶数舍入(Round-To-Even)
当int(32位宽), float, 与double等类型间进行转换时,基本的原则如下:
- double 或float 转换为 int,尾数部分截断,如果溢出或者浮点数是NaN,则转换结果没有定义,通常置为 Tmin or Tmax
- int转换为double,能够精确转换
- int转换为float,不会溢出,但是可能被舍入
浮点数加减法运算
- 对阶操作,求阶差:𝞓E=E X -E Y ,使阶码小的数的尾数右移|𝞓E |位其阶码取大的阶码值;
- 尾数加减
- 规格化处理
- 舍入操作,可能带来又一次规格化
- 判结果的正确性,即检查阶码上下溢出
检错纠错码:
码距(最小码距)的概念:是指任意两个合法码之间至少有几个二进制位不相同。
-
奇偶校验码:并行数据传输
-
海明校验码:并行数据传输
-
位数r和k的关系:2r ≥k+r+1,即用2r 个编码分别表示k个数据位,r个校验位中哪一位出错,都不错
-
2r-1 ≥k+r,用r-1位校验码为出错位编码,再单独设一位用以区分1位还是2位同时出错,更实用
-
实现方案
4出现在5和6中,则P3负责对D2和D3进行校验。
海明码的码距为4 -
-
循环冗余校验码:串行数据传输
算术运算及其电路实现
布斯乘法:使用5位的整数来计算3×(-7)
00/11结尾不变,01结尾+被乘数,10结尾-被乘数
3 × ( − 7 ) ⇒ 00011 × 11001 3\times (-7)\Rightarrow 00011 \times 11001 3×(−7)⇒00011×11001
-3 : 11101 3 : 00011
- 00000 11001 0 : 10 结尾,-3
- 11101 11001 0 右移 11110 11100 1 : 01 结尾,3
- 00001 11100 1 右移 00000 11110 0 : 00 结尾,不变
- 00000 11110 0 右移 00000 01111 0 : 10 结尾,-3
- 11101 01111 0 右移 11110 10111 1 : 11 结尾,不变
- 11111 01011 1 去掉末尾,11111 01011 对应 -21
加减交替除法:
运算器部件组成及设计
OE 为低时使能
运算器Am2901
- 4位运算器
- 8种运算功能
控制器概述 指令和指令系统
最小精简指令集:SBNZ a,b,c,d
控制器的主要功能
- 正确执行指令规定的功能
- 自动、连续执行指令
指令表示:指令中的内容,包括指令操作码(指出指令完成的运算处理功能和数据类型)和操作数或指令的地址(指明用到的数据或地址)两部分
指令字长是指组成一条指令的二进制数的位数
指令操作码的位数限制指令系统中的指令条数
指令操作数个数
- 无操作数指令(零地址指令)
- 单操作数指令(一地址指令)
- 多操作数指令(多地址指令)
若需要在16位字长的指令中能够同时支持三地址、二地址、一地址指令各15条,零地址指令16条,则可以选用如下方案的变长操作码实现:
指令分类:
- 算术与逻辑运算指令
- 移位操作指令
- 数据传送指令
- 输入输出指令
- 转移指令
- 子程序调用与返回指令
- 堆栈操作指令
- 其他指令
寻址方式:立即数寻址、直接寻址、寄存器寻址、变址寻址、相对寻址、间接寻址(指令的地址码字段是操作数地址的地址)、基址寻址、堆栈寻址
现代x86指令系统的运行模式
- 运行在实模式:直接访问物理地址,只能用16位地址模式
- 运行在保护模式:必须通过段页式转换,才能访问物理地址
- 运行在虚拟机模式:经过两层的地址转换,才能访问物理地址
MIPS指令系统
寄存器是数据通路的一部分
jal 将跳转指令的返回地址放到寄存器$ra中,由于延迟槽,因此为PC+8
被调用者保存寄存器
- $s0 ~$s7
- $sp
- $ra
调用者保存寄存器
- $t0~$t9
- $v0~$v1
- $a0~$a3
立即数跳转指令:PC = (PC+4) + (immediate*4)
指令格式与数据通路设计
把一条指令的执行过程划分为如下的5 个阶段
- 读取指令(IF), 从存储器读来指令并形成下条指令地址
- 指令译码(ID), 指令译码,读寄存器堆为ALU准备数据
- 执行运算(EXE),ALU 执行数据运算或计算存储器地址
- 存储器读写(MEM),完成存储器的读操作或者写操作
- 写回(WB), 写ALU的结果或存储器读出数据到寄存器堆
每条指令平均使用的CPU周期个数被称为CPI
单周期CPU控制器设计
Datapath:实现数据的移动和运算
控制器:指挥数据的移动和运算
D触发器:在时钟的上升沿写入输入数据,一直保持到下一个上升沿
单周期CPU特点
- 优点:每条指令占用一个时钟周期;逻辑设计简单,时序设计也简单
- 缺点:各组成部件的利用率不高;时钟周期应满足执行时间最长指令的要求
多周期CPU设计
控制器的组成:程序计数器PC,指令寄存器IR,指令执行步骤标记线路,控制信号产生线路
根据指令步骤标记线路和控制信号产生线路不同的组成和不同的运行原理,有两种不同类型的控制器:
- 硬连线控制器(组合逻辑控制器):
- 微程序控制器
硬连线控制器由程序计数器PC、指令寄存器IR、节拍发生器Timer和控制信号产生部件4 部分组成
微程序控制器:采用控制存储器存储每条指令的每个执行步骤所需要的全部控制信号,用微地址进行访问,读出控制信号并输出。采用下地址逻辑实现执行步骤之间的衔接,根据指令操作码映射出该指令的首条微指令的地址,每条微指令给出其下一步骤的微地址
MIPS计算机硬件系统:存储器、寄存器堆、ALU部件、控制部件
- 控制部件由节拍发生器 和 控制信号产生线路 组成,分别完成标明指令执行步骤和向各个部件提供控制信号的功能。
- 存储器存指令和数据。 读指令时由 PC 提供地址,读出的指令保存到 IR;读写数据时由结果寄存器提供地,读操作的读出数据保存到 DR;写操作的写入数据由 B寄存器给出。
- 寄存器堆由32个寄存器组成
- ALU完成算术和逻辑运算
流水线技术概述
流水线操作的前提
- 任务分解成多个步骤完成
- 每个步骤使用不同的资源
- 任务内部存在关联,完成每个任务的步骤顺序一致
- 任务之间相互独立,没有依赖关系
流水线的特点
- 把一个任务(一条指令或一个操作)分解为几个有联系的子任务,每个子任务由一个专门的功能部件来实现。
- 流水线每一个功能段部件后面都要有一个缓冲寄存器,或称为锁存器,其作用是保存本流水段的结果。
流水线需要有装入时间和排空时间。装入时间是指第一个任务进入流水线到输出流水线的时间。排空时间是指第n个(最后一个)任务进入流水线到输出流水线的时间。
PC值多路选择器被移到IF段,这样做的目的是保证对PC值的写操作只出现在一个流水段内,否则当分支转移成功的时候,流水线中两条指令都试图在不同的流水段修改PC值,从而发生写冲突。
流水线分类:
- 部件功能级流水线
- 处理机级流水线
- 处理机间级流水线
流水线中的“冲突”:在流水线中经常有一些被称为“冲突”的情况发生,它使得指令序列中下一条指令无法按照设计的时钟周期执行
- 结构冲突,是指令在重叠执行的过程中,硬件资源满足不了指令重叠执行的要求,发生硬件资源冲突而产生的冲突。
- 数据冲突,是指在同时重叠执行的几条指令中,一条指令依赖于前面指令执行结果数据,但是又得不到时发生的冲突。
- 控制冲突,它是指流水线中的分支指令或者其他需要改写PC的指令造成的冲突。
结构冲突和数据冲突
结构冲突:
- 指令依次使用资源,一些指令暂停stall
- 增加硬件资源
寄存器文件结构冲突:
- 通过独立的读和写端口进行支持
- 双沿访问
内存结构冲突:
- 暂停流水线
- 指令内存和数据内存分开
数据冲突:
- RAW
- WAW (MIPS指令流水不会发生WAW冲突)
- WAR (MIPS指令流水中不会发生WAR冲突)
- 数据旁路:结果可用的时候即可前传,无需先保存到Regs
- 数据装入之后立即使用会产生数据冲突,必须暂停依赖于load的指令,在数据装入之后的那个周期被称为是 load delay slot
数据冲突的动态调度:由硬件动态调整指令执行顺序以减少暂停的影响
- 指令顺序发射——乱序执行——指令乱序流出
- 异常处理的不精确性
控制冲突和异常
数据冲突影响到的仅仅是本条指令附近少数几条指令,所以称为局部冲突。而控制冲突影响的范围要大得多,它会引起程序执行方向的改变,使流水线损失更多的性能,所以称为全局冲突。
控制冲突的处理:
- 暂停流水线
- 预测分支不成功
- 预测分支成功
- 动态预测
- 延迟槽
在流水线中尽早判断出分支转移是否成功;尽早计算出分支成功转移时的PC值(如分支目标地址)。
数据通路:增加比较器,完成源操作数的比较;调整加法器到ID段,完成转移地址的计算
分支目标缓冲技术:缓冲区的每一项内容被用来预测分支转移是否成功,并且根据实际的分支情况对内容进行修改。将分支转移成功的分支指令的地址和它的分支目标地址都放到一个缓冲区中保存起来,缓冲区以分支指令的地址作为标志;在取指令阶段,所有的指令地址都与保存的标志作比较,如果相同,就认为本条指令是分支指令,而且认为它分支转移成功,同时它的分支目标(下一条指令)地址就是保存在缓冲区中的分支目标地址。
连续两次预测错误时才改变预测方向,对多重循环,可进一步提高预测准确率
延迟槽:无论分支转移成功与否,延迟槽内的指令都要执行。如果分支转移失败,只需要按取来的指令执行;否则,按照分支目标地址的指令执行
分支延迟调度方法:
中断与异常:来自CPU,称为异常;来自外部设备,称为中断
异常处理的实现:
- 增加异常原因寄存器,保存异常的原因
- 发现异常
- 保存现场
- 转异常处理程序
- 处理完成后,返回主程序执行
精确异常处理
- EPC中保存有发生异常指令的地址
- 操作系统处理简单
- 指令流水情况下实现比较复杂
动态存储器
水银延迟线存储器,磁芯存储器,半导体存储器( ROM、RAM、SRAM、DRAM)
访问方式:
- 随机访问存储器(RAM)
- 顺序访问存储器(SAM)
- 直接访问存储器(DAM)随机+顺序
- 关联访问存储器(CAM)Cache和TLB
层次存储器系统
- 高速度
- 大容量
- 低成本
程序运行时的局部性原理:在一小段时间内,最近被访问过的程序和数据很可能再次被访问
现代计算机存储器系统
- 主存储器:寄存器Register 高速缓存Cache 主存储器Main Memory
- 辅助存储器:磁盘Disk 磁带Tape 光盘Compact Disc
数据总线用于在计算机各功能部件之间传送数据,地址总线用于选择主存储器的一个存储单元,控制总线用于指明总线的工作周期类型和本次入/出完成的时刻
动态存储器,是用金属氧化物半导体(MOS)的单个MOS管来存储一个二进制位(bit)信息的。信息被存储在MOS管T的源极的寄生电容CS中
动态存储器的工作特点:
- 破坏性读出:读操作后,被读单元的内容一定被清为零,
- 需定期刷新:在不进行读写操作时,DRAM 存储器的各单元处于断路状态,由于漏电的存在,保存在电容CS 上的电荷会慢慢地漏掉
- 快速分页组织:行、列地址要分两次给出
动态存储器的特点:存储容量高,访问速度慢,能耗低,成本低
静态存储器及高速缓冲存储器
静态存储器:
- 速度快
- 存储密度低,单位面积存储容量小
- 数据入/出共用管脚
- 能耗高
- 成本高
Cache参数:块是数据交换的最小单位
全相联:如果主存空间有2m块,则标志位要有m位。
直接映射
高速缓存
四路组相连:
一致性保证:
- 写直达:在Cache中命中,同时修改Cache和对应的主存内容
- 拖后写:替换时再写主存
Cache缺失:
- 必然缺失(Compulsory Miss)
- 容量缺失(Capacity Miss)
- 冲突缺失(Conflict Miss)
- 无效缺失
替换策略:
- 最近最少使用LRU
- 先进先出FIFO
- 随机替换RAND
Cache接入系统的体系结构:
- 侧接法
- 隔断法
多级Cache的一致性保证
- 修改态(M):处于这个状态的cache块中的数据已经被修改过,和主存中对应的数据已不同,只能从cache
中读到正确的数据 - 独占态(E):处于本状态的cache块的数据和主存中对应的数据块内容相同,而且在其它cache中没有副本
- 共享态(S):处于本状态的cache块的数据和主存中对应的数据块内容相同,而且可能在其它cache中有该块的副本。
- 无效态(I):处于本状态的cache块中尚未装入数据。
写主存顺序
- L2监听到其它总线主设备写请求,并要求该设备等待;
- L2将要被写的地址传给L1,如果L1中的数据在一次写之后有了新的修改(状态为M),则需要将L1中该块的数据写回到主存中。任何情况下,都将该块的状态标记为非法态(I)。
- 如果L1中的数据与L2相同,则无须L1将数据写回主存中,而只要L2把自己的块的内容写回即可。但还是要把该块的状态标记为非法态(I)。
- L2唤醒总线主设备,由它完成写操作。
虚拟存储器
地址空间:
- 虚拟地址:程序员编程使用的地址
- 虚拟地址空间:虚拟地址的集合
- 存储器地址:物理存储器的地址,也称物理地址(Physical Address)或实地址(Real Address)
- 逻辑地址:程序员使用的地址
虚拟存储器:
- 获得运行比物理存储器更大空间程序的能力
- 独立的逻辑地址空间
- 实现内存共享
- 实现内存的保护
- 由操作系统管理
段式存储管理:
- 以段作为存储管理的对象
- 按程序本身的逻辑段来划分主存空间,与页式管理相比,段的长度可变
- 容易实现共享、保护
- 容易产生碎片
页式存储管理:
- 将主存和虚存划分为固定大小的页
- 以页为单位进行管理和数据交换
- 虚地址=虚页号+页内地址
- 实地址=实页号+页内地址
转换旁路缓冲(TLB)
非易失性存储
易失性存储:
-
静态存储器:SRAM,Cache
-
动态存储器:DRAM
非易失性存储器:
- 磁盘,磁带:磁表面存储器
- 光盘
- SSD,固态存储器
磁表面存储设备:
- 磁颗粒的不同偏转方向来区分不同的状态
- 扇区、磁道、柱面(位于同一半径的磁道集合)、硬盘
- 寻道,寻找扇区,数据传输
页容量大,为什么扇区却如此小呢?
-
可用性:可以在扇区物理损坏时不再使用该扇区。
-
检错纠错码分布在每个扇区,扇区容量小,检错速度快,效率高
-
灵活性。 使用不同的操作系统,不同的页面大小。
可靠性:设备出现故障的几率来衡量。
可用性:系统能正常运行的几率来衡量。
RAID:独立磁盘的冗余阵列
RAID0:DataStriping 适合数据请求量比较大的情况
RAID1:DriveMirroring 写性能不高,但读性能却提高了两倍
RAID2:工作单位为字,对每个半字节加上3位海明码形成7位字
RAID3:对每个字计算一个校验位
RAID4:Data Guarding 将对带的校验写在额外的驱动器上
RAID5:Distributed Data Guarding
固态硬盘
- 没有机械结构,没有移动的部分
- 安静,低功耗,高性能,不怕摔,低发热
- 有限的擦除次数
- 存储单元为闪存技术
- 以页的方式读写,以块的方式擦除
- 按照每个存储单元能够存储的位数分为SLC,MLC,TLC,QLC,擦除次数减少
- SSD的地址转换FTL,写入之前必须要进行擦除
MIPS异常与中断
嵌套异常的服务程序必须用一些主存空间来保存寄存器的值,使用的数据结构叫异常帧,多个嵌套异常的异常帧通常保存在栈中
中断屏蔽字
TLB维护:
- JTLB维护,软件通过TLBWI和TLBWR指令填充JTLB的某个表项
- ITLB及DTLB,完全硬件管理,对软件透明
输入输出系统和设备
- 控制方式
- 传输方式
- 数据识别和转换
输入输出方式
-
程序直接控制:CPU查询接口状态,直到外设已经接收到该字符;外设方往接口数据缓冲中送字符,处理完后置状态寄存器。严重占用CPU资源
-
程序中断:外部设备发起请求,CPU暂停正在执行的程序,进行响应,对CPU干扰较大
-
直接存储访问(DMA),专用输入/输出控制器:I/O设备和主存储器之间的直接数据通路
-
与设备一对一服务、对CPU打扰适中、无法适用大量高速设备的管理
-
数据传送开始前和结束后通过程序或中断方式对DMA进行预处理和后处理
-
独占总线方式:当外设要求传送一批数据时,由DMA控制器发一个信号给CPU。DMA控制器获得总线控制权后,开始进行数据传送。一批数据传送完毕后,DMA控制器通知CPU可以使用内存,并把总线控制权交还给CPU。
-
周期窃取方式::当I/O设备没有 DMA请求时,CPU按程序要求访问内存:一旦 I/O设备有DMA请求,则I/O设备挪用一个或几个周期。
-
-
通道:一对多的连接关系,适应不同速度、不同种类的外部设备,可并行工作
- 根据CPU要求选择某一指定外设与系统相连,向,该外设发出操作命令,进行初始化
- 指出外设读/写信息的位置以及与外设交换信息的主存缓冲区地址
- 控制外设与主存之间的数据交换
- 指定数据传送结束时的操作内容,检查外设的状态
- 字节多路通道(低速),选择通道(高速),数组多路通道
-
外围处理机,独立完成输入/输出功能
- 通用计算机
- 独立完成输入/输出功能
- 通过通道方式与主机进行交互
中断设备接口组成
- 中断请求寄存器
- 中断屏蔽寄存器
- 优先级排队线路
- 数据缓冲寄存器
- 中断控制和工作状态逻辑
- 设备选择器
- 中断向量表
总线
计算机总线:共享的信息通道,用于连接计算机多个子系统(部件)
总线:
- 解决外部设备“杂”的问题
- 降低成本
- 简化设计
- 容易成为信息通道的瓶颈
- 总线的最高速度受负载设备限制
单总线系统
双总线系统
三总线系统:大大减少处理器-主存总线负载
总线类型:
- 处理器-主存总线
- 输入/输出总线:和处理器-主存总线通过桥连接(或通过主板总线)
- 主板总线:主板是连接各部件器件的底盘
总线组成:
- 控制线
- 数据线
总线主设备:有能力控制总线,发起总线事务
总线从设备:响应主设备请求
总线仲裁:
- 某总线主设备使用总线前应发出总线请求
- 只有得到授权后,主设备才能使用总线
- 使用完毕后,主设备应通知仲裁器
总线仲裁器
-
优先权:优先级高的设备应该得到优先服务
-
公平性:最低优先级的设备也不能永远被排除在总线服务之外
-
集中仲裁和分布仲裁
菊链仲裁:所有设备共用一个总线请求信号,无法保证公平性,总线授权信号的逐级传递限制了总线的速度
集中平行仲裁:
同步总线:逻辑简单、高速,总线上所有设备必须按时钟频率工作,防止时钟信号扭曲,高速工作时,总线距离必须足够短
异步总线:不使用统一的时钟,可适应设备的不同速度,不用担心时钟信号扭曲,距离可较长,使用握手协议
增加总线带宽:
-
增加总线的宽度,可增加每个周期传送数据的量,提高了成本
-
采用成组传送方式:一个总线事务传送多个数据,每次只需要在开始的时候传送一个地址,直到数据传送完毕才释放总线,复杂度提高,延长后续总线请求的等待时间
多主设备总线提高事务数量
- 仲裁重叠:在当前事务时,为下一总线事务进行仲裁
- 总线占用:在没有其他主设备请求总线的情况下,某主设备一直占用总线,完成多个总线事务
- 地址、数据传送重叠
PCI总线:33MHz或66MHz,集中仲裁方式,带宽达133MB(33MHz)或528MB(66MHz)所有事务可无限制成组传送
接口电路和外部设备
输入/输出系统:
- 控制方式:处理器管理输入/输出的机制
- 总线:数据传输
- 接口:总线和外部设备的连接
- 设备:完成输入/输出任务
接口的基本功能:
- 提供主机识别(指定、找到)使用的I/O设备的支持
- 建立主机和设备之间的控制与通信机制
- 提供主机和设备之间信息交换过程中的数据缓冲机构
- 提供主机和设备之间信息交换过程中的其他特别需求支持
接口内部组成
- 设备识别电路
- 数据缓冲寄存器(输入/输出)
- 控制寄存器
- 状态寄存器
- 中断电路
- 其他电路
串行传送
USB接口:最多可以连接127个设备,可以从电缆上得到电源,不必重新启动计算机,用户不必再设置卡上、设备上的开关或跳线
设备检测:根HUB定时查询接口状态,若检测到有设备接入到接口上,则为该设备赋地址(7位)。设备初始地址为0,每个设备上应有ROM,保存设备参数。
USB帧:控制帧,同步帧,块传送帧,中断帧
每1ms,定时发出一个SOF包,进行时间同步(所有设备)。
外部设备功能
- 完成数据的输入和/或输出
- 与接口进行连接
- 与主机进行通信