




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
输入输出计算机组成与实现目录典型的输入输出系统总线I/O接口基本功能与结构程序访问设备PCI总线概述P&P的原理中断3种数据传输方式异常计算机内部结构CPU内存控制器(MC)集成显卡系统芯片(主板芯片)SATA、音频PCI-E/PCI总线控制器32位PCI总线USB2.0/3.0串口/并口定时器、中断控制器网卡芯片(主板芯片)串口(控制器)并口(控制器)USB(控制器)DDR3DDR3系统芯片PCI、PCI-E显卡音频SATA千兆显卡设备:信息传输的通道CPU:信息处理内存:程序/数据设备:信息交换的通道信息从设备输入信息通过设备输出输入设备鼠标、键盘、手写笔输出设备显示器、打印机输入输出设备硬盘、网卡串口(控制器)并口(控制器)USB(控制器)DDR3DDR3系统芯片PCI、PCI-E显卡音频SATA千兆显卡目录典型的输入输出系统总线I/O接口基本功能与结构程序访问设备PCI总线概述P&P的原理中断3种数据传输方式异常什么是总线?共享的信息通道一组连接各个部件的导线构造大型复杂计算机系统的基本方法总线的优点灵活功能易于增加/撤出设备符合标准的设备可以在不同计算机上互换低成本只需要一组导线主存处理器I/O设备I/O设备I/O设备总线的缺点通讯瓶颈系统I/O吞吐受限于总线最大带宽总线性能难以大幅度提高总线长度越长,总线速率就越低总线上的设备总数越多,总线负载能力越低需要支持多种类型设备传输延迟变化巨大数据传输速率变化巨大总线层次现代计算机中多采用多层次总线只在低端系统中存在单一总线CPU总线:最大化CPU带宽;支持多CPU为Cache块传输优化(Cache块传输、Burst)多CPU支持(Cache一致性协议)距离短、挂载少、位数多、频率高存储器总线:最大化存储器带宽为SDRAM传输优化(Burst、Page、刷新)距离短、点-点、位数多、频率高系统总线(也称I/O总线):匹配大量各类设备标准化总线接口适度工作频率通过Bridge连接至CPU总线距离长、挂载多、位数相对少、频率相对低总线层次现代计算机中涉及大量的总线类型和层次由于存在多层次总线,因此总线之间必须有Bridge(桥)进行总线转接串口(连接器)并口(连接器)1394(连接器)USB(连接器)DDR2/3DDR2/3南桥SATA音频PCI北桥显卡PCI-Ex16PCI-Ex1CPU总线存储器总线系统总线PCI-Ex16系统总线PCI-Ex1系统总线PCI设备角色:Master和SlaveMaster-主设备能够主动发起总线周期(读周期、写周期)的设备Slave-从设备响应总线周期的设备网卡:Slave&MasterSlave:响应CPU对网卡上寄存器的读写Master:主动发起PCI总线周期进行DMA传输读周期:从主存中读取数据
发送报文写周期:接收报文写数据至主存同步总线vs异步总线同步总线控制信号中包含一个时钟信号控制信号的有效/无效与时钟相关同步由时钟界定,无需对方响应,减少握手延迟接口控制器通常包含高速FIFO以最大化传输带宽总线的设备必须以相同的时钟频率工作高速总线距离要短,否则会导致时钟歪斜传输带宽高异步总线无时钟可以宽范围的匹配多种设备总线长度很长,不存在时钟歪斜使用握手协议典型的同步总线协议信号有效与无效,都与时钟上升沿同步BReqBGCmd+AddrR/WAddressData1Data2DataData1Wait#异步总线写操作T0:主设备(Master)获得总线(control/address/direction/data)等待一个规定的时间(slave译码)T1:Master发出请求T2:Slave给出应答,表明数据被接收T3:Master撤消请求T4:Slave撤消请求AddressDataReadReqAckMasterAssertsAddressMasterAssertsDataNextAddressT0T1T2T3T4T5异步总线读操作T0:主设备(Master)获得总线(control/address/direction/data)等待一个规定的时间(slave译码)T1:Master发出请求T2:Slave给出应答,指示数据已经放到总线上了T3:Master撤消请求,表明数据已经被接收T4:Slave撤消请求AddressDataReadReqAckMasterAssertsAddressNextAddressT0T1T2T3T4SlaveData仲裁:多个潜在的Master总线仲裁框架要求使用总线的Master发出总线请求Master直到收到仲裁器的确认前不能使用总线Master完成总线传输后必须通知仲裁器总线仲裁必须平衡两个因素优先级:最高优先级的设备应首先被响应公平:即使最低优先级的设备也应能使用总线总线仲裁方式分布式集中式常见的仲裁架构链式查询方式:适用于小型系统独立请求方式:适用于复杂系统,广泛应用与现代计算机系统目录典型的输入输出系统总线I/O接口基本功能与结构程序访问设备PCI总线概述P&P的原理中断3种数据传输方式异常实例1:硬盘SATA硬盘接口控制器SATA总线接口磁盘接口…盘体(盘片/磁头/电机)+=实例2:U盘USB接口控制器USB总线接口FLASH存储器接口…大容量FLASH存储器FLASH存储器U盘接口控制器设备通过接口控制器与主机连接设备实际上包括两部分接口控制器(也称为接口芯片)设备主体设备主体不直接与主机连接,而是通过接口控制器与主机连接为什么设备必须通过接口控制器与主机相连?速率不匹配主机:Inteli7四核3.2GHz键盘:100Hz协议及时序不匹配主机:FSB、PCI-E、PCI硬盘:SATAWLAN:802.11a/b/g数据格式不匹配主机:32位/16位/8位,Bps网络:1位,bps信号电平不匹配主机:TTL、CMOS、。。。电机:24V接口控制器的功能1/2地址译码接受CPU编程设置模式、控制过程、查询状态缓冲(或缓存)数据解决CPU与设备间速度不匹配的矛盾时序控制匹配主机端总线工作要求匹配设备端信号工作要求接口控制器的功能2/2与设备主体交换数据信号变换功能信号电平、逻辑极性中断管理功能以中断方式接收和发送数据,降低CPU无效开销原因数据接收/发送过程必然涉及设备状态检查与判断CPU工作频率极高。相对于设备一次数据传输时间,CPU能够执行大量指令接口控制器的基本组成总线接口逻辑地址译码时序控制总线驱动寄存器组(或内部存储器)寄存器组:数据、状态、控制存储器:缓冲区、队列等设备数据传输控制与特定设备的传输协议相关总线-接口控制器-设备接口逻辑、寄存器组是必须具备的存储器是可选的主要用途:增强数据传输性能不同类型设备的数据传输控制差异极大接口逻辑地址译码时序控制总线驱动寄存器组数据状态控制地址控制数据存储器FIFOSRAM数据传输控制主机总线状态控制数据接口控制器设备主体接口控制器与总线间的接口信息标准总线接口主机内部总线:PCI-E、PCI主机扩展总线:USB、1394主机内部总线地址信号数据信号控制信号接口控制器与设备间的接口信息数据信息数字量、模拟量状态信息反映设备当前工作状态(输入是否就绪,输出是否空闲)通常状态寄存器(SR)存储上述信息控制信息按照预定工作时序工作,完成控制器设备间数据交互目录典型的输入输出系统总线I/O接口基本功能与结构程序访问设备寄存器表示PCI总线概述P&P的原理中断3种数据传输方式异常示例:调节显示器分辨率例如通过显卡控制LCDR分辨率:调节分辨率R色彩:调节色彩寄存器:主机与设备的交互界面从信息处理的角度:主机=程序,即指令序列指令的基础功能是读写某个单元接口控制器的寄存器具备可读可写特性部分设备包括存储器。如显卡的帧缓存接口逻辑地址译码时序控制总线驱动寄存器组数据状态控制设备主体地址控制数据存储器FIFOSRAM数据传输控制主机总线状态控制数据接口控制器目录典型的输入输出系统总线I/O接口基本功能与结构程序访问设备寄存器地址PCI总线概述P&P的原理中断3种数据传输方式异常程序员眼中的设备Q:0x80000000是什么?Q:地址对应的是什么?A1:某个内存单元A2:显卡某个寄存器CPU必须通过地址访问内存(或设备)unsignedint*p;p=(unsignedint*)
0x80000000;*p=0xABCDEF12;程序通过对某个地址访问设备CPU取指令及读写操作均需要给出地址从程序员角度出发,地址=主存单元地址是CPU要访问主存单元的唯一定位信息当CPU发出某个地址,意味着CPU要读写对应主存单元与主存类似,设备也必须拥有相应的地址设备地址实例NVIDIAGTX280显卡资源内存范围:F6000000–F6FFFFFF内存范围:E0000000–EFFFFFFF内存范围:F4000000–F5FFFFFF通讯端口(COM1)–串口输入/输出范围:03F8–03FFPS/2键盘输入/输出范围:0060–0060输入/输出范围:0064–0064地址图地址图:将CPU地址空间划分为若干区域区域对应了设备主存:大量的地址范围显存:较大的地址范围串口:极少的地址范围地址分配基本原则:任意两个部件的地址范围不能重叠地址图串口(连接器)并口(连接器)1394(连接器)USB(连接器)I/O控制器SATA音频PCI内存控制器显卡PCI-Ex16PCI-Ex14GB地址空间DDR2/32GBDDR22MBHighBIOSPCI设备空间1GB(未安装存储器)32MB显存0000_0000h000F_FFFFh0010_0000hBFFF_FFFFhC000_0000hFFFF_FFFFhFFDF_FFFFhD400_0000hD5FF_FFFFh2GB内存3GB内存空间1GB设备空间DOS保留区域设备地址的具体内容Q:设备中哪些组成要素需要分配地址?A:寄存器组某些设备也包括隶属于接口的存储器,如FIFO、帧缓存接口逻辑地址译码时序控制总线驱动寄存器组数据状态控制设备主体地址控制数据存储器FIFOSRAM数据传输控制主机总线状态控制数据接口控制器设备编址:存储映射编址(MemoryMapping)基本方法将设备的寄存器(或存储器)视为主存单元,并分配地址与主存单元一起在CPU地址空间统一分配地址特点系统中只有一个寻址空间,即内存寻址空间CPU所有的存储操作类指令均可应用于设备访问视图单一,模型简单设备编址:独立编址CPU有两个地址空间:存储器空间、I/O空间除存储类指令外,有专用的I/O类指令(IN,OUT)必须设置特殊信号来区分当前地址是访内存单元还是访问I/O端口(80x86CPU:M/IO信号)主存储器内存空间:I/O设备64KB1MBI/O空间:早期x86处理器地址空间模型存储映射编址的优点无需专用指令,复用load/store类指令模型简单,软件可移植性好由于地址图略大,系统译码略微复杂些对于现代IC技术来说已经不再是问题主流编址方式(PowerPC、MIPS…)X86也采用存储映射方式X86仍然保留独立编址,其目的在于兼容性目录典型的输入输出系统总线I/O接口基本功能与结构程序访问设备设备判断当前地址PCI总线概述P&P的原理中断3种数据传输方式异常地址译码判断是否是某个特定地址假设8位地址:A=?=25h判断是否属于某个特定区域假设8位地址:A∈{20h~28h}地址译码:与特定地址比较判断A=?=25hA=A7,A6,…,A0;25h=0010_0101bCS=!A7&!A6&A5&!A4&!A3
&A2&!A1&A0&A5CSA7A6A4A3A2A1A0地址译码:与特定区域比较1/2判断A∈{28h~2Fh}由于是判断是否属于属于某个区域,不需要判断具体是哪8个单元(28h~2Fh)因此A[2:0]这3位地址无需考虑推广到一般:基地址(Base)+偏移范围(Offset)地址译码主要是比较Base部分offset:用于内部寻址地址区间{28h~2Fh}基地址:28h偏移范围:0~7,共计8个单元地址译码:与特定区域比较2/2A∈{28h~2Fh},base=28h=0010_1000b由于最低3位地址不参与比较,因此base=0010_1xxxb判断A∈{28h~2Fh}A[7:3]=?=0_0101bCS=!A7&!A6&A5&!A4&A3例3:地址译码(与特定区域比较)Q:判断A∈{C0h~D7h}起始地址:1100_0000b结束地址:1101_0111b问题:偏移区域不是满的(即空间不是2的整数幂)!A7,A6,A5:不变;A4变;A3:不变方法:拆分区域为若干满偏移区域等价于判断A∈{C0h~CFh}|A∈{D0h~D7h}CS=A7&A6&!A5&!A4|
A7&A6&!A5&A4&!A3
=A7&A6&!A5&(!A4|A4&!A3)目录典型的输入输出系统总线I/O接口基本功能与结构程序访问设备软硬件集成PCI总线概述P&P的原理中断3种数据传输方式异常示例:程序写显卡寄存器过程分解假设R分辨率的地址是D500_0000h通过编程R分辨率设置分辨率1:800*6002:1024*768…0000_0000h000F_FFFFh0010_0000hBFFF_FFFFhC000_0000hFFFF_FFFFhFFDF_FFFFhD400_0000hD5FF_FFFFh4GB地址空间2MBHighBIOSPCI设备空间1GB(未安装存储器)32MB显存2GB内存3GB内存空间1GB设备空间DOS保留区域unsignedint*p;p=(unsignedint*)0xD5000000
;*p=0x00000002;读写显卡寄存器的基本过程S1:取指令CPU输出地址,主存返回数据(实际为指令)S2:译码S3:取操作数操作数在寄存器中S4:ALU计算地址S5:写显卡寄存器CPU输出地址及数据设备响应写入操作S5:写显卡寄存器~~CPU的工作CPU产生CPU的写周期地址总线:0xD5000000数据总线:0x00000002控制总线:R/W#为L主存总线控制器系统总线地址=D500_0000数据=0000_0002S5:写显卡寄存器~~总线控制器的工作响应CPU总线写周期查看地址图本质上也是译码产生系统总线写周期地址总线:0xD5000000数据总线:0x00000002控制总线:R/W#为L主存总线控制器系统总线地址=D500_0000数据=0000_0002S5:写显卡寄存器~~显卡的工作假设显卡已经知道自己的地址范围P&P部分会介绍显卡是如何知道自己的地址与其他所有设备同时侦听总线,分析地址从地址总线获取地址发现地址==D500_0000h,表明读写自己将数据写入内部寄存器主存总线控制器系统总线地址=D500_0000数据=0000_0002目录典型的输入输出系统总线I/O接口基本功能与结构程序访问设备PCI总线概述P&P的原理中断3种数据传输方式异常PCI总线PCI总线由Intel公司于20世纪90年代提出,后成为工业标准PCI总线具有诸多新特性,奠定了现代计算机系统总线的基础PCI总线特点总线时钟频率33MHz/66MHz总线宽度
32位(5V)/64位(3.3V)峰值数据传输速率132MB/s、264MB/s、528MB/s时钟同步方式与CPU时钟频率无关支持Plug&Play(P&P,即插即用)PCI读写操作基本特点所有的信号在时钟上升沿采样集中仲裁仲裁与当前传输重叠(overlap)地址与数据复用FRAME#指示地址传输Burst传输当满足下列条件时,数据传输完成Master有效IRDY#Slave有效TRDY#FRAME#无效表示传输最后一个数据字
PCI总线规定信号名后#表示该信号为低电平(L)有效读操作时序分析写操作时序分析目录典型的输入输出系统总线I/O接口基本功能与结构程序访问设备PCI总线概述P&P的原理中断3种数据传输方式异常即插即用(P&P,PlugandPlay)PCI总线系统完整的支持了P&P摆脱了人工配置设备的繁琐,减少了错误设备互换性得到质变奠定了现代系统总线的基础如果总线不支持P&P设备在插入计算机前必须仔细的设置跳线必须手工配置设备的基地址设备缺乏良好的互换性对于计算机使用人员具有较高的要求容易出现错误,导致死机P&P要解决的核心问题是什么?设备能被CPU访问的基本前提:必须在CPU地址空间中分配一个地址范围地址范围:Base+LengthLength是设备自身的属性,易于解决关键是Base如果设备的基地址固定,则:无法保证任意两个设备的基地址是不冲突的,特别是当新设备接入主机时P&P要解决的问题无需静态分配base上电后初始化阶段分配base传统方式vs.P&P传统方式Base由人工设置跳线实质:通过电阻上拉或下拉P&P解决思路配置阶段:系统软件(BIOS)设置各设备基地址工作阶段:设备对基地址进行译码P&P基本工作过程CPU在每次上电后初始化阶段完成如下工作S1:CPU按照某种策略读写所有设备的配置信息设备返回CPU所需地址空间的大小等信息S2:CPU按照某种算法对地址空间进行划分S3:CPU把每个设备的基地址写入设备设备如何支持P&P?支持两阶段工作模式配置阶段:系统软件(BIOS)设置各设备基地址工作阶段:设备对基地址进行译码配置2个寄存器:Base寄存器和Length寄存器Base寄存器:存储CPU分配的base。R/WLength寄存器:存储设备所需空间大小。ROnly配置译码比较电路总线地址=?=Base实现P&P的基础-Base的设置方式条件1:必须是寄存器类型因为寄存器具有可以被读写的特性条件2:Base寄存器能够由CPU设置CPU能读写寄存器,则意味着系统具有了灵活性问题转变为:CPU要能够读写base寄存器鸡生蛋?蛋生鸡?CPU配置设备的基础是:CPU必须读写设备中的配置相关寄存器(base、length)设备响应总线读写周期的前提是:设备必须对总线地址译码地址译码的核心是:设备要把总线地址与某个基地址比较但是,基地址是在完成设备配置后才生效的!目录典型的输入输出系统总线I/O接口基本功能与结构程序访问设备PCI总线概述P&P的原理PCI设备的配置空间与工作空间中断3种数据传输方式异常PCI设备必须具备2个地址空间配置空间:支持自动配置的地址空间仅由若干与配置任务相关的寄存器组成工作空间:支持用户功能的地址空间寄存器:命令/状态/数据寄存器存储器:如显存PCI配置空间PCI规范定义配置空间为64B,由一组寄存器构成PCI设备可以根据需要实现部分寄存器必须实现的寄存器设备/厂商状态/命令基地址寄存器组最多支持6个基地址寄存器至少实现1个基地址寄存器310DeviceIDVendorID00hStatusCommand04hClassCodeRevisionID08hBISTHeaderTypeLatencyTimerCache
LineSize0ChBaseAddressRegisters10hBaseAddressRegisters14hBaseAddressRegisters18hBaseAddressRegisters1ChBaseAddressRegisters20hBaseAddressRegisters24hCardbusCISPointer28hSubsystemIDSubsystemVendorID2ChExpansionROMBaseAddress30hReservedCapabilitiesPointer34hReserved38hMax_LatMin_GntInterruptPinInterruptLine3ChPCI设备如何区分cpu读写两个空间?首先,每个PCI设备都有独立的IDSEL信号IDSEL有效,表明当前总线周期是cpu读写设备的配置空间其次,设备通过分析总线周期来区分对两个空间的操作PCI总线有2种总线周期,一种是常规周期,一种是配置周期2种周期除了C/BE[3:0]#的编码不同外,更重要的是如果当前是配置周期,则IDSEL一定有效反之,如果IDSEL无效,则即便C/BE[3:0]#是配置周期读写编码,设备也不应响应该周期第三,只有完成了配置后,设备才能响应常规读写周期1)配置完成前,禁止PCI设备响应常规周期BIOS复位command寄存器中的MemorySpace和I/OSpace这2个使能位被复位2)配置完成后,允许PCI设备响应常规周期BIOS置位上述2个使能位工作空间配置空间配置空间与工作空间的关系配置空间:响应BIOS的配置操作,包括1)禁止和使能工作空间的译码2)响应BIOS对BaseAddressRegister的设置AD[31:00]寄存器或存储器FRAME#设备基地址其他电路Base译码译码(1)IDSEL配置寄存器C/BE[3:0]#使能工作空间:接受配置空间的控制1)使能:是否允许译码总线周期2)基地址:与总线地址进行比较以响应常规总线周期目录典型的输入输出系统总线I/O接口基本功能与结构程序访问设备PCI总线概述P&P的原理访问配置空间的基本原理中断3种数据传输方式异常基本思路1/2Cpu的配置空间:每个PCI设备在CPU地址空间有对应的配置空间将cpu地址空间中某一固定地址的小容量空间划分为若干份,每份对应一个PCI设备的配置空间cpu读写该区域则意味着进行配置操作(包括设置基地址)PCI设备:IDSEL信号每个PCI设备都有一个IDSEL信号,其有效表明当前总线周期为配置周期每个PCI设备都有一组特定寄存器(配置寄存器),其容量大小与前述的系统桥芯片为PCI芯片/PCI插槽产生一个独立的IDSEL信号译码CPU对各个配置空间的读写,并产生相应的配置周期和IDSEL系统软件设计读写设备配置空间来判定PCI设备存在及需求分配地址基本思路2/2系统桥为每个PCI设备提供独立IDSEL,包括:主板上已安装芯片PCI插槽目录典型的输入输出系统总线I/O接口基本功能与结构程序访问设备PCI总线概述P&P的原理系统与设备中断3种数据传输方式异常系统桥译码系统的配置空间系统桥了解cpu的地址空间的分配情况当BIOS要读写某个设备配置寄存器时,系统桥产生相应的配置周期最重要的是,系统桥根据配置空间分配情况只有效该设备的IDSEL系统桥CPU地址空间⁞设备2寄存器/存储器设备2工作空间设备1寄存器/存储器设备1工作空间
设备N配置空间系统配置空间⁞设备1配置空间⁞设备N的配置寄存器CPU=IDSEL1=设备1配置基地址IDSELNA[31:00]基地址设备1的配置寄存器⸽设备N配置基地址BIOS设置BaseAddressRegister的基本过程S1)清除Command使能位以禁止设备译码S2)向BaseAddressRegister写0xFFFFFFFF写0xFFFFFFFF是一个信号,表明CPU希望获取地址空间需求信息设备检测到该事件后,应该在内部置位一个标志S3)读BaseAddress注意,此时设备返回的基地址寄存器值代表的是地址空间容量地址空间容量的表示方法:高位置1,低位置0(0的位数取决于空间大小)例1:1MB0xFFF00000例2:16MB0xFF000000S4)向BaseAddressRegister写分配好的基地址S5)置位Command使能位以允许允许设备译码目录典型的输入输出系统总线I/O接口基本功能与结构程序访问设备PCI总线概述P&P的原理中断为什么需要中断3种数据传输方式异常程序查询I/O一般来说设备上都有2个寄存器状态寄存器(Status):Ready位指示是否就绪,即是否可以输入/输出数据寄存器(Data):用于传输数据程序查询(Polling)I/O的基本原理:1)cpu循环的读取status寄存器,直到Ready置位(01)2)cpu用load指令(或store指令)读(或写)Data寄存器设备译码并执行完cpu的操作后,会复位Ready位(10)程序查询I/O示例输入:读取键盘值到$v0
lui $t0,0xffff#ffff0000,基地址
Waitloop:
lw $t1,0($t0)#status寄存器
andi $t1,$t1,0x1
beq $t1,$zero,Waitloop
lw $v0,4($t0)#datareg输出:把$a0写入设备
lui $t0,0xffff#ffff0000,基地址
Waitloop:
lw $t1,8($t0)#status寄存器
andi $t1,$t1,0x1
beq $t1,$zero,Waitloop
sw
$a0,12($t0)#datareg常见I/O设备的性能参数I/O设备间的性能差距巨大:LAN与鼠标有7个数量级的性能差距设备行为人机交互带宽(KB/s)键盘输入是0.01鼠标输入是0.02音频输出输出是5.00打印机输出是100.00硬盘存储否10,000.00WLAN输入/输出否10,000.00显示输出是30,000.00千兆LAN输入/输出否125,000.00处理器/设备性能不匹配在程序查询模式中,由于设备太慢,cpu大量执行低效的循环假设cpu的主频为1GHz,则cpu可以每秒执行109条load/store指令
cpu:相当于带宽为4,000,000KB/sI/O设备:带宽从0.01KB/s到125,000KB/s输入:当cpu读取数据时,设备很难及时提供数据另外,很多时候,人机交互型设备还必须等待人的操作,例如键盘输入输出:当cpu写数据时,设备很难及时接收并存储数据需要一种非计划型的过程调用,它能够在设备就绪后自动被调用1)当设备就绪后,设备向cpu发出一个信号2)cpu在接收到该信号后,首先完成当前指令,然后自动去执行预先设置的一个特定过程3)该特定过程执行结束后,cpu再返回至被打断的位置恢复执行目录典型的输入输出系统总线I/O接口基本功能与结构程序访问设备PCI总线概述P&P的原理中断中断处理的硬件机制3种数据传输方式异常中断(Interrupt)中断是由I/O设备产生的异步事件产生原因:设备处于某种状态,需要cpu进行必要的处理例如,准备接收或发送数据、某些特殊情况(如出错)通知机制:中断请求信号设备使该信号从无效变为有效来通知cpu异步含义:I/O中断与当前指令流无关联关系(或因果关系)I/O中断是在当前指令流在执行过程中产生的中断处理:cpu执行一段被称为中断服务程序(interruptserviceroutine,ISR)来处理设备请求cpu接收到中断请求后,首先执行完当前指令,然后自动转入ISR执行完ISR后,cpu再返回到被中断的位置继续执行中断处理基本过程示例1)设备向cpu发出中断请求信号2)cpu执行完sub后,将sub下一条指令的PC值保存好3)cpu自动将ISR的首地址加载到PC中,从而实现跳转4)cpu执行ISR完成输入输出等操作5)cpu执行eret指令实现从ISR返回eret功能之一是将保存的PC值写入PCadd用户程序subandorlwISRstore...eret1)中断请求有效2)保存PC3)跳转ISR4)执行ISRCpu中的硬件机制1/3保存被中断指令的下一条指令的地址cpu要执行完当前指令才响应中断,因此要保存的值是PC+4该值被保存在EPC(ExceptionProgramCounter)中固定的ISR首条指令地址(即入口地址)由于cpu自动跳转至ISR,因此ISR入口地址必须是固定值,即BFC00000hCpu中的硬件机制2/3增加32位的EPC寄存器,其输入来自PC由于cpu是在执行完当前指令后才跳转的,,PC已经被更新为下一条指令的地址了NPC1)当执行eret指令时,NPC选择将EPC的值送至PC2)内部设置一个固定地址BFC00000h,用于跳转至ISRIMARDPCIRABRFA1A2A3WD3RD1RD2ALUZeroEXT01DMARDWD0121F012M1NPCNPCIMMRAEPCPCPC4M2M3C1215:1120:1620:1625:21DR15:0025:00AREPCCpu中的硬件机制3/3Int是设备的中断请求信号状态机中增加INT状态INT状态用于将下一条指令地址写入EPC,以及将ISR入口地址写入PC状态机在每条指令的最后一个状态检查Int是否有效,如果有效则跳转这样就保证当前指令执行结束后才转入ISRPC写使能需增加2种情况:一种与INT状态相关,一种与eret相关同理,NPC控制信号也需要考虑上述2种情况S1S2S3S4jal|eretbeqsw|add|sub|ori|luiresetINTS5(jal|eret)&Intbeq&IntInt(sw|add|sub|ori|lui)&Int目录典型的输入输出系统总线I/O接口基本功能与结构程序访问设备PCI总线概述P&P的原理中断中断服务程序框架3种数据传输方式异常中断服务程序框架首先,保存现场将可能会破坏的寄存器都保存在堆栈中第2,执行与设备功能相关的代码主要包括读取设备状态寄存器、数据读写等第3,恢复现场从堆栈中恢复所有寄存器最后,执行eret指令从中断返回目录典型的输入输出系统总线I/O接口基本功能与结构程序访问设备PCI总线概述P&P的原理中断防止中断重入3种数据传输方式异常为什么会发生中断重入?一般来说,设备会保持中断请求信号有效,直至ISR中某条指令设置了设备上的某个寄存器为止很显然,ISR初始的若干条指令是与设备功能无关的一般来说,设备可能因为多种原因而产生中断除了保存现场等指令外,ISR需要首先了解设备到底发生了什么这就必然涉及一段指令问题就发生在cpu跳转到ISR的入口地址开始执行ISR的首条指令上cpu刚执行完首条指令,但由于中断请求信号保持有效,cpu再次跳转至中断入口重新开始执行中断服务程序防止中断重入防止中断重入的办法就是设置一个状态(ExceptionLevel,EXL)0:cpu未进入ISR1:cpu已进入ISR
MIPS中有一个与EPC配合的特殊寄存器SR(status),其位1就是EXL工作机制:进入ISR:当中断请求有效时,cpu视EXL是否为0决定是否跳转如果为0,则cpu跳转入口地址的同时将EXL置为1如果为1,则表明cpu已经在ISR中了,则cpu不再跳转退出ISR:eret指令除了将EPC写入PC外,还需要将EXL清0如果eret不执行该功能,则ISR将只能进入一次!目录典型的输入输出系统总线I/O接口基本功能与结构程序访问设备PCI总线概述P&P的原理中断软硬件协同3种数据传输方式异常中断响应机制分析:软硬件协同设备EPC/EXL控制器中断服务程序IntReq=f(Int,EXL)最后一个周期检测IntReqIntEPCPC值PC
硬件中断服务程序入口EXL置位信号保存现场中断处理恢复现场ERETEPCPCEXL清除信号目录典型的输入输出系统总线I/O接口基本功能与结构程序访问设备PCI总线概述P&P的原理中断3种数据传输方式异常DMA概述程序I/O与中断I/O的不足程序I/O过于低效中断I/O有改进,但对于每一次I/O传送,cpu仍然必须执行一些指令DMA(DirectMemoryAccess)DMA控制器直接控制数据直接在存储器与外设之间高速交换CPU不再介入具体的I/O操作DMA控制器提供存储器地址信号、读写控制信号等CPU与I/O设备在更大的程度上并行工作,效率更高DMA方式适合高速批量的数据传输如视频显示刷新、磁盘存储系统的读写、存储器到存储器的传输等DMA控制器的内部基本结构在DMA系统中,DMA控制器是核心部件,内部包含:Counter寄存器:保存传输长度每传输一个数据,自动减1。减为0,则传输结束Address寄存器:保存传输双方的地址每传输一个数据,地址会自动加1Control寄存器:保存传输方向、是否允许中断等Status寄存器:DMA传输状态,如传输结束等缓冲区:用于缓存数据接口逻辑:产生总线读写周期DMA的基本过程1/31)CPU初始化DMA控制器设置数据传送方向:是请求读还是请求写(对存储器而言)设置设备地址:DMA操作所涉及的设备地址设置存储器起始地址:读或写存储器的起始单元地址设置传送的数据数量:传送数据的字数有关中断方式的设置:DMA结束后通过中断方式请求CPU处理DMA的基本过程2/32)DMA传输申请总线:DMA向cpu(或总线仲裁器)提出总线请求一旦DMA控制器获得总线,则cpu就无法访问主存了总线读周期:从源端(主存或设备)读取一个(或一批)数据读取的数据暂存在DMA控制器内部的缓冲区中总线写周期:向目的(设备或主存)写入一个(或一批)数据
重复上述过程,直至传输结束DMA的基本过程3/33)DMA传输后处理中断请求:一块数据传输结束后,DMA控制器向cpu发出中断请求响应中断:cpu响应该请求,然后视需求决定是否再启动一次数据传输DMA的演化早期计算机系统采用集中式的DMA控制器因为芯片技术水平相对落后,难以在单一芯片中实现多重功能系统整体性能低传输一个数据需要2个总线周期DMA传输与cpu争用,cpu效率低现代计算机系统采用层次化总线;芯片技术提高是的每个设备都能实现DMA传输功能系统整体性能高减少了总线周期数,提高传输性能设备-设备间传输不影响cpu性能A.早期计算机系统B.现代计算机系统DMA带来的cache一致性产生cache一致性的原因DMA写主存:cache存储的是过去的副本;主存数据已经被DMA更新了DMA读主存:cache存储的可能是最新数据,而DMA从主存中获取是过去的副本方案1:由cache系统确保一致性该方案要求I/O数据传输通道必须经过cache,这样就能确保数据一致性了。对于cache来说,DMA类似于另一个CPU需要采用类似多CPU系统中的cache一致性协议方案2:需要操作系统介入DMA传输前,OS将相应的物理页面的PTE设置为cache不可访问当CPU访问该物理页面时,由于不能被cache,故cpu会从主存读取数据DMA传输后,OS恢复PTE为cache可以访问CPU再访问相应的物理页面时cache就会发生效力目录典型的输入输出系统总线I/O接口基本功能与结构程序访问设备PCI总线概述P&P的原理中断3种数据传输方式异常异常(Exception)异常是由于cpu执行指令而产生非特殊事件产生原因:指令执行出现“不期望”状态,需要cpu进行处理例如:溢出、除0、TLB缺失等通知机制:数据通路中的功能部件向控制器产生请求信号可以理解为cpu内部的中断请求信号异常处理由于是指令执行出现了问题,因此cpu停止继续执行当前指令,类似中断处理一样转入特定的异常处理程序执行完异常处理程序后,cpu再重新执行出问题的指令异常与中断的区别虽然异常与中断的处理机制高度类似,但两者也具有明显的不同1)同步与异步异常:与指令流是同步关系(有因果关系)中断:与指令流是异步关系(无因果关系)2)受害指令(即发生异常或中断时的那条指令)异常:停止执行受害指令,然后转入异常处理程序中断:执行完受害指令,然后转入中断处理程序3)PC保存异常:由于当前指令未执行完,因此当前指令地址保存到EPC中断:由于当前指令执行完了,因此下一条指令地址保存到EPC同时支持中断与异常1)为支持异常,状态机增加一个新的状态:EXC2)S2状态:增加了对非法指令异常的支持控制器在S2状态译码指令,因此可以发现是否存在非法指令3)S3状态:增加了对溢出的支持对于add等溢出敏感型指令,ALU在S3状态进行计算因此如果发生溢出,则溢出信号也会在S3状态产生集成MIPS微系统计算机组成与实现目录概述MIPS体系结构定时概述串行通讯概述完善cpu设计通过系统桥连接设备定时器设计MiniUART设计软件开发动机有助于培养系统思维有助于深刻理解软硬件协同通过复杂的调试有助于训练思维宽度、深度和缜密程度有助于理解现代计算机系统的基本特征—并行与并发增强对计算机系统的感性认识学习和掌握多种工具主动学习!目标ISR()……系统桥定时器UARTCPU(含存储器)ABCDEFGH12345678main()……软件硬件PC机多周期,支持中断接收到主机发送的字符就产生中断在一个ISR中,同时支持UART中断和定时中断主程序初始化后,就循环检测UART是否有数据,并设置定时器产生周期性定时中断实验环境FPGA:cpu、UART控制器x2、定时器、LED/7段数码管驱动RS-232:连接器,与FPGA实现的UART控制器连接存储器:存储代码与数据LED:适合按位显示7段数码管:适合显示完整的数字波动开关:允许简单输入FPGA存储器存储器存储器
最小实验系统FPGA+1个UART目录概述MIPS体系结构地址空间分配定时概述串行通讯概述完善cpu设计通过系统桥连接设备定时器设计MiniUART设计软件开发地址空间分配微系统参考了MARS的地址空间规范,实际使用空间远小于4GB现代计算机cpu地址空间远大于4GB,而且划分方案非常复杂1)虽然IM和DM分别只有4KB和8KB,但能编写小规模程序了2)ISR只有256B是肯定不够的,这里仅用于部署跳转指令256B对应64条跳转指令,也就是最多可以对应64个硬件中断序号地址范围容量映射对象描述100000000H~00001FFFH8KB数据存储器容量8KB。数据位宽:32位200003000H~00003FFFH4KB指令存储器容量4KB。数据位宽:32位300004180H~000041FFH256B硬件中断入口所有硬件中断的入口区400007F00H~00007F0FH16B定时器用于映射定时器的寄存器500007F10H~00007F2FH32BUART用于映射UART的寄存器600007F30H~00007F3FH16BSWITCH用于映射FPGA实验板上的用户开关700007F40H~00007F4FH16BLED用于映射FPGA实验板上的LED目录概述MIPS体系结构协处理器定时概述串行通讯概述完善cpu设计通过系统桥连接设备定时器设计MiniUART设计软件开发协处理器现代cpu除了计算功能(如计算、存储访问、分支、跳转等),还包含庞杂的管理功能cpu管理(包括中断、cache、MMU等)、浮点运算等MIPS采用协处理器(Co-Processor)方案实现上述特殊功能MIPS共定义了4个CP(CP0至CP3),其中CP0是体系结构中必须实现的协处理器方案的价值使得计算与管理彼此独立,相互干扰少使得MIPS实现者可以根据具体需求灵活选择实现方案CP0CP0是所谓的系统控制协处理器它是MIPS的精髓之一,也是打开MIPS特权级模式的大门CP0内部包含32个特殊寄存器,我们只实现12号至15号编号寄存器描述R/W12SR状态寄存器从名字上看应该是系统状态,但大部分可写的位却是用于控制R/W13Cause导致异常或中断的原因R14EPC异常返回地址R/W15PRId处理器识别标识原则上,MIPS公司决定处理器标识编码信息分配方案R
R代表只读;R/W代表可读可写
关于协处理器的更多内容,请阅读《SeeMIPSRunLinux》第3章SR寄存器SR包含大量的控制位,微系统仅保留与中断相关的4个寄存器位IE是全局性中断开关当软件置位IE后,CPU将不再响应外部中断IM[7:2]:6位中断屏蔽位,分别对应6个外部中断1-允许中断,0-禁止中断IE:全局中断使能1-允许中断;0-禁止中断EXL:异常级(用于防止中断重入)1-进入异常,不允许再中断;0-允许中断IM7-2
IM[7:2]实现了中断使能的精细化管理
微系统只实现IM3和IM2,分别对应UART和定时器CAUSE寄存器IP[7:2]:6位待决的中断位,分别对应6个外部中断记录当前哪些硬件中断正在有效1-有中断;0-无中断ExcCode[6:2]:异常编码,记录当前发生的是什么异常包括中断等在内,共计32种编码微系统最多实现3种即可ExcCode助记符描述0Int中断10RI不识别(非法)指令12Ov算数指令导致的异常(如add)
微系统只实现IP3和IP2,分别对应UART和定时器EPCEPC:保存中断/异常时的PC以便从中断/异常服务程序返回至被中断指令Eret是可以访问EPC的指令之一,其功能之一是将EPC写入PC,从而实现从异常(或中断)处理程序返回只受害指令编码31262521201615
1110
650COP00100008000010000000000000000000eret0110006206格式eret描述eret将保存在CP0的EPC寄存器中的现场(被中断指令的下一条地址)写入PC,从而实现从中断、异常或指令执行错误的处理程序中返回。操作PC
CP0[epc]示例eret其他当程序被硬件中断、指令执行异常(如除0、算数溢出)时,PC+4将被保存在EPC中。PrID用于对公司/指令集版本等进行标识Intel处理器也有ID,CPU-Z就可以读取目前可以任意选则用一个4字节的编码值,如0x1234_5678名字:IntelXeonE31230v3代号:Haswell-WS
上述名字与代号是软件根据读取的寄存器值进行相应解读目录概述MIPS体系结构协处理器指令定时概述串行通讯概述完善cpu设计通过系统桥连接设备定时器设计MiniUART设计软件开发协处理器指令及用途软件不能直接修改CP0寄存器,必须借助通用寄存器mfc0:读取CP0寄存器至通用寄存器SR:获取处理器的控制信息Cause:获取处理器当前所处于的状态EPC:获取被异常/中断的指令地址PRId:读取处理器ID(可以读取你的个性签名
)mtc0:通用寄存器值写入CP0寄存器SR:对处理器进行控制,例如关闭中断EPC:操作系统中将用于多任务切换目录概述MIPS体系结构协处理器指令定时概述串行通讯概述完善cpu设计通过系统桥连接设备定时器设计MiniUART设计软件开发定时概述存在大量需要知道当前的时间或流逝了多长时间的场景使用者需要了解当前时间,例如日期:时:分:秒:毫秒:微秒应用程序(
例如闹钟程序)需要等待一个固定的时间应用程序(例如视频播放软件)需要按某种时间节拍推进内部的计算工作OS调度进程的策略之一就是按时间片调度网络通信中需要为报文发送和接收设置超时计时/定时的基本思路定时器周期性的产生中断ISR读取并记录定时器的计数值在现代计算机系统中,一般是由ISR调度OS内部的相关代码完成上述及更复杂的时间管理功能为关机后能继续计时,很多计算机系统为定时器提供了电池供电定时器工作特性定时器的核心是计数器,它在某个时钟驱动下不断计数,然后根据计数器的时钟频率和计数值来推算出时间一般来说,计数器具有灵活的工作特性计数模式,例如:
正计数;
倒计数加载模式,例如:
计数结束后等待软件重置;计数结束后自动重置中断模式,例如:计数结束后不允许中断;计数结束后不允许中断
简化设计目录概述MIPS体系结构协处理器指令定时概述串行通讯概述完善cpu设计通过系统桥连接设备定时器设计MiniUART设计软件开发串行通信基本特点单一传输线:即传输控制信息又传输数据信息通讯协议:异步通信、同步通信传输方向:全双工、半双工、单工串行通信基本特点信号调制与解调计算机内部传输通常采用数字信号;计算机远程通信通常依赖公用电话网公用电话网适合传输300~3400Hz的音频信号(模拟信号)直接传输二进制数据会引起高次谐波,致使二进制数据信号严重失真调制(二进制信号
音频信号)与解调(音频信号
数字信号)多种调制模式:ASK(振幅调制)、PSK(相移调制)、FSK(频移调制)…信息检错与纠错MODEM:调制解调器波特率与字符速率波特率:串行通信中的位传输速率(bps)例如,1秒钟能够传输1000个二进制位,则波特率为1000bps常见波特率:9600、19200、38400、57600、115200等字符速率:字符数/s1个字符由n位组成(字符帧)有效载荷:n位协议开销:起始位、停止位、校验位字符帧格式字符帧包括起始位、数据位、停止位和校验位起始位:1位;值恒为0数据位:最多为8位停止位:1、1.5或2位;值衡为1校验位:可选字符帧发送首先,发送1位起始位然后,将数据按从最低位到最高位的顺序逐位发送第三,发送校验位(可选)最后,发送停止位波特率与时钟
波特率除数因子波特率与时钟
波特率除数因子数据发送与接收1/2发送电路发送时钟:频率与波特率相同即可移位寄存器:并行加载字符;在发送时钟驱动下逐位发送接收电路接收时钟:N倍于波特率(一般为为8倍或16倍)移位寄存器:在接收时钟驱动下在字符中间位置采样信号并接收数据发送与接收2/2如何找到字符的中间位置?首先,检测传输是否开始检测接收信号线是否从10一旦检测到0,则意味着一个字符开始了然后,计数N/2个周期,这样就到达了字符的中间位置从该位置开始,每N个周期采样一次UART控制器接口cpu侧接口;RS-232侧接口串并转换为cpu侧提供并行数据访问接口;为RS-232侧提供串行收发接口波特率生成错误检测中断MODEM连接CPUUART控制器RS-232驱动电路RxDTxDUART控制器RS-232驱动电路RxDTxDCPU必备必备必备可选可选可选MiniUART基本特性波特率:9600、19200、38400、57600及115200共5种波特率数据帧:1位起始位、8位数据位、1位停止位,无奇偶校验位中断:支持MODEM:不支持信号:RxD、TxD、GND偏移寄存器描述R/W00hDATA数据寄存器。读出时,返回内部的数据接收寄存器值。写入时,将待发送数据写入到内部的数据发送寄存器R/W04hIER中断允许寄存器R/W08hIIR中断识别寄存器R0ChLSR线路状态寄存器R10hDIV波特率除数因子寄存器R/WRS-232接口RS-232是美国电子工业协会(EIA)等多家单位于1970年制定的RS-232有两种标准(9针或25针),常用的是9针接口RS-232(9针接口)中最常用的信号是:RxD(Receiveddata):串行接收数据TxD(Transmitteddata):串行发送数据GND:地线CPUUART控制器RS-232驱动电路RxDTxDUART控制器RS-232驱动电路RxDTxDCPU短距离通信时,交叉连接两台计算机的RxD与TxD目录概述MIPS体系结构协处理器指令定时概述串行通讯概述完善cpu设计通过系统桥连接设备定时器设计MiniUART设计软件开发CP0模块接口信号名方向描述备注A[4:0]ICP0寄存器索引支持mfc0和mtc0这两条指令WD[31:0]I写入CP0的数据RD[31:0]OCP0寄存器输出WrIEPC写使能PC[31:2]I发生异常时,需要保存的PC值异常/中断时保存EPCWrEPCI发生异常时,EPC的写使能EPC[31:2]OEPC保存的发生异常时的PC值输出EPC寄存器的值EXL_ClrISR寄存器EXL位复位支持EXL位EXL_SetISR寄存器EXL位置位IP[3:2]I外部设备中断输入对应定时器中断和UART中断INTO中断请求
ClkI时钟系统信号ResetI复位信号设计CP0:SR由于无用位较多,因此只定义有用位reg[15:10]im;regexl,ie;SR整体表示为:{16’b0,im,8’b0,exl,ie}im,ie:行为很简单if(当Wen有效&&Sel为对应的寄存器编号){im,exl,ie}<={DIn[15:10],DIn[1],DIn[0]};exl:除了类似im/ie的行为外,还必须有置位和清除的功能。以置位为例:if(EXLSet)exl<=1’b1;reg[5:0]im与reg[15:10]im是等价的,但后者可读性更好设计CP0:CauseCause:只定义2位寄存器,在clock上升沿不断的保存外部2中断reg[11:10]hwint_pend;Cause整体表示为:{20’b0,hwint_pend,10’b0}设计CP0:EPC定义30位寄存器reg[32:2]epc;为什么不需要32位?设计CP0:输出CP0寄存器除了SR/Cause/EPC/PRId外,不用的寄存器一律输出0可以设计5选1的MUX,或者用行为描述(如样例代码)assignDOut=(Sel==12)?{16’b0,im,8’b0,exl,ie}:(Sel==13)?{xxxxxxxxxxxxxxxxxxxxxxxx}:(Sel==14)?EPC:(Sel==15)?PrID32’b0;数据通路与控制器数据通路:增加cp0模块控制器Wr:mtc0指令的译码结果WrEPC与EXL_Set:多周期CPU处于INT状态的函数EXL_Clr:eret指令的译码结果数据通路与控制器数据通路:增加cp0模块控制器:Wr是mtc0指令的译码结果;WrEPC与EXL_Set都是多周期CPU处于INT状态的函数;EXL_Clr是eret指令的译码结果。请读者根据这些分析自行构造这些控制信号的表达式。IMARDPCIRABRFA1A2A3WD3RD1RD2ALUZeroEXT01DMARDWD01231F012M1NPCNPCIMMRAEPCPCPC4M2M3C1215:1120:1620:1625:21DR15:0025:00ARCP0RDWDAPCEPCIP3IP2INT20:16支持设备ADD[31:0]:设备的地址DI/DO[31:0]:设备的数据输入与输出内部外部ADD[31:0]DO[31:0]DI[31:0]IMARDPCIRABRFA1A2A3WD3RD1RD2ALUZeroEXT01DMARDWD1F012M1NPCNPCIMMRAEPCPCPC4M2M3C1215:1120:1620:1625:21DR15:0025:00ARCP0RDWDAPCEPCIP3IP2INT20:1601234目录概述MIPS体系结构协处理器指令定时概述串行通讯概述完善cpu设计通过系统桥连接设备定时器设计MiniUART设计软件开发设备Cpu如何连接多个设备?每个设备都有自己的ADD、DI、DOCpu不能为每个设备都提供一套地址/数据否则cpu设计会变得复杂152接口逻辑BridgeBridge:类似与网络switchCPU侧:1组接口;设备侧:N组接口1组地址/写数据,N组读数据CPU读:数据汇聚CPU写:数据派发153CPU桥PrADDPrRDPrWDPrWrPrRdADDWDRD1……RDnCS1……CS2R/W#ADDDIDOWrRd设备ADDDODICSR/W#...设备ADDDODICSR/W#Bridge功能及内部结构完成地址、数据转换,控制信号的产生地址读数据写数据桥PrADDPrRDPrWDPrWrPrRdADDWDRD1……RDnCS1……CS2R/W#PrAddrPrRDPrWDAddRD1RD2…RDnWD译码地址图地址图:存储器及设备在地址空间的分布区域CPU读写设备(其实是程序员)必须知道设备地址Bridge也必须知道地址图,否则无法完成译码示例:假设设备0~3均需要256B的地址空间需求设备MIPS地址范围占用空间DEV0A0000000H~A00000FFH256字节DEV1A0000100H~A00001FFH256字节DEV2A0000200H~A00002FFH256字节DEV3A0000300H~A00003FFH256字节Bridge的地址译码1/2设备地址:基地址+偏移偏移:位数由空间大小决定,即log2(空间)基地址:高位部分注意:cpu读写某设备的地址空间时,发出的地址的基地址部分是不变的。变化的是偏移!31X+1X0基地址偏移设备地址范围占用空间DEV0A0000000H~A00000FFH256字节DEV1A0000100H~A00001FFH256字节DEV2A0000200H~A00002FFH256字节DEV3A0100000H~A01FFFFFH1MB字节设备基地址偏移
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 微生物检验未来职业路径展望试题及答案
- 感染性疾病微生物检验试题及答案
- 合同风险防控协议
- 克服难关2025年注册会计师考试策略试题及答案
- 提高幼儿园学生阅读与写作能力的工作计划
- 2025年特许金融分析师考试心理准备方法试题及答案
- 2025年注册会计师求职技能培养试题及答案
- 强化仓库装卸作业的安全管理计划
- 分析岗位胜任力模型计划
- 国家级课题申报书
- 《企业经营决策实战模拟》教学大纲
- 抗菌药物合理使用培训
- 变压器绝缘油试验资料课件
- 篮球运动的简介
- 如何帮助孩子有效应对压力
- 分布式光伏高处作业专项施工方案
- 中华人民共和国突发事件应对法
- 鞘内注射化疗护理课件
- 邮政社区团购怎么做流程
- 建筑施工电动运输车辆进场验收表
- Unit2Let'sCelebrate!Developingideas作业设计-2023-2024学年高中英语(精修版)
评论
0/150
提交评论