高级计算机体系结构精编_精品文档.ppt

上传人:wj 文档编号:16158120 上传时间:2023-07-11 格式:PPT 页数:169 大小:1.60MB
下载 相关 举报
高级计算机体系结构精编_精品文档.ppt_第1页
第1页 / 共169页
高级计算机体系结构精编_精品文档.ppt_第2页
第2页 / 共169页
高级计算机体系结构精编_精品文档.ppt_第3页
第3页 / 共169页
高级计算机体系结构精编_精品文档.ppt_第4页
第4页 / 共169页
高级计算机体系结构精编_精品文档.ppt_第5页
第5页 / 共169页
高级计算机体系结构精编_精品文档.ppt_第6页
第6页 / 共169页
高级计算机体系结构精编_精品文档.ppt_第7页
第7页 / 共169页
高级计算机体系结构精编_精品文档.ppt_第8页
第8页 / 共169页
高级计算机体系结构精编_精品文档.ppt_第9页
第9页 / 共169页
高级计算机体系结构精编_精品文档.ppt_第10页
第10页 / 共169页
高级计算机体系结构精编_精品文档.ppt_第11页
第11页 / 共169页
高级计算机体系结构精编_精品文档.ppt_第12页
第12页 / 共169页
高级计算机体系结构精编_精品文档.ppt_第13页
第13页 / 共169页
高级计算机体系结构精编_精品文档.ppt_第14页
第14页 / 共169页
高级计算机体系结构精编_精品文档.ppt_第15页
第15页 / 共169页
高级计算机体系结构精编_精品文档.ppt_第16页
第16页 / 共169页
高级计算机体系结构精编_精品文档.ppt_第17页
第17页 / 共169页
高级计算机体系结构精编_精品文档.ppt_第18页
第18页 / 共169页
高级计算机体系结构精编_精品文档.ppt_第19页
第19页 / 共169页
高级计算机体系结构精编_精品文档.ppt_第20页
第20页 / 共169页
亲,该文档总共169页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

高级计算机体系结构精编_精品文档.ppt

《高级计算机体系结构精编_精品文档.ppt》由会员分享,可在线阅读,更多相关《高级计算机体系结构精编_精品文档.ppt(169页珍藏版)》请在冰点文库上搜索。

高级计算机体系结构精编_精品文档.ppt

1,一.高级计算机体系结构基础,计算机的基本概念什么是计算机计算机的基本组成衡量计算机的因素影响计算机设计的主要因素及其发展趋势摩尔定律和工艺的发展计算机市场发展趋势多核结构的发展趋势计算机重要指标性能、成本、功耗我国计算机发展历史,2,现在的计算机中为什么用二进制?

计算机是由电子元器件构成的,二进制最易实现。

冯诺亿曼结构:

数据和程序都在存储器中,CPU从内存中取指令和数据进行运算并把结果也放到内存中,3,用最少的指令描述一件事情-算法,编译,提高芯跳的速度-主频,每拍做更多的事情-体系结构,计算机怎样才能跑得快,4,第一代到第四代,第一代:

电子管计算机(1946-1958)每秒几千到几万次运算冯诺依曼结构第二代:

晶体管计算机(1958-1964)每秒几十万次高级程序语言出现:

FORTRAN、COBOL等IBM7094、CDC1604等第三代:

中小规模集成电路计算机(1964-1975)每秒几百万次操作系统逐步成熟、小型机出现IBM360、PDP11、VAX11第四代:

大规模集成电路计算机(1975-)每秒亿次以上微处理器出现:

Intel,AMD.,5,摩尔定律到达尺寸极限后怎么办?

会不会有新材料及新器件技术取代CMOS?

硅的平台不可能被取代,但硅平台上生长的器件会不断改进摩尔定律的进一步延续的技术:

纳米线技术、碳纳米管技术一个普及性的技术必须可以工业大规模可制备其他任何技术都不具备这个特点成为成熟的产业,从高向广发展飞机满天飞了,汽车还遍地跑,6,摩尔定律与系统结构,第一阶段:

晶体管不够用计算机由很多独立芯片构成计算机结构受限于晶体管数目不够第二阶段:

存储器速度太慢集成度提高,微处理器蓬勃发展存储容量指数增加,但访存速度增加缓慢Cache占多达80%的芯片面积第三阶段:

