欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    大学课件计算机系统结构ComputerArchitecture.ppt

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

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

    大学课件计算机系统结构ComputerArchitecture.ppt

    计算机系统结构Computer Architecture,http:/,情凳褐痴纶漳盂染绿趟恕纫谁哄馏洲殿孰遂拄矩鼓魄拣茸枫俩白钝同宦抵【大学课件】计算机系统结构Computer Architecture【大学课件】计算机系统结构Computer Architecture,2,The Main Contents课程主要内容,Chapter 12 CPU Structure and Function CPU结构和功能Chapter 13 Reduced Instruction Set Computers 精简指令集计算机 Chapter 14 Instruction-Level Parallelism&Superscalar Processors 指令集并行性和超标量处理器Chapter 18 Parallel Processing 并行处理,始恭诛赊妙穿畏只焉瘩烁弗楔搔拆渠逻坦斗与沼港左婿侍或够忧吵后纷容【大学课件】计算机系统结构Computer Architecture【大学课件】计算机系统结构Computer Architecture,William Stallings Computer Organization and Architecture7th Edition,Chapter 13Reduced Instruction Set Computers,http:/,公瑟你簇趴援必掺诲镭佩伪暇伏住嚷罩矿汇岿姐槛炬鞠得忍发诚剿汲漠扔【大学课件】计算机系统结构Computer Architecture【大学课件】计算机系统结构Computer Architecture,4,Topics,Major Advances in Computers 计算机的主要改进Instruction Execution Characteristics 指令执行的特点Use of Large Register File 使用大的寄存器Compiler-Based Register Optimization 基于编译器的寄存器优化Reduced Instruction Set Architecture 精简指令集体系结构RISC Pipelining RISC流水线RISC vs.CISC Controversy RISC和CISC 的比较,陶柑覆侵剿癸里肖这掩慨恩悯酿砍来措胳碰基韦靛胃逞杉猴箕底炕谆疏翻【大学课件】计算机系统结构Computer Architecture【大学课件】计算机系统结构Computer Architecture,5,Major Advances in Computers(1),The family concept 系列概念IBM System/360 1964DEC PDP-8Separates architecture from implementation 将体系结构和它的实现分开Microporgrammed control unit 微程序控制器Idea by Wilkes 1951Produced by IBM S/360 1964Cache memory Cache存储器IBM S/360 model 85 1969,堡哇散膜丽衙笆抖孝俯肇垣售栏正孩选随耐役系疗甸迄电棉譬肥窜症雀橙【大学课件】计算机系统结构Computer Architecture【大学课件】计算机系统结构Computer Architecture,6,Major Advances in Computers(2),Solid State RAM 固态存储器(See memory notes)Microprocessors 微处理器Intel 4004 1971Pipelining 流水线Introduces parallelism into fetch execute cycleMultiple processors 多处理器,娠摹颓汤底煎堆煮碧床蜜络懈润鸟坝储尉褐蜂悲柠纤悔施汁钓寓块废项鸦【大学课件】计算机系统结构Computer Architecture【大学课件】计算机系统结构Computer Architecture,7,The Next Step-RISC,RISC-Reduced Instruction Set Computer RISC精简指令集计算机Key featuresLarge number of general purpose registers,or use of compiler technology to optimize register use 大量通用寄存器,使用编译技术优化寄存器的使用Limited and simple instruction set 一个有限简单的指令集Emphasis on optimising the instruction pipeline 强调指令流水的优化,畦券屋赏浩道聪帜住溉郁来虫瘴库沾级溃熏遥孪义呜贼徐年热苦狡病坍仓【大学课件】计算机系统结构Computer Architecture【大学课件】计算机系统结构Computer Architecture,8,Comparison of processors,馒膀厨篷挡制贬料薛速樊酋彦怂拆季兰猴匹象哼墒漫赊种忿峦靠浆甭酣辖【大学课件】计算机系统结构Computer Architecture【大学课件】计算机系统结构Computer Architecture,9,Driving force for CISC(1),CISC-Complex Instruction Set Computer CISC复杂指令集计算机Why CISC?Software costs far exceed hardware costs 软件成本高于硬件成本Increasingly complex high level languages 越来越复杂的高级语言Semantic gap:Difference between operations provided in HLLs and those provided in computer architecture 语义间隙问题:HLLs提供的操作和计算机体系结构提供的操作不同,逸宙邻贞红窖寞琉常孟蔬淫曾檬八炔依祁蚌咐善哭刁胁吮憾墙沙希研滴戊【大学课件】计算机系统结构Computer Architecture【大学课件】计算机系统结构Computer Architecture,10,Driving force for CISC(2),to close the gapLeads to:Large instruction sets 指令集非常大More addressing modes 更多的寻址方式Hardware implementations of HLL statementse.g.CASE(switch)on VAXHLL描述的硬件的实现,樊杀琴驯携液撼希唇勿放侵棠炳充腐韶隆管醛京辽侣肇鬼款枉褥浓么骑敞【大学课件】计算机系统结构Computer Architecture【大学课件】计算机系统结构Computer Architecture,11,Intention of CISC 复杂指令集体系结构的目的,Ease compiler writing 使编译器的编写更容易Improve execution efficiency 提高执行效率Complex operations in microcode 因为复杂操作能以微代码实现Support more complex HLLs 提供更复杂的HLL支持A totally different approach:Simpler architecture 简化体系结构,这舌屉衔诉茅职戳滤魏侥楞粥炉肚叛卓苗谈沂磅掸烈涯汁潍筹椭葫胎杰交【大学课件】计算机系统结构Computer Architecture【大学课件】计算机系统结构Computer Architecture,12,精简指令计算机RISC设计思路的提出,A number of studies have been done to determine the characteristics and patterns of execution of machine instructions generated from HLL programs已经进行的很多研究,目的是确定高级语言程序生成的机器指令执行的特征和模式The results of these studies inspired some researchers to look for a different approach 促使设计人员寻找一种与复杂指令系统截然不同的方法A totally different approach:Simpler architecture 简化体系结构,迭蹿寺纱蔷故孤荷穴罚嗜怜趋藐蓬磁岂仗蓝速脑砰墙荐驶父两射批伴羽疏【大学课件】计算机系统结构Computer Architecture【大学课件】计算机系统结构Computer Architecture,13,Execution Characteristics执行特征,Developments of RISCs were based on the study of instruction execution characteristics RISC的开发是基于指令的执行特性Operations performed 完成的操作determine functions to be performed and interaction with memory 决定了CPU所要完成的功能及其与存储器的相互作用Operands used(types and frequencies)使用的操作数及其类型和频率determine memory organization and addressing modes 决定了存储器如何组织存储它们和访问它们用的寻址方式Execution sequencing 执行顺序determines the control and pipeline organization 决定了控制和流水线的组织结构,夫优另百控墨舆墙侵锤闰蘸勾酝各剔议卿柳灭黑茵弦洋句毒腿犊在抖佑刻【大学课件】计算机系统结构Computer Architecture【大学课件】计算机系统结构Computer Architecture,14,Execution Characteristics执行特征,Dynamic measurements&Static measurements 动态测量和静态测量Dynamic measurements are measured during the execution of the program.程序的执行中进行的动态测量。Static measurements merely perform these counts on the source text of a program.静态测量只是在源程序文本上进行统计,这不能给出很有用的性能信息。,玉宫绸疫彻座蔼勉兢聪颓运裙许胃皱概主汇涎蜒雇涟柬此荫留掏贞念拨语【大学课件】计算机系统结构Computer Architecture【大学课件】计算机系统结构Computer Architecture,15,Relative Dynamic Frequency,Dynamic Machine InstructionMemory Reference Occurrence(Weighted)(Weighted)PascalCPascalCPascalCAssign453813131415Loop5342323326Call151231334445If29431121713GoTo-3-Other613121,几污抵肋关识端八铸司扩伎氏淄耕码善冻苦苏背蕊刮晃夕咬局恋帐州泅禄【大学课件】计算机系统结构Computer Architecture【大学课件】计算机系统结构Computer Architecture,16,Operations操作,Assignment statements predominate赋值语句占统治地位Movement of data is of high importance 数据的移动重要性 Preponderance of Conditional statements(IF,LOOP)条件语句占优势地位Sequence control is important 指令集的顺序控制,凋乳豁埠籍淮锰巢沸坍撑力柱郭蹋脂涂堂右符百蔚欢臀鹃哩肪风猎新偏苹【大学课件】计算机系统结构Computer Architecture【大学课件】计算机系统结构Computer Architecture,17,Operations操作,Procedure call-return is very time consuming 程序的调用花费大量时间Some HLL instruction lead to many machine code operations 一些HLL指令导致执行大量机器代码,动掳武监艰迪纱捂搁蛆囚杖蝶绽填吏蓖杯沃梯麻紊垛炊围峨内嘶攻彪消窒【大学课件】计算机系统结构Computer Architecture【大学课件】计算机系统结构Computer Architecture,18,Operands,Mainly local scalar variables 主要是局部标量变量Optimisation should concentrate on accessing local variables 优化也应该集中在局部变量的访问 PascalCAverageInteger constant162320Scalar variable585355Array/structure262425,靖炉遁踪柄马迪荷雁妻授旧翔糟砒倚泻出国铂惨巫刁跺馅炸谰焰英科突传【大学课件】计算机系统结构Computer Architecture【大学课件】计算机系统结构Computer Architecture,19,Procedure Calls过程调用,Very time consuming 过程调用是编译后的HLL程序中最耗时的操作To implement efficiently,two aspects are significant:Depends on number of parameters passed 依赖于传递的参数的数量Depends on level of nesting 依赖于嵌套深度Most programs do not do a lot of calls followed by lots of returns 程序一般不作大量的调用之后跟着大量的返回Most variables are local 大部分变量是局部的,雏榜懒孵墒钱译货缺憎族葱亮岸妻侩儡帽咏际力聋歪营涛现静悼倚困践箭【大学课件】计算机系统结构Computer Architecture【大学课件】计算机系统结构Computer Architecture,20,Implications结论,Making instruction set architecture close to HLL 使指令集与HLL相近 not most effective 不是最有效的 Best support is given by optimising most used and most time consuming features 通过优化最经常使用的和最花费时间的,是最好的方案。,搽潭棘敖彝明疆舞瞒末翌练茂寄臃次退赠洲腺孪挑说奏娃绕炼炊疚童休累【大学课件】计算机系统结构Computer Architecture【大学课件】计算机系统结构Computer Architecture,21,Implications,Generalizing from the work of a number of researchers,three elements emerge that,by and large,characterize RISC architectures.Large number of registers 大量寄存器Operand referencing optimization+locality of references memory references reduced 减少存储器访问Careful design of pipelines 精心设计流水线Conditional branch and procedure call 条件分支和过程调用Simplified(reduced)instruction set 精简指令集,尽敷诡享吊擅从呕顿煞射毙结俏攒享厂裴爆闽异河如搭账壮氨踪轴旁咕有【大学课件】计算机系统结构Computer Architecture【大学课件】计算机系统结构Computer Architecture,22,Use of Large Register File,From the analysisLarge number of assignment statementsMost accesses to local scalars 主要访问本地标量 Heavy reliance on register storage 依赖于寄存器存储 Minimizing memory access 最小化内存访问,挫互榜工存款卵迂畦盘韶婿蝉土蛆试澡领搂楔耕彻媳肥销治紊已茁肢傣掳【大学课件】计算机系统结构Computer Architecture【大学课件】计算机系统结构Computer Architecture,23,Approaches,Software solution to maximize register usage软件方法Require compiler to allocate registers to those most used variables in a given time 依赖于编译器,把寄存器分配给那些一定时间内使用最多的变量Requires sophisticated program analysis 需要复杂的程序分析Hardware solution硬件方法Have more registers 大量寄存器Thus more variables will be in registers 寄存器中存放大量变量,筹葬唱敌仗亨谜歹碳跑直瓮遇楔斥旨镊氟瓜锯烟啪冻吧骇李卷孵彩媳互栏【大学课件】计算机系统结构Computer Architecture【大学课件】计算机系统结构Computer Architecture,24,Registers for Local Variables,Store local scalar variables in registers 在寄存器中存放本地标量变量 Reduces memory access 减少存储器访问Some problemsEvery procedure(function)call changes locality 每一次过程调用都会改变局部性On every call,local variables must be saved to memory 每次调用变量必须被存储到存储器Parameters must be passed 必须传递参数On return,results must be returned and variables from calling programs must be restored 必须返回结果并且恢复调用程序的变量,柠吨景实振行商尖幽校画这图屿瘫狸奔写笔勃啦有搬嘿旦击古置疤穴厚蔫【大学课件】计算机系统结构Computer Architecture【大学课件】计算机系统结构Computer Architecture,25,Register Windows,Solution:Register windows Organization of registers to realize the goal 为了实现解决前述问题的目标,而对寄存器采用的组织结构From the analysisOnly few parameters and local variables 少量参数和本地变量Limited range of depth of call 有限的调用深度Use multiple small sets of registers 使用多个小的寄存器组Calls switch to a different set of registers 过程调用时自动地切换来使用不同的寄存器组Returns switch back to a previously used set of registers 返回时切换回以前使用的寄存器组,粒铝湿仕笺全荷摔奔授韵呸绞分渠颜诗颤个栅李纫橡簇享颤孵寅庙暗冤揖【大学课件】计算机系统结构Computer Architecture【大学课件】计算机系统结构Computer Architecture,26,Overlapping Register Windows,Three areas within a register set 窗口分为3个域:Parameter registers 参数寄存器域Local registers 局部寄存器域Temporary registers 临时寄存器域,应廉俱蝎拒法樱酉钾详振鹃含们凿纯旨射傈功谤日屉蔡昭涌户竣诉臃钙杠【大学课件】计算机系统结构Computer Architecture【大学课件】计算机系统结构Computer Architecture,27,Register Windows cont.,Temporary registers from one set overlap parameter registers from the next 临时寄存器用于当前过程与下一级过程(被当前过程调用的过程)交换参数和结果Temporary registers at one level are physically the same as the parameter registers at the next lower level.当前层的临时寄存器域和下一层的参数寄存器域物理上是同一个域。This allows parameter passing without moving data 这种重叠准许不用实际移动数据就能传递参数,鸟簇刊沉惧稀轨蔡玻门央濒咱辨除奄威柴宋酬猎种荒象壬烦灶袖训淑戳好【大学课件】计算机系统结构Computer Architecture【大学课件】计算机系统结构Computer Architecture,28,Circular Buffer diagram,The actual organization of the register file is as a circular buffer of overlapping windows.寄存器集的实际组织结构是一个由重叠窗口组成的环形缓冲器。,颖环未现这只刑仍询崔陷缩防疤欣狮悔双吃登邵旱乙悦全渣纲品媚比房乌【大学课件】计算机系统结构Computer Architecture【大学课件】计算机系统结构Computer Architecture,29,Operation of Circular Buffer,When a call is made,a current window pointer(CWP)is moved to show the currently active register window 当一个调用发生时,当前窗口指针移动到当前活动寄存器窗口If all windows are in use,an interrupt is generated and the oldest window(the one furthest back in the call nesting)is saved to memory(only.in and.loc need to be saved)当所有窗口都在使用就会产生中断,最老的窗口会保存到内存(只保存参数、局部窗口的数据)A saved window pointer indicates where the next saved windows should restore to 保存窗口指针表明下一个保存窗口应该恢复的地方,斌壮衔录变鞍刻边赁雁拎亦鄙蠕拟咕逸服赔黔售招瞧绚侥紫氓访熬读义峡【大学课件】计算机系统结构Computer Architecture【大学课件】计算机系统结构Computer Architecture,30,Operation of Circular Buffer(2),Studies show:8 windows are enough to handle up to of call/return without save/restore 8个窗口足够处理99%的调用和返回E.g.,Berkeley RISC uses 8 windows of 16 registers each,免荤护靛层表土齿秦楷题杨马状哦壶眼棒椽谓购麻懊蛇敢位具入彝惶谗佛【大学课件】计算机系统结构Computer Architecture【大学课件】计算机系统结构Computer Architecture,31,Global Variables-2 Options,Allocated by the compiler to memory 由编译器为全局变量指定存储器位置Straightforward 直截了当Inefficient for frequently accessed variables对经常访问的全局变量效率低下Have a set of registers for global variables CPU中有一组全局寄存器e.g.,registers 0-7:global 8-31:local to current windowIncreased hardware burden 硬件负担增加Compiler must decide which global variables should be designed to registers 编译器也必须裁定什么样的全局变量应指派到寄存器。,莲转酱盼穴由功些方住漫瓢岸败屑箍弛紧恳舰坠粱铣澎沙昏粘克彭传孵试【大学课件】计算机系统结构Computer Architecture【大学课件】计算机系统结构Computer Architecture,32,Registers v Cache,Large Register File CacheAll local scalars Recently used local scalars 所有局部变量 最近使用的局部标量Individual variables Blocks of memory 个别变量 存储器块Compiler assigned global variables Recently used global variables 编译器指派全局变量 最近使用的全局变量 Save/restore based on Save/restore based on caching procedure nesting algorithm 保存/恢复基于过程的嵌套深度 保存/恢复基于cache替换算法Register addressing Memory addressing 寄存器寻址 存储器寻址,颜拒网诉贮安偶宽舜棕拔眶贵咀蓝歇弱炼仰蹭蜜销烦苑良咙豫怕锻莉片规【大学课件】计算机系统结构Computer Architecture【大学课件】计算机系统结构Computer Architecture,33,Registers v Cache,大寄存器保留了所有的局部标量变量空间利用率低(窗口大,参数少)寄存器与存储器之间的数据传送不太频繁Cache有选择地保留局部标量变量可以有效地利用空间(动态更新)同时也存在空间利用率低的问题(成块传送,包含无用数据)寄存器与存储器之间的数据传送可能较频繁(组关联映像),饿禽爷骤倒灯怂踏肢惮叙氛鲸裁拇得茎虾群炕歼演原输蚊蕴撰战廷宏迟葫【大学课件】计算机系统结构Computer Architecture【大学课件】计算机系统结构Computer Architecture,34,Registers v Cache,寄存器优于Cache表现在:为访问基于窗口寄存器集中的一个局部标量,使用一个窗口号和一个“虚拟的”寄存器号。这些通过一个相对简单的译码器来选择某一个具体的寄存器。为访问cache存储器中的一个位置,必须生成全宽度的地址。这种操作的复杂性取决于寻址方式。在一个组关联的cache中,地址的一部分用于读取等同于组长度的几个字和标记(tag),地址的另一部分用于与标记进行比较,以选择所读的一个字。这一点应是很清楚的,尽管cache能与寄存器集一样地快,但cache的存取时间肯定要长。于是,从性能观点看,基于窗口的寄存器集对于局部标量是优选的。通过加入只由指令使用的cache,能进一步改善性能。,磋稗噬棱恬协坝啥缆黔坚扛次刨鬃镐栗虐储怖沾同检徊兢惧艾缮捐虐禹双【大学课件】计算机系统结构Computer Architecture【大学课件】计算机系统结构Computer Architecture,35,Referencing a Scalar-Window Based Register File,“virtual”register number,window number,快,扫瞳拔辞还藩展战仿果刮袒憨下迈镰嫩梅膊肤扎伶沼锚逊忠清野臼痒髓掌【大学课件】计算机系统结构Computer Architecture【大学课件】计算机系统结构Computer Architecture,36,Referencing a Scalar-Cache,慢,啸蔷镶埂妨奔丙惧氢亩憎脐谓臆焦赴挨阵植辑胞痉俗雌倡箭广迈秒莆奄树【大学课件】计算机系统结构Computer Architecture【大学课件】计算机系统结构Computer Architecture,37,Compiler Based Register Optimization,Assume small number of registers(16-32)假设只有少量寄存器可用优化寄存器的使用就是编译器的责任HLL programs have no explicit references to registers 用高级语言写的程序没有对寄存器的显式引用The objective of the compiler is to keep the operands for as many computations as possible in registers rather than main memory,and to minimize load-and-store operations.编译器的目标就是,尽可能地在寄存器中而不是在主存中为多数计算保持操作数,并且减少与内存的装入和存储操作。,刁孩蓖锨颗耕凭巢诽诺斩跃皮刊深磺簧错极聚仅邱醚奖堂寄菜遵蛀窿驰险【大学课件】计算机系统结构Computer Architecture【大学课件】计算机系统结构Computer Architecture,38,Compiler Based Register Optimization cont.,Each quantity is assigned to a symbolic or virtual register准备驻留在寄存器中的每个程序量先被指派到一个符号的或虚拟的寄存器中Map(unlimited)symbolic registers to real registers 然后编译器再将这些末限定数目的符号寄存器映射到固定数目的实寄存器上Symbolic registers that do not overlap can share real registers 那些使用不重叠的符号寄存器能共享同一实寄存器If you run out of real registers,some variables use memory 若在程序具体运行期间,需要打交道的量多于实寄存器数目、则某些量要被指派到存储器位置上,稠虱富缨橱婴颧靴檀鹿坯金脸伊拭配搐芜殉稚枚划弃货灯霍兑卑马刷劣厘【大学课件】计算机系统结构Computer Architecture【大学课件】计算机系统结构Computer Architecture,39,Optimization,The essence of the optimization task is to decide which quantities are to be assigned to registers 优化任务的本质:是判定程序中什么样的量应指派到寄存器中The technique is known as graph coloring图着色技术Used in RISC compiler 用在RISC编译器Borrowed from the discipline of topology 这是由拓扑学借用过来的技术,堪宰及秆梗谓沙幌喳负侈瀑柏福涅苞姓吻扁屈逢森捂殴挪刺疆慑染倾直凹【大学课件】计算机系统结构Computer Architecture【大学课件】计算机系统结构Computer Architecture,40,Graph Coloring,Given a graph of nodes and edges 对于一个由结点和边组成的给定图Assign a color to each node 为每个结点指定颜色Adjacent nodes have different colors 使相邻节点不同色Use minimum number of colors要使用颜色的数目最少Nodes are symbolic registers结点是符号寄存器,表猫馏麓痉辰叭押铲每延揉裕绣大阿温殆菏堰条穿擦筒戮散肃孪缝肚插澄【大学课件】计算机系统结构Computer Architecture【大学课件】计算机系统结构Computer Architecture,41,Graph Coloring cont.,Two registers that are live in the same program fragment are joined by an edge 若两个符号寄存器同时“存活”于同一程序段,则相应的两个结点用一条边连接起来以指出它们相关。Try to color the graph with n colors,where n is the number of real registers 尝试用n种颜色给图上色,n为实寄存器的数目Nodes that can not be colored are placed in memory 这些不能上色的结点必须放入存储器中,甫呸减佰搭萨劣戎价喉哈姜盂嗡喝渠汹隐楔又唬择逞厕汾此禄憾蜕吾嫡结【大学课件】计算机系统结构Computer Architecture【大学课件】计算机系统结构Computer Architecture,42,Graph Coloring Approach,Assume a program with six symbolic registers to be compiled into three actual registersPart a:符号寄存器使用的时间顺序 Part b:寄存器干涉图,冠错售偷歪拇澄澳譬哼籍挠据号匠梨硕忍糠子殷剃违蹈滥处秽惊

    注意事项

    本文(大学课件计算机系统结构ComputerArchitecture.ppt)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开