欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    计算机组成原理课程设计报告_16位模型机的设计(可编辑).doc

    • 资源ID:92246740       资源大小:56KB        全文页数:33页
    • 资源格式: DOC        下载积分:12金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    计算机组成原理课程设计报告_16位模型机的设计(可编辑).doc

    石家庄经济学院华信学院计算机组成原理课程设计报告计算数据块中所有数据的累加和并存储到内存单元中 题 目 16位模型机的设计 姓 名 学 号4114170801 班 号 一 班 指导老师 成 绩7>2014年1月目录一、引言31.1设计目的31.2设计任务3二、 详细设计及实现42.1 拟定指令系统42.2指令格式52.3寻址方式5三、16位CPU的模型73.1 各功能部件的VHDL设计93.2 16位模型机的设计与实现22四、总结27五、参考文献:27六、 代码28一、引言 为掌握并巩固本学期所学习的计算机组成原理知识,设计本次试验。运用整合所学的相关知识,一步步设计构造一台基本的模型计算机,明确计算机的控制原理与控制过程,巩固和灵活应用所学的理论知识,掌握计算机组成的一般设计方法,提高学生设计能力和实践操作技能,为从事计算机研制与设计打下基础。本机功能:计算数据块中所有数据的累加和并存储到内存单元中。汇编代码如下: START:MOV SI, OFFSET SRC1;源操作数地址送SI MOV DI,OFFSET DXT ;目的操作数地址送DI MOV BX,OFFSET SRC2 ;结束地址送BX MOV BL 0 ;设置BL中初值为0NEXT:MOV AL,SI;取数ADD BL , AL ;数据相加 MOV DI,AL ;存数 CMP SI,BX; JE START;如果SIBX,则转向START INCSI ;修改源地址 JMP NEXT ;转向NEXT二、 详细设计及实现2.1 拟定指令系统分析:依据汇编语言程序得出部件间的数据流的方向为立即数寄存器寄存器?内存内存操作数采用寄存器间址寻址方式源与目的寄存器内容比较,如果源等于目的转移,转向地址在指令中提供寄存器加1指令无条件转移指令,转向地址在指令中提供。指令类型 (指令中的立即数为一个字即16位)立即数寄存器需要在指令中指出寄存器及立即数如:LOADI R0,10H,此指令为双字指令内存操作数寄存器需要在指令中指出间址寄存器及目的寄存器如:LOAD R3,R1;指令为单字指令寄存器内存需要指令中指出源寄存器及间址寄存器如:STORE R2,R7;指令为单字指令寄存器内容比较产生转移的指令需要指令中指出源、目的寄存器以及转向的地址如:BRANCHEQI 0000H; 指令为单字指令寄存器加1指令指令中指出寄存器如: INC R1,指令为单字指令无条件转移指令指令中提供转向地址如:BRANCHI0008H;指令为单字指令单字指令格式单指令但操作数:INC BRANCHI单指令双操作数:mov load store LOADI双字指令格式双字三操作数: BRANCHEQI BRANCHGTI操作码指令功能00001LOAD将寄存器间址的存储单元内容装载到寄存器00010STORE将寄存器的数据存入到寄存器间址的存储单元00011MOV将源寄存器内容传送到目的寄存器00100LOADI将立即数装入到寄存器00101BRANCHI无条件转移到由立即数指定的地址00110BRANCHEQI如果源寄存器内容等于目的寄存器的内容,则转移到由立即数指定的地址00111INC寄存器内容加1指令01000ADD数据相加寻址方式含义立即数寻址指令格式中源操作数为立即数寄存器间址寻址方式寄存器中操作数的地址直接寻址主存中为操作数依据以上设计的指令系统,将主存中数据累加并存储到内存单元中的程序如下:地址机器码 指令 功能说明0000H0001H2001H0010HLOADIR1,0010H源操作数地址送R10002H0003H2002H0030HLOADIR2,0030H目的操作数地址送R20004H0005H2006H0016HLOADIR6,0016H结束地址送R60006H0007H2007H0000HLOADR7,0R7内放入0初始化最小值0008H080BHLOADR3,R1取数0009H 401FHADD R7, R3相加000AH103AHSTORE R2,R7存数000BH000CH300EH0000HBRANCHEQI 0000H如果R6内容等于R1的内容,则转向0000H000DH3031HINC R1修改源地址000EH000FH2800H0008HBRANCHI 0008H无条件转移到由立即数指定的地址存储器初始化文件memdata.mif的内容:三、16位CPU的模型 图1是采用单总线结构的16位CPU结构图,包含了基本的功能模块,由寄存器阵列构成的8个16位寄存器Reg0-Reg7;工作寄存器OpReg;算术逻辑运算部件ALU;移位器Shifter;输出寄存器OutReg;比较器Comp;指令寄存器InstrReg;程序计数器ProgCnt;地址寄存器AddrReg。所有功能模块共用16位的三态数据总线进行信息的传送。 控制器模块由状态机实现,控制器依据指令、数据通路通过控制线向各功能模块发出控制命令。 由寄存器阵列构成的8个16位寄存器Reg0-Reg7的优点是节省资源、使用方便。它们共用一个三态开关,由控制器选择与数据总线的连接。 工作寄存器OpReg 可为ALU、比较器Comp 提供一个操作数,而ALU、比较器的另一操作数直接来自数据总线。 将ALU、移位器Shifter、输出寄存器OutReg 串接起来,由控制器统一控制来共同完成一些复杂的操作,由输出寄存器OutReg存储结果,输出寄存器OutReg 向总线的输出端含有三态开关。 比较器Comp 由控制器直接控制,比较的结果进入控制器。 地址寄存器AddrReg 提供要访问的主存单元的地址,本设计中将程序和数据放在同一存储器中。程序计数器ProgCnt,不具备清零和+1的功能, 存放CPU要执行的下一条指令的地址。 指令寄存器InstrReg 存放CPU正在执行的指令。 工作寄存器OpReg,输出寄存器OutReg,指令寄存器InstrReg,程序计数器ProgCnt,地址寄存器AddrReg,均为最基本的寄存器。 为了验证CPU的功能,增加存储器,存储器中存入完成数据块传送所需的程序和数据。 系统中所有向数据总线输出数据的模块,其输出口必须使用三态控制器。 模型机的实际电路如图2所示:3.1 各功能部件的VHDL设计 程序包:说明数据类型、运算器的功能、移位寄存器的操作、比较器的比较类型和用于CPU控制的状态类型。运算器的设计 功能:Sel输入操作说明0000C A通过PASS0001C A AND B与0010C A OR B或0011C NOT A非0100C A XOR B异或0101C A + B加法0110C A - B减法0111C A + 1加11000C A - 1减11001C 0清零 说明: a15.0来自于总线,b15.0来自于工作寄存器OpReg,c15.0输出送至移位器。sel3.0来自于控制器发出的控制信号aluSel3.0,选择ALU的操作。运算器功能仿真波形图如图3所示:仿真结果说明: 当sel为0000时,进行直传的操作。通过pass,则ca,为1000。 当sel为0001时,进行与的操作。a1000,b1234,与之后c为1000。 当sel为0010时,进行或的操作。a1000,b1234,c为1234。 当sel为0011时,进行非的操作。a1000,a为EFFF。 当sel为0100时,进行异或的操作。a xor b,c为0234。 当sel为0101时,进行加法的操作。a1000,c为2234。 当sel为0110时,进行减法的操作。a1000,c为FDCC。 当sel为0111时,进行加1的操作。a1000,c为1001。 当sel为1000时,进行减1的操作。a1000,c为0FFF。 当sel为1001时,进行清0操作,全部置0. 当sel为1010时,为类型其他,全部输出0.比较器的设计功能:t_comp比较类型操作说明000Eq等于若ab,compout1001Neq不等于若ab,compout1010Gt(大于)若ab,compout1011gte(大于等于)若ab,compout1100It(小于)若ab,compout1101Ite(小于等于)若ab,compout1其他compout0比较器功能仿真波形图如图4所示:仿真结果说明:sel为000时,进行比较是否相等的操作,1000不等于1234,compout0sel为001时,进行比较是否不等于的操作,1000不等于1234,compout1sel为010时,进行比较是否大于的操作,10001234,compout0sel为011时,进行比较是否大于等于的操作,10001234,compout0sel为100时,进行比较是否小于的操作,10001234,compout1sel为101时,进行比较是否小于等于的操作,10001234,compout1sel为其他时,compout输出0.移位器的设计功能:t_shift移位类型000直通001无符号数左移010无符号数右移011循环左移100循环右移其他输出0移位器的功能仿真波形图如图5所示:仿真结果说明: 当sel为000时,进行直传的操作,a和y相同 当sel为001时,进行无符号数左移的操作,1234变为2468 当sel为010时,进行无符号数右移的操作,1234变为091A 当sel为011时,进行循环左移的操作,1234变为2468 当sel为100时,进行循环右移的操作,1234变为091A 当sel为其他时,输出0 基本寄存器 ACLKQn+10011X0Qn功能:功能说明: 在CPU中基本寄存器的角色是工作寄存器OpReg,输出寄存器OutReg,指令寄存器InstrReg,程序计数器ProgCnt,地址寄存器AddrReg。 基本寄存器功能仿真波形图如图6所示: 仿真结果说明:0ns到5ns,还没有遇到clk的上升沿,所以q端的输出是00005ns到20ns时,clk的上升沿到来,q端输出100020ns到25ns时,a发生变化,但clk上升沿没有到来,q端输出100025ns到30ns时,clk的上升沿到来,q端输出1234寄存器组 功能:Sel2.0Reg000R0001R1111R7 功能说明: clk的上升沿,将data15.0写入sel2.0指定的寄存器中,并在q15.0输出此寄存器新写入的内容。否则,q15.0输出sel2.0指定的寄存器原来的内容。如此设计的目的,便于观察写入指定寄存器中的内容。 寄存器组功能仿真波形图如图7所示: 0 - 10ns,sel000选中R0,当clk上升沿时,将data的数据0001写入R0,q000110-20ns,sel001选中R1,当clk上升沿时,将data的数据0002写入R1,q000220-30ns,sel010选中R2,当clk上升沿时,将data的数据0003写入R2,q000330-40ns,sel011选中R3,当clk上升沿时,将data的数据0004写入R3,q000440-50ns,sel100选中R4,当clk上升沿时,将data的数据0005写入R4,q000550-60ns,sel101选中R5,当clk上升沿时,将data的数据0006写入R5,q000660-70ns,sel110选中R6,当clk上升沿时,将data的数据0007写入R6,q000770-80ns,sel111选中R7,当clk上升沿时,将data的数据0008写入R7,q0008时序电路功能说明: 产生电位信号step和脉冲信号t4,每个step的上升沿状态机的状态发生改变,t4与寄存器的写信号相与作为寄存器的同步打入控制信号。时序电路的功能仿真波形图如图8所示: 仿真结果说明:0-10ns,clr高电平,t40,step初始值为0;10-15ns,clr低电平,clk为低电平,t4,step保持不变;15-20ns,clr低电平,clk上升沿,x000+1001,t4 x1 and x00 and 00,stepx10;20-25ns,clr低电平,clk为低电平,t4,step保持不变;25-30ns,clr低电平,clk上升沿,x001+1010,t4 x1 and x00 and 00,stepx10;30-35ns,clr低电平,clk为低电平,t4,step保持不变;35-40ns,clr低电平,clk上升沿,x010+1011,t4 x1 and x01 and 00,stepx11;40-45ns,clr低电平,clk为低电平,t4,step保持不变;45-50ns,clr低电平,clk上升沿,x011+1100,t4 x1 and x01 and 11,stepx11;50-55ns,clr低电平,clk为低电平,t4,step保持不变;存储器的设计LPM_RAM定制 首先,定制初始化数据文件,建立Memory Initialization File.mif文件,选择FileNew命令,并在New窗口选择Other file选项,再选择Memory Initialization File选项。出现对话框,选择存储字的个数及字长,按下OK,出现如下界面,在最左列或最上行击鼠标右键,选择地址和内存操作数所使用的基值,选择Hexadecimal,存储器里存放数据块传送的指令和数据,CPU通过执行此程序进行功能验证。完成后,保存文件memdata.mif。之后,定制LPM_RAM。设计步骤如下:选择ToolsMegaWizard Plug-In Manager命令,打开MegaWizard Plug-In Manager 对话框,选中Create a new custom megafunction variation,单击Next,出现下面对话框,选择LPM_RAM_DQ,选择所用器件的类型以及所创建的输出文件的类型及名字。选择NEXT,进入如下界面。选择数据线位数、主存容量大小(地址线位数)。选择NEXT,进入下一步界面,取消q输出端的锁存。选择NEXT,进入下一步,选择内存的初始化文件。 依据选项自动生成的代码,注意将.mif文件的路径改为相对路径,存储单元的个数为100个。 ram的功能仿真波形图如图9所示: 功能仿真说明:0-10ns,wren是读信号,address地址寄存器选择的是地址0000单元,当遇到clk时,将ram里面的内容读出来是200110-20ns,wren是读信号,address地址寄存器选择的是地址0001单元,当遇到clk时,将ram里面的内容读出来是003040-50ns,wren是写信号,address地址寄存器选择的是地址0031单元,当遇到clk时,将ram里面的内容写进去是5550控制器功能说明: 采用状态机实现,其中control的输入有step,reset,compout,instrReg,这些输入的组合可用于识别指令,并输出相关控制信号。具体信号的相关功能见control.vhdl部件说明。在译码阶段,具体来说,在一定的节拍下,contorl首先将接收的指令的前5位和后6位分开,用于分离操作数和操作码,然后将操作数的前3位和后3位分开,用于区分源操作数和目的操作数,然后根据具体的指令输出相关控制信号。 依据指令的格式、数据通路给出指令系统中所有指令的指令流程:3.2 16位模型机的设计与实现创建顶层实体图 工程所在的文件夹中包含文件如下所示。依次在功能部件所对应的VHD文件上击右键,选择Create Symbol Files for Current File,创建所有功能部件的图符。功能说明: 整个CPU系统以控制器为中心,负责指令的译码及发出各种相关控制信号。节拍发生器控制着整个系统的时钟信号,系统的相关部件在统一的节拍控制下发挥自己的作用。IR为指令寄存器,负责存储即将执行的下一条指令,addr为地址寄存器,存放被访问存储单元的地址。PC为程序计数器,存放现行指令的地址,具有计数功能。ALU负责处理相关数据运算操作。寄存器组负责存放相关操作数和中间临时变量。多路数据选择器在相关控制信号的作用下将相关数据输入ALU处理。总线分数据总线和地址总线,负责ram和相关寄存器之间的数据交换。RAM为存储器,存放相关数据和程序。连接所有的功能部件形成模型机。仿真结果说明指令 LOADI R1,0020H; 执行过程中寄存器的变化情况:state微操作addraludata2instrpcramregselregnoutgetReset1ALU清0,输出经移位器传至OutReg00000000ZZZZ00000000000000000000000Common1OutRegProgCnt00000000000000000000200100000000000Common2ProgCntAddrReg0000000000000000200100000000000Common3MAddrRegIR2001200120012001executeOp?UUUUZZZZ200120012001Loadi2ProgCnt+1OutReg000100002001000020010001Loadi3OutReg ProgCntAddrReg00010001000120010001200100000000001Loadi4MAddrRegRi00010010001020010001001000100100001incpcProgCnt+1OutReg00010002000120010001001000000000002仿真结果说明:指令 LOADR3,R1 取数 执行过程中寄存器的变化情况: 仿真结果说明:ADD R7 , R3 相加 执行过程中寄存器的变化情况 仿真结果说明:指令STORE R2,R7 ;存数 执行过程中寄存器的变化情况: 仿真结果说明:BRANCHEQI 0000H如果R1等于R6,则转向地址0000H执行过程中寄存器的变化情况:四、总结 经过本次试验,我明白到了做计算机组成原理的实验首先一定要注意线路的连接,有些要对应的要一一对应,我一开始因为没注意.弄得数据不正确,还有要注意操作方法等等。 总之,通过这次对指令系统的设计,让我对整个计算机基本原理和系统结构都有了很深的体会和认识,也强迫自己在以前不足的地方去学习了一些新的知识,最重要的是,真正让自己认识到了自己现在所学过的知识还太少太少,根本不足以完成一个哪怕是最简单的计算机项目,自己以前只满足于将课本知识学会的想法也有很大的问题,需要好好反省,在接下来的时间里,自己一定要好好把握,既要加强基础知识的学习,也要锻炼自己的实验能力,努力让自己的专业素质有很大的提高。五、参考文献:白中英.计算机组成原理第五版.北京:科学出版社,2005代码addLIBRARY IEEE;USE IEEE.std_logic_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE work.cpu_lib.all;entity add is porta:in bit16;clk:in std_logic;q:out bit16;end add;architecture rt1 of add isbeginprocessbeginwait until clk'event and clk'1'qa+"1010"end process;end rt1;addoutLIBRARY IEEE;USE IEEE.std_logic_1164.ALL;USE work.cpu_lib.all;entity addout is porta:in t_reg;b:in bit16;reset:in std_logic;q:out bit16;end addout;architecture rt1 of addout issignal temp:bit16;beginprocessa,bbeginif reset'1' then temp"0000000000000000"end if;if a"111" and btemp then qb;tempb;end if;end process;end rt1;aluLIBRARY IEEE;USE IEEE.std_logic_1164.ALL;USE IEEE.std_logic_unsigned.ALL;USE work.cpu_lib.all;entity alu is porta,b:in bit16;sel:in t_alu;c:out bit16;end alu;architecture rt1 of alu is beginprocessa,b,selbegincase sel iswhen alupass ca ;when andOp ca and b ;when orOp ca or b ;when xorOp ca xor b ;when notOp c not a ;when plus ca + b ;when alusub ca - b ;when inc ca +"0000000000000001" ;when dec ca -"0000000000000001" ;when zero c"0000000000000000" ;when others c"0000000000000000" ;end case;end process;end rt1;compLIBRARY IEEE;USE IEEE.std_logic_1164.ALL;USE IEEE.std_logic_arith.ALL;USE IEEE.std_logic_unsigned.ALL;use work.cpu_lib.all;entity comp is port a,b:in bit16;sel:in t_comp;compout:out bit;end comp;architecture rt1 of comp is beginprocessa,b,selbegincase sel is when eq if ab then compout '1'else compout'0' ;end if;when neq if a/b then compout '1' ;else compout'0' ;end if;when gt if ab then compout '1' ;else compout'0' ;end if;when gte if ab then compout '1' ;else compout'0' ;end if;when lt if ab then compout '1' ;else compout'0' ;end if;when lte if ab then compout '1' ;else compout'0' ;end if;when others compout'0' ;end case;end process;end rt1;controllibrary IEEE;use IEEE.std_logic_1164.all;use work.cpu_lib.all;entity control isport step,reset,compout:in std_logic; instrReg:in bit16;progCntrWr,progCntrRd,addrRegWr,outRegWr,outRegRd:out std_logic;shiftSel:out t_shift; aluSel:out t_alu; compSel:out t_comp;opRegRd,opRegWr,instrWr,regRd,regWr,rw,vma:out std_logic;regSel:out t_reg ;end control;architecture rtl of control issignal current_state, next_state : state;beginprocess current_state, instrReg, compoutbeginprogCntrWr '0' progCntrRd '0' addrRegWr '0'outRegWr '0'outRegRd '0' shiftSel shftpass; aluSel alupass; compSel eq;opRegRd '0' opRegWr '0' instrWr '0' regSel "000"regRd '0' regWr '0' rw '0' vma '0'case current_state iswhen reset1 aluSelzero; shiftSelshftpass; outRegWr'1' next_statecommon1;when common1 outRegRd'1' progCntrWr'1' next_statecommon2;when common2 progcntrRd '1' addrRegWr '1' next_state common3;when common3 rw'0'vma'1' instrWr'1' next_stateexecute;when execute case instrReg15 downto 11 iswhen "00000" next_state incPc ;- nopwhen "00001" next_stateload2; -load ri,rjwhen "00010" next_statestore2;- store ri,rjwhen "00011" next_statemove2;-mov ri,rjwhen "00100" next_stateloadI2;-loadi ri,nwhen "00101" next_statebraI2;- branchi nwhen "00110" next_statebeqI2;-BranchEQi n; rs rd then branchi n else inpc11when "00111" next_stateinc2; -inc rdwhen "01000" next_stateadd1;-addwhen others next_state incPc;end case;when load2 regSel instrReg5 downto 3; regRd '1'addrregWr '1' next_state load3;when load3 rw '0' vma '1'regSel instrReg2 downto 0;regWr '1' next_state incPc;when store2 regSel instrReg2 downto 0; regRd '1'addrregWr '1' next_state store3;when store3 regSel instrReg5 downto 3; regRd '1' rw '1' next_state incPc;when move2 regSel instrReg5 downto 3; regRd '1'aluSel alupass;shiftsel shftpass; outRegWr '1' next_state move3;when move3 outRegRd '1'regSel instrReg2 downto 0; regWr '1' next_state incPc;when loadI2 progcntrRd '1' alusel inc; shiftsel shftpass;outregWr '1' next_state loadI3;when loadI3 outregRd '1' progcntrWr'1' addrregWr'1'next_stateloadI4;when loadI4 rw '0'vma '1'regSel instrReg2 downto 0;regWr '1' next_state incPc;when braI2 progcntrRd '1' alusel inc; shiftsel shftpass;outregWr '1' next_state braI3;when braI3 outregRd'1' addrregWr'1'next_statebraI4;when braI4 rw '0'vma '1'progcntrWr '1' next_state common2;when beqI2 regSel instrReg5 downto 3; regRd '1'opRegWr '1' next_state beqI3;when beqI3 opRegRd '1' ;regSel instrReg2 downto 0; regRd '1' compsel eq;if compout '1' then next_state beqI4;else next_state incPc11; end if;when beqI4 progcntrRd '1' alusel inc; shiftsel shftpass;outregWr '1' next_state beqI5;when beqI5 outregRd '1' addrregWr '1' next_state beqI6;when beqI6 rw '0'vma '1' progcntrWr '1' next_state common2;when inc2 regSel instrReg2 downto 0; regRd '1' alusel inc;shiftsel shftpass; outregWr '1' next_state inc3;when inc3 outregRd '1' regsel instrReg2 downto 0;regWr '1' next_state incPc;when incPc11 progcntrRd '1' alusel inc; shiftsel shftpass;outregWr '1' next_state incPc12;when incPc12 outregRd'1' progcntrWr'1' next_stateincPc;when add1 regSel instrReg5 downto 3; regRd '1' opRegWr '1' next_state add2;when add2 regSel instrReg2 downto 0; regRd '1' alusel plus;shiftsel shftpass;outregWr '1' next_state add3;when add3outregRd '1'regSel instrReg2 downto 0; regWr '1'next_state incPc;when incPc progcntrRd '1' alusel inc; shiftsel shftpass;outregWr '1' next_state common1;when others next_state incPc;end case;end process;processstep, resetbeginif reset '1' then current_state reset1 ;elsif step'event and step '1'then current_state next_state after 1

    注意事项

    本文(计算机组成原理课程设计报告_16位模型机的设计(可编辑).doc)为本站会员(e****s)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开