晶体管越来越多而“难”用设计验证能力提高与晶体管增加形成剪刀差功耗问题突出、连线成为主要矛盾不得已向多核发展第四阶段:

够用就行?

7,CPU发展趋势:

高性能,低成本,高性能多核CPU正从向千亿次量级向万亿次量级迈进片上运算能力的增加使带宽问题日益突出结合一定领域需求的XPU开始盛行,处理器核加向量处理器(VPU)和图形处理器(GPU)等属于这类结构。

继功耗问题之后,带宽问题导致第二次结构变革功耗问题导致多核结构,带宽问题导致专用核结构为了提高性能而牺牲微处理器的通用性和可编程性,8,Question?

1多核技术出现原因?

22个1G的多核Vs2G的单核处理器,3编程模型:

SIMDvsMIMD?

4虚拟化技术的意义?

9,主频障碍,过去主频的提高一半靠摩尔定律,一半靠结构优化如P3是10级流水线,P4是20级流水线流水线很难再细分随着晶体管尺寸的缩小,连线延迟成为主要延迟局部线延迟不变(变短了,但也变细了)全局的连线延迟还会不断变长(芯片面积不变)高主频的复杂设计正在终结强调:

局部化、流水化、异步、自定时,10,复杂度障碍,晶体管数目的指数增加与设计队伍的增加形成剪刀差设计能力、验证能力晶体管越来越难用串扰问题、片上漂移、可制造性设计处理器结构经历了简单、复杂、简单、复杂的螺旋上升过程最早期的处理器结构由于工艺技术的限制,不可能做得很复杂,一般都是串行执行随着流水线、动态调度、CACHE、向量机技术等技术的发展,处理器结构变得复杂,如IBM360系列的机器以及Cray的向量机RISC技术的提出使处理器结构得到一次较大的简化随着多发射乱序执行技术的实现,RISC结构越来越复杂,Intel和HP研制的EPIC结构没有从根本上对处理器结构进行简化,11,未来可能会流行的CPU结构,多核+向量处理典型:

Larrabee(16wayALU/512bit)向量的位宽:

64/128/256/512/1024众核:

同构的基于分片的多核(tilebased)典型:

Tile64处理器核的个数:

64/128512/1024带有协处理器的异构多核典型:

CELL通用处理器专用的协处理器(GPU、流处理器),12,摩尔定律发展过程中碰到的“墙”,1980s:

存储墙CPU变快,内存只变大不变快80%的晶体管用于片内高速缓存等2000s:

功耗墙一Intel放弃4GHz的PentiumIV为标志,终止复杂的高主频设计多核设计成为主流未来还有可能碰到的“墙”带宽墙:

“茶壶里倒饺子”(性能和带宽1-2FLOPS:

1BPS的关系)成本墙:

太贵了做不起(目前只剩Intel、IBM、TSMC三家)或用不起(10nm以后单片成本反而增加)应用墙:

16核以上的CPU卖给谁?

量大面广的应用需要多少核?

如果克服不了上述“墙”,通用CPU的摩尔定律到2015年即告终止,13,带宽障碍,摩尔定律的新定义片内处理器核的个数指数增长封装引脚增加缓慢每个核使用的引脚数指数下降茶壶里倒饺子高速信号传输缓解带宽瓶颈目前引脚上的信号频率已经达到GHz很快会出现板上频率高于片内频率的现象,14,提高计算机的性能:

减少指令数和提高IPC,结构提高计算机性能的常用方法和原则加快经常性事件的速度局部性原理利用并行性归一化时间计算方法当负载中各程序的执行百分比不同时,计算加权执行时间是一种方法,另一种方法是“归一化”。

就是说,将执行时间对一台参考机器进行归一化,然后取其归一化执行时间的平均值。

SPEC测试程序套件采用了该方法。

平均归一化时间既可表示为算术平均值,也可表示为几何平均值。

15,影响CPU性能的因素,性能的最本质定义完成一个任务(如后天的天气预报)所需的时间以指令为基本单位,16,CPI及IPC,在指令系统确定后,系统结构设计者的主要目标就是降低CPI或提高IPC平均CPI“AverageCyclesperInstruction”CPI=(CPUTime*ClockRate)/InstructionCount=Cycles/InstructionCountInstructionFrequency,17,开发并行性,指令级并行是过去的20年里体系结构设计者提升性能的主要途径时间并行性:

指令流水线空间并行性:

SuperScalar(Out-of-Order)和EPIC(编译器优化)进一步挖掘指令级并行的空间不大数据级并行:

SIMD向量机SSE多媒体指令作为指令级并行的有效补充,在高性能计算及流媒体等领域发挥重要作用,在专用处理器中应用较多线程级并行线程级并行大量存在于Internet应用多核处理器多线程处理器是目前的热点,18,低功耗优化方法,优化对象动态功耗优化静态功耗优化优化层次系统级算法级逻辑级电路级版图及工艺级,在三台不同指令系统的计算机上运行同一程序P时,A机需要执行1.0*108条指令,B机需要执行2.0*108条指令,C机需要执行4.0*108条指令,但实际执行时间都是10秒,请分别计算这三台机器在实行程序P时的实际运行速度,以MIPS为单位。

这三台计算机在运行程序P时,哪台性能最高?

为什么?

2.如果要给标量处理器增加向量运算部件,并且假定向量模式的运算速度是标量模式的8倍,这里把向量模式所占的百分比时间称作向量化百分比。

a)画出一张图来表示加速比和向量化百分比的关系,X轴为向量化百分比,Y轴为加速比。

b)向量化百分比为多少时,加速比能达到2?

当加速比达到2时,向量模式占了运算运行时间的百分之多少?

向量化百分比为多少时,加速比能达到最大加速比的一半?

c)假设程序的向量化百分比为70%。

如果需要继续提升处理器的性能,一种方法是增加硬件成本将向量部件的速度提高一倍,另外一种方法是通过改进编译器来提高向量模式的应用范围,那么需要提升多少向量化百分比才能得到与向量部件运算速度提高一倍得到相同的性能?

你推荐哪一种设计方案?

3.假设有一个代表典型应用的基准测试程序。

一款不包含浮点部件的处理器(可以通过整数指令的模拟来执行浮点指令)运行该基准程序的运行速度是120MIPS,在该处理器上增加浮点协处理器后运行该基准程序的运行速度是80MIPS。

下面给出了一些参数:

I基准测试中整数指令的数目,F基准测试中浮点指令的数目,Y模拟一条浮点指令需要的整数指令的数目,W无浮点协处理器时基准程序的运行时间,B有浮点协处理器时基准程序的运行时间。

a)用上面的参数符号表示出两种配置处理器的MIPS值。

b)在没有协处理器的配置下,假定F=8*106,Y=50,W=4秒,求I的值。

c)在上题的条件下,求B的值。

d)在包含协处理器的配置下,系统的MFLOPS是多少?

e)你的同事想要购买这种协处理器来提高性能,而该配置下MIPS降低了,请问他的决策正确吗?

解释你的观点5.对某处理器进行功耗测试,得到如下数据:

时钟不翻转,电压1.2V时,电流为500mA;时钟频率为1GHz,电压1.2V时,电流为2500mA。

请计算此处理器的静态功耗以及500MHz下的总功耗。

1.解:

A为10MIPS,B为20MIPS,C为40MIPS。

三台机器实际性能相同。

2.解:

加速比y与向量化比例x之间的关系是:

y=1/(1-x)+x/8)=1/(1-7x/8)(A)

(2)在式(A)中令y=2,可解得x=4/757.14%。

此时向量模式运行时间占总时间比例是(4/7)/8)/(3/7+(4/7)/8)=1/7=14.29%(3)硬件方法,整体加速比为1/(1-0.7*(1-1/16)=2.91软件方法,设相同加速比下向量化比例为x,即1/(1-7x/8)=2.91,x=0.75所以推荐软件方法。

3.解:

(1)MIPSEMUL=(I+FY)/(W106);MIPSFPU=(I+F)/(B106)

(2)120=(I+810650)/(4106)=I=80106(3)80=(80106+8106)/(B106)=B=1.1(4)MFLOPS=F/(B-(W*I)/(I+F*Y)106)18.46(5)决策正确,因为执行时间缩短了,这才是关键标准。

5.解:

1.1V下静态功耗1.1*1.1/(1.05/0.5)=0.576W1.1V下1GHZ时动态功耗为1.1*2.5-0.576=2.174W1.1V下0.5GHZ功耗功耗为2.174*0.5/1=1.087W1.1V下0.5GHZ总功耗为1.087+0.576=1.663W,20,21,二.二进制与逻辑电路,计算机中数的表示CMOS门电路及工艺CMOS组合逻辑与时序逻辑CMOS电路延迟从Verilog到GDSII其它“0”和“1”表示方法,22,计算机中数的表示,二进制最容易逻辑实现自然界中的二值系统较多“1”和“0”的表示用电压的高低表示,半导体工艺,CMOS用磁通量的有无表示,超导体工艺用能级的高低表示,量子计算机用基因序列表示,A,G,C,T,DNA计算机,非二进制?

23,定点数的表示

(1),原码:

A=an-1an-2.a1a0表示最高位an-1为符号位,0表示正,1表示负。

其它位an-2.a1a0表示数值。

原码的问题:

加减法效率低,两个“0”补码本质是取模运算,如-2%12=10最高位an-1为符号位,0表示正,1表示负。

A=an-1an-2.a1a0表示(-2n-1an-1+an-2.a1a0)an-1=0时,补码和原码一样,A表示正an-2.a1a0。

an-1=1时,A表示(-2n-1+an-2.a1a0)。

原码与补码的转换最高位为0时,一样最高位为1时,最高位不变,其余位“按位取反加一”。

24,定点数的表示

(2),补码运算取负数,每一位(包括符号位)求补,即按位取反加一。

A-B=A+B的负数=A+(B求补)加法溢出判断:

A和B的最高位一样,且结果的最高位与A和B的最高位不一样。

1001+0101(-7+5)=1110,1100+0100(-4+4)=0000,0011+0100(3+4)=0111,1100+1111(-4-1)=1011,0101+0100(5+4)=1001,1001+1010(-7-6)=0011,25,浮点数的表示

(1),定点数的不足表示范围有限,太大或太小的数都不能表示除法不精确浮点数的表示:

IEEE754标准三部分组成:

符号位,阶码(exponent),尾数(fraction)最高位是符号位阶码的移码表示,底为2,2(阶码-偏移值)规格化表示,尾数的最高位总为1,因此可以不存单精度和双精度扩展的单双精度,26,浮点数的表示

(2),IEEE754浮点格式参数,定点数的表示分别给出64位定点原码和补码表示的数的范围;在32位定点补码表示中,0x80000000表示什么数?

按照以下要求将浮点数表示出来把单精度数转化为十进制数:

0x7ff0000,0xbe400000,0xff800000把双精度数转化为十进制数:

0x4035000000000000,0x8008000000000000把十进制数转化为单精度数:

-100.0,0.25把十进制数转化为双精度数:

1024.0,0.25,27,1.解:

(1)-(263-1),263-1和-263,263-1

(2)-2312.解:

(1)0x7ff0000=0,00001111,11111110000000000000000=(1.1111111)2*2(15-127)=3.8368135610839464260099560574934e-340xbe400000=1,01111100,1000000000000000000=-(1.1)2*2(124-127)=-0.18750xff800000=1,11111111,0000000000000000000=-

(2)0x4035000000000000=0,10000000011,0101000000000000000000000000000000000000000000000000=(1.0101)2*2(1027-1023)=210x8008000000000000=1,00000000000,1000000000000000000000000000000000000000000000000000=-(0.1)2*2-1022=-2-1023(3)-100.0=-(1.100100)2*26=0b11000010110010000000000000000000=0xc2c800000.25=(1.0)*2-2=0b00111110100000000000000000000000=0x3e800000;(4)1024.0=(1.0)*210=0x40900000000000000.25=(1.0)*2-2=0x3fd0000000000000,28,29,三.指令系统结构ISA,指令系统结构的设计原则影响指令系统结构的因素指令系统的分类指令系统的组成RISC指令系统结构RISC系统结构的简史不同RISC结构的比较,30,指令系统的设计原则,指令系统在计算机中的位置硬件和软件的界面设计要求兼容性:

在很长时间内保持不变,如X86通用性:

编译器或程序员觉得好用,有较多功能,适合于各种应用高效性:

便于CPU设计的优化,不同的实现方法得到不同的性能安全性:

支持通用操作系统,考虑不同的安全要求,31,指令系统的分类,从功能上分类算术与逻辑运算、转移、访存、系统指令从指令使用数据的方式堆栈型、累加器型、寄存器型.从指令编码定长、变长,32,指令系统的类型,堆栈型(Stack):

零地址指令操作数在栈顶,运算操作不用指定操作数累加器型(Accumulator):

单地址指令一个操作数总在累加器中,结果也写回累加器寄存器型(Register):

多地址指令Register-Register型Register-Memory型Memory-Memory型,33,指令系统的组成,指令的主、谓、宾CPU、操作、操作数操作数数据类型:

定点/浮点,32位/64位访存对象:

字节/半字/字/双字,大/小尾端寻址方式:

寄存器、立即数、直接、间接.操作算术与逻辑运算、转移、访存、系统指令指令访问控制:

转移指令指令编码定长、变长,34,寻址方式,如何在指令中表示访存地址,35,寻址方式小结,至少支持以下寻址方式RegisterImmediateDisplacementRegisterindirect指令中常数位数地址偏移量位数12-16位立即数位数8-16位,36,转移指令,转移指令类型条件转移/无条件转移过程调用/过程返回转移地址类型相对:

PC+偏移量绝对:

指令中给出转移地址间接:

根据寄存器内容转移(编译器不知道目标地址),如Switch语句、函数指针、动态链接、过程返回等,37,指令编码,需要考虑的因素操作码部分比较简单操作数的个数、类型对指令长度影响很大变长指令程序代码短、定长指令实现简单编码方法定长:

RISC变长:

VAX的指令1-53字节,其中ADD指令3-19字节,Intel的X86指令1-17字节混合:

IBM360/370,MIPS16,Thumb,TITMS320C54x,38,MIPS指令类型,访存指令(包括定点和浮点)运算指令(包括定点和浮点)比较和转移指令(包括定点和浮点)系统管理指令TLB、CACHE、例外处理TRAP、Breakpoint,39,常见RISC指令系统比较,通过比较常见RISC处理器的指令系统加深对RISC的了解MIPS、PA-RISC、PowerPC、SPARC通过以下方面进行比较指令格式寻址方式指令功能,40,指令格式比较,41,指令功能比较,所有RISC处理器都有一些公共指令load/store指令算术运算及逻辑指令控制流指令系统管理指令不同处理器在发展过程中形成的特色举例MIPS的非对齐访问SPARC的寄存器窗口PowerPC的Link和Count寄存器HP的Nullification,1.给定下面的代码片段:

A=B-C;D=A-C;B=D+A;a)分别写出上述代码片段在四种指令系统类型(堆栈型、累加器型、寄存器-存储器型、寄存器-寄存器型)下的汇编语言代码。

b)假设操作码占用8位编码,内存地址和操作数都是16位,寄存器型结构有16个通用寄存器。

对每种结构回答以下问题:

1)需要读取多少指令字节?

2)与内存交换的数据有多少字节?

3)依据代码量衡量哪种结构最好?

4)依据与内存交换的数据(指令和数据)量衡量哪种结构最好?

2.16进制数0x4C4F4F4E47534F4E要存在64位双字中。

a)假设存储是假设存储是8字节对齐的,请依据小尾端格式将此16进制数写入内存中,并将每个字节解释为一个ASCII字符写在对应的字节下边。

b)按照大尾端的格式重做上题。

3.假定在指令系统设计中需要考虑两种条件转移指令的设计方法,这两种方法如下。

1)CPUA:

先通过一条比较指令设置条件码A,再用一条分支指令检测条件码。

2)CPUB:

比较操作包含在分支指令中在两种CPU中,条件转移指令都需要两个时钟周期,所有其他指令都需要一个时钟周期。

在CPUA中,全部指令的25%是条件转移指令,因为每次条件转移都需要一次比较,所以比较指令约占所有指令的25%,因为CPUA不需要在转移中包含分支,所以它的时钟频率是CPUB的1.2倍。

请问哪一种CPU性能更高?

如果CPUA的时钟频率只是CPUB的1.1倍,结果又是多少?

4.如果对通常的MIPS指令集增加寄存器-内存形式的指令,如下所示,可以减少一些load数量。

Lw$1,0($n)add$2,$2,$1可以合并成一条指令:

add$2,0($n)1)给出一段符合上述例子的代码(load得到的值立即作为运算指令的源操作数),但是编译器依然无法用寄存器-内存形式的指令消除这条load指令。

2)假设这样的修改带来了5%的主频下降,同时没有CPI影响。

如果load占所有指令的26%,最少要消灭load指令的百分之多少,才能使得新指令集不导致性能下降?

3)在传统的静态5级流水线上,寄存器-内存形式的指令有何实现困难?

5.根据MIPS指令的编码格式回答下列问题。

1)条件转移指令的跳转范围是多少?

2)直接跳转指令的跳转范围是多少?

6.用MIPS的LWL/LWR/SWL/SWR指令编写一段程序,把内存单元10051008的值取到寄存器R1,再存到内存单元20052008中。

7.用MIPS的LL/SC指令编写一段从内存单元100(R2)取数,把取出来的数加100并存回到100(R2)的原子操作代码,并说明如果在此过程中处理器发生中断或该单元被其他处理器修改时处理器如何保证上述操作的原子性。

44,1.解

(1),2.解:

小尾端:

Address0xxx0000xxx0010xxx0100xxx0110xxx1000xxx1010xxx1100xxx1110x4E4F53474E4F4F4C大尾端:

Address0xxx0000xxx0010xxx0100xxx0110xxx1000xxx1010xxx1100xxx1110x4C4F4F4E47534F4E3.解:

假设CPUA总指令数为x,转移指令有0.25x,条件码指令0.25x,其它指令0.5xA执行周期数2*0.25x+0.75x=1.25x则CPUB总指令数为0.75x,其中转移指令0.25x,其它指令0.5x。

B执行周期数2*0.25x+0.5x=1x当CPUA频率为1.2倍时,性能是CPUB的1.2/1.25=0.96倍当CPUA频率为1.1倍时,性能是CPUB的1.1/1.25=0.88倍因此CPUA两种情况下都差4.a)lw$1,0($n)add$2,$2,$1bnez$1,1f/任何将$1作为src的指令都可以b)假设需要减少x的load指令。

减少后,指令数为1-0.26x。

则(1-0.26x)/0.95=1x=0.19%c)困难在于访存MEM在EXE之前就要进行,而add$2,0($n)需要先访存后EXE,5.a)条件转移指令的跳转范围。

16+2位256KB(+-128KB)b)直接跳转指令的跳转范围。

26+2位256MB(+-128MB)6.解:

小尾端下dlir2,1005lwrr1,0x0(r2)lwlr1,0x3(r2)dlir2,2005swrr1,0x0(r2)swlr1,0x3(r2)7.解:

1:

llr1,100(r2)addr1,r1,100scr1,100(r2)beqzr1,1bnop如果在ll和sc之间(含ll和sc),发生了中断或者其他处理器修改100(r2),则sc之后r1会变0,回到标号1重新执行。

47,四.指令流水线,一个简单的CPU数据通路控制逻辑时序控制指令流水线指令相关和流水线冲突流水线的前递技术流水线和例外多功能部件与多拍操作,48,指令流水线:

时序的改进,上述时序的三个步骤指令地址送到PC、取指到IR、计算结果到GPR,可以合并为两个计算下一条指令的PC和指令执行重叠可以把计算下一拍PC值作为指令执行的一部分(转移指令的运算结果是PC的值),49,能否把取指和运算也重叠?

大多数情况可以重叠第n+1条指令执行时,第n条指令已经执行完,因此第n+1条指令可以用到第n条指令的结果。

但有一个例外如果第n+1条指令的取指也要用到第n条指令的结果,则第n+1条指令的取指必须等到第n条指令结束后才能执行。

正是Branch指令的情况,可以用delayslot解决这个问题,50,上述流水线的进一步改进,上述流水线是两级流水线取指和执行执行阶段做的事情较多译码(包括读取寄存器的值)运算(ALU操作)访存(取数或存数)写回到寄存器时钟周期较长,一拍内必须做完上述四件事情可以把执行阶段再细分执行阶段分成译码、运算、访存、写回,51,流水线的相关问题,指令相关的概念流水线变深了,相关问题更为突出。

在流水线中,如果某指令的某个阶段必须等到它前面另一条指令的某个阶段后才能开始,则这两

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 科学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2