为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

计算机组成与系统结构课程设计--单周期32位CPU的设计

2017-10-11 19页 doc 333KB 42阅读

用户头像

is_279425

暂无简介

举报
计算机组成与系统结构课程设计--单周期32位CPU的设计计算机组成与系统结构课程设计--单周期32位CPU的设计 学 号: 计算机组成与系统结构课程设计 设计说明书 单周期32位CPU的设计 起止日期: 2014 年 1 月 13 日 至 2014 年 1 月 17 日 学生姓名 班级 11计算机2班 成绩 指导教师(签字) 计算机与信息工程学院 2014年1月17日 目录 1、 指令系统设计 ......................................................................................
计算机组成与系统结构课程设计--单周期32位CPU的设计
计算机组成与系统结构课程--单周期32位CPU的设计 学 号: 计算机组成与系统结构课程设计 设计 单周期32位CPU的设计 起止日期: 2014 年 1 月 13 日 至 2014 年 1 月 17 日 学生姓名 班级 11计算机2班 成绩 指导教师(签字) 计算机与信息工程学院 2014年1月17日 目录 1、 指令系统设计 ......................................................................................................... 错误~未定义书签。 2、 控制部件设计 ........................................................................................................................................... 4 、 单周期中央处理器cpu设计 .................................................................................................................... 9 3 4、 计算机主机系统设计 ............................................................................................................................. 12 5、 调试程序编制及主机系统调试 ............................................................................................................. 12 6、 体会 ................................................................................................................................................. 16 参考资料 ......................................................................................................................................................... 16 1、指令系统设计 R型指令(op=0001) ??????op??????? rs ??? rt ??? rd ?? ??????func???????? add(func=000001):将rs寄存器中的值和rt寄存器中的值相加,结果存入rd寄存器 sub(func=000010):将rs寄存器中的值和rt寄存器中的值相减,结果存入rd寄存器 and(func=000011):将rs寄存器中的值和rt寄存器中的值相与,结果存入rd寄存器 or(func=000100):将rs寄存器中的值和rt寄存器中的值进行或运算,结果存入rd寄存器 I型指令 ??????op??????? rs ??? rt ???????????立即数????????? addi(op=1000):将rs寄存器中的值与(补零成32位的)立即数减,结果存入rt寄存器 ori(op=0010):将rs寄存器中的值与(补零成32位的)立即数或,结果存入rt寄存器 lw(op=0011):将RAM中地址为[rs+立即数]单元的值写入rt sw(op=0100):将rt中的值写入RAM中地址为[rs+立即数]单元 beq(op=0101):若rs中的值=rt中的值,则跳转到(原本的下一个地址+立即数) wr(op=0111):把(补零成32位的)立即数写入寄存器rt J型指令 ??????op?????????? invalid ?????????????地址??????????? 8 8 jump(op=0110):直接跳转到目的地址(8位)开始执行 1 指令译码器的作业是对取指令操作中得到的指令进行译码,确定这条指令需要完成的操作。从而产生相应的控制信号,驱动执行状态中的各种动作。它是控制器的一个重要组成部分。在MIPS指令集中,根据操作码OP和功能码FUNC来区别指令。根据表3-3列出的20条指令编码的逻辑表达式如下,其中, FUNC[5..0]为功能码FUNC,电路符号如图9-4所示。 OP[5..0]为操作码OP, 域编号 [31..26] [25..21] [20..16] [15..11] [10..06] [05..00] R形式 Op Rs Rt Rd Sa Func Add 000000 Rs Rt Rd 00000 100000 Sub 000000 Rs Rt Rd 00000 100010 And 000000 Rs Rt Rd 00000 100100 Or 000000 Rs Rt Rd 00000 100101 Xor 000000 Rs Rt Rd 00000 100110 Sll 000000 00000 Rt Rd Sa 000000 Srl 000000 00000 Rt Rd Sa 000010 Sra 000000 00000 Rt Rd Sa 000011 Jr 000000 Rs 00000 00000 00000 001000 I形式 Immediate(立即数) Op Rs Rt Addi 001000 Rs Rt Immediate Andi 001100 Rs Rt immediate Ori 001101 Rs Rt immediate Xori 001110 Rs Rt immediate Lw 100011 Rs Rt Offset Sw 101011 Rs Rt Offset Beq 000100 Rs Rt Offset Bne 000101 Rs rt Offset Lui 001111 000000 Rt Immediate J形式 Op address J 000010 target jal 000011 target 2 NOTFUNCN[5..0] INPUTFUNC[5..0]VCCNOTOPN[5..0]inst53INPUTOP[5..0]VCCNOTFUNCN[5..0] inst52INPUTFUNC[5..0]VCCNOTOPN[5..0]inst53INPUTOP[5..0]VCC inst52OUTPUTXORAND6AND6AND6OP[0]OPN[0]OPN[0]OUTPUT SLLOPN[1]OPN[1]OP[1]OUTPUTSRLOUTPUTXOROP[2]OP[2]OP[2]AND6AND6AND6OP[0]OPN[0]OPN[0] OUTPUTORIBEQXORISRAOUTPUTSLLOP[3]OPN[3]OP[3]OPN[1]OPN[1]OP[1]OUTPUTJROUTPUTSRLOPN[4]OPN[4]OPN[4]OP[2]OP[2]OP[2] OUTPUTADDIOUTPUTORIBEQXORISRAOPN[5]OPN[5]OPN[5]OP[3]OPN[3]OP[3]OUTPUTANDIOUTPUTJROPN[4]OPN[4]OPN[4] instinst1inst2OUTPUTORIOUTPUTADDIAND6AND6AND6OP[0]OP[0]OPN[0]OPN[5]OPN[5]OPN[5]OUTPUTXORIOUTPUTANDIOPN[1]OP[1]OPN[1] OUTPUTinstinst1inst2LWOUTPUTORIOP[2]OP[2]OPN[2]AND6AND6AND6OP[0]OP[0]OPN[0]BNQLUIRTYPEOUTPUTSWOUTPUTXORIOPN[3]OP[3]OPN[3] OPN[1]OP[1]OPN[1]OUTPUTBEQOUTPUTLWOPN[4]OPN[4]OPN[4]OP[2]OP[2]OPN[2]OUTPUTBNQBNQLUIRTYPEOUTPUTSW OPN[5]OPN[5]OPN[5]OPN[3]OP[3]OPN[3]OUTPUTLUIOUTPUTBEQOPN[4]OPN[4]OPN[4]inst3inst4inst5OUTPUTJOUTPUTBNQ OPN[0]OPN[0]OP[0]AND6AND6AND6OPN[5]OPN[5]OPN[5]OUTPUTJALOUTPUTLUIOPN[1]OPN[1]OP[1]OUTPUTinst3inst4inst5SUBOUTPUTJ OPN[2]OP[2]OPN[2]OPN[0]OPN[0]OP[0]AND6AND6AND6ADDIANDIJALOUTPUTANDOUTPUTJALOP[3]OP[3]OPN[3]OPN[1]OPN[1]OP[1]OUTPUTOR OUTPUTSUBOPN[4]OPN[4]OPN[4]OPN[2]OP[2]OPN[2]OUTPUTADDADDIANDIJALOUTPUTANDOPN[5]OPN[5]OPN[5]OP[3]OP[3]OPN[3] OUTPUTOROPN[4]OPN[4]OPN[4]inst6inst7inst8OUTPUTADDOPN[5]OPN[5]OPN[5] inst6inst7inst8 OP[0]OPN[0]OP[0]FUNCN[0]AND6AND6AND6AND6OP[1]OP[1]OP[1]FUNCN[1] OPN[2]OPN[2]OPN[2]FUNCN[2]OP[0]OPN[0]OP[0]FUNCN[0]AND6AND6AND6AND6LWJSWAND2OPN[3]OPN[3]OP[3]FUNC[3]JROP[1]OP[1]OP[1]FUNCN[1] RTYPEOPN[4]OPN[4]OPN[4]FUNCN[4]OPN[2]OPN[2]OPN[2]FUNCN[2]LWJSWAND2inst42OP[5]OPN[5]OP[5]FUNCN[5] OPN[3]OPN[3]OP[3]FUNC[3]JRRTYPEOPN[4]OPN[4]OPN[4]FUNCN[4]inst29inst30inst31inst32FUNC[0]FUNC[0] AND6AND6inst42OP[5]OPN[5]OP[5]FUNCN[5]FUNCN[1]FUNC[1]inst29inst30inst31inst32 FUNC[2]FUNCN[2]FUNC[0]FUNC[0]AND6AND6AND2AND2FUNCN[3]ORFUNCN[3]SRAFUNCN[1]FUNC[1]RTYPERTYPE FUNCN[4]FUNCN[4]FUNC[2]FUNCN[2]AND2AND2FUNC[5]FUNCN[5]inst43inst46FUNCN[3]ORFUNCN[3]SRARTYPERTYPE FUNCN[4]FUNCN[4]inst33inst34FUNCN[0]FUNCN[0]FUNC[5]AND6FUNCN[5]AND6inst43inst46 FUNCN[1]FUNC[1]inst33inst34FUNCN[2]FUNC[2]FUNCN[0]FUNCN[0]AND6AND6 AND2AND2FUNCN[3]ADDFUNCN[3]XORFUNCN[1]FUNC[1]RTYPERTYPEFUNCN[4]FUNCN[4]FUNCN[2]FUNC[2] AND2AND2FUNC[5]FUNC[5]inst44inst47FUNCN[3]ADDFUNCN[3]XORRTYPERTYPEFUNCN[4]FUNCN[4] inst36inst37FUNCN[0]FUNCN[0]FUNC[5]FUNC[5]AND6AND6inst44inst47FUNC[1]FUNCN[1] inst36inst37FUNCN[2]FUNCN[2]FUNCN[0]FUNCN[0]AND6AND6AND2AND2FUNCN[3]SUBFUNCN[3]SLLFUNC[1]FUNCN[1] RTYPERTYPEFUNCN[4]FUNCN[4]FUNCN[2]FUNCN[2]AND2AND2FUNC[5]FUNCN[5]inst51inst48 FUNCN[3]SUBFUNCN[3]SLLRTYPERTYPEFUNCN[4]FUNCN[4]inst38inst39FUNCN[0]FUNCN[0] FUNC[5]FUNCN[5]AND6AND6inst51inst48FUNCN[1]FUNC[1]inst38inst39 FUNC[2]FUNCN[2]FUNCN[0]FUNCN[0]AND6AND6AND2AND2FUNCN[3]ANDFUNCN[3]SRLFUNCN[1]FUNC[1]RTYPERTYPE FUNCN[4]FUNCN[4]FUNC[2]FUNCN[2]AND2AND2FUNC[5]FUNCN[5]inst49inst50FUNCN[3]ANDFUNCN[3]SRLRTYPERTYPE FUNCN[4]FUNCN[4]inst40inst41FUNC[5]FUNCN[5]inst49inst50 inst40inst41图5-2 指令执行时序图2 3 仿真结果: 2、控制部件设计 控制器是计算机中 发号施令的部件,它控制计算机的各部件有条不紊的进行工作。 更具体的讲, 控制器的任务是从内存中取出指令解步骤加以分析,然后执行某种操作。 PCSOURCE是用于标记下一条指令的地址,通过计算得到的下一条指令有下列4种情况:为0时:下一条指令地址取PC+4(用于指令存储器的地址是[7..2]);为1时:下一条指令地址取分支跳转(BEQ、BNQ指令);为2时:下一条指令地址取跳转(J指令);为3时:下一条指令地址取跳转变链接(JAL指令)。 CALL(JAL)标记31号寄存器,由于JAL指令要把分支延迟槽下一条指令的指令地址保存在寄存器31号中,故需要设置一个控制信号CALL,当CALL=1时,选择31号寄存器,为JAL跳转指令提供寄存器,当CALL=0时,从32位的寄存器堆中根据地址选择出一个32位的寄存器用于读或写数据。M2REG(LW指令)标记是将运算的结果直接写入寄存器堆,还是将数据存储器的数据取出后写入寄存器堆。ALUC运算器的控制信号,用于选择做何种运算。WMEM数据存储器的读写信号。SHIFT标记移位运算,由于移位运算的运算数需要位数拓展。ALUIMM标记立即数运算,由于有立即数参与运算前需要位数拓展。SEXT标记参加运算的是有符号数。WREG寄存器堆的读写信号。REGRT标记指令中的[20..16]或[15..11]中的哪一种作为运算的目标寄存器。它的电路符号如图9-7。根据3.3节指令的执行分析,可以得出这20条控制信号的逻辑表达式如图所示: 4 表3-1。 指令(RAdd Sub And Or Xor Sll Srl Sra Jr 类型) 输Op[5..0] 000000 000000 000000 000000 000000 000000 000000 000000 000000 入 Func[5..0] 100000 100010 100100 100101 100110 000000 000010 000011 001000 Z X X X X X X X X X 输Pcsource 00 00 00 00 00 00 00 00 10 出 [1..0] Aluc[3..0] X000 X100 X001 X101 X010 0011 0111 1111 X Shift 0 0 0 0 0 1 1 1 X aluimm 0 0 0 0 0 0 0 0 x Sext X X X X X X X X x Wmem 0 0 0 0 0 0 0 0 0 Wreg 1 1 1 1 1 1 1 1 0 M2reg 0 0 0 0 0 0 0 0 X Regrt 0 0 0 0 0 0 0 0 X Call 0 0 0 0 0 0 0 0 x 指令 Addi Andi Ori Xori Lw Sw Beq Bne Lui (I类型) 输Op[5..0] 001000 001100 001101 001110 100011 101011 000100 000101 001111 入 Func[5..0] Xxxxxx Xxxxxx Xxxxxx Xxxxxx Xxxxxx Xxxxxx Xxxxxx Xxxxxx Xxxxxx Z X X X X X X 0 1 0 1 x 输Pcsource 00 00 00 00 00 00 00 01 01 00 00 出 [1..0] Aluc[3..0] X001 X001 X101 X010 X000 X000 X100 X100 X110 Shift 0 0 0 0 0 0 0 0 0 Aluimm 1 1 1 1 1 1 0 0 1 Sext 1 0 0 0 1 1 1 1 1 Wmem 0 0 0 0 0 1 0 0 0 Wreg 1 1 1 1 1 0 0 0 1 M2reg 0 0 0 0 1 X X X 0 Regrt 1 1 1 1 1 X X X 1 Call 0 0 0 0 0 X X X 0 指令 J Jal (J类型) 输Op[5..0] 000010 000011 入 Func[5..0] Xxxxxx Xxxxxx Z X x 5 Pcsource 11 11 [1..0] Aluc[3..0] X X Shift X X Aluimm X X Sext X X Wmem 0 0 Wreg 0 1 M2reg X x Regrt X X Call X 1 INPUTJALFUNC[5..0]VCCINPUTOUTPUTOP[5..0]CALL VCCINPUTLWZVCCOUTPUTM2REGSWOUTPUTWMEM OUTPUTREGRTOR3SLL9_2 ORIOR6SHIFTOUTPUTALUC[3..0]FUNC[5..0]XORSRAANDIOUTPUTSHIFTFUNC[5..0]XOROP[5..0]SLLSRLinst6 XORIOUTPUTALUIMMOP[5..0]SLLSRLLWOUTPUTSEXTSRLSRASW OR2OUTPUTWREGSRAJRALUIMMLUIADDIOUTPUTPCSOURCE[1..0]JRADDI ADDIinst4inst5ANDIOR3BEQJPCSOURCE[1]AND2ANDIORIJALOR4Z ORIXORIJJRinst14PCSOURCE[0]XORIinst15LWJAL LWSWNOTSWBEQADDAND2OR8inst17inst18 BEQBNQSUBSRAALUC[3]WIREBNQLUIBNQANDinst16inst23 LUIJORORIOR6JJALXORANDI JALSUBORSLLOR2SRAALUC[0]SUBANDSRLSRL ANDORSRASLLinst20ORADDOR8ANDinst21 ADDADDIANDIinst19 ORIinstLUIWREGOR8XORIBNQLW ADDILUIADDIBEQOR6OR6OR6LUIANDIXORILWORIALUC[2]JAL ORISRASWSRAREGRTALUC[1]SEXTXORISRLBEQSRLinst22 LWSLLBNQORLUIXORLUISUB inst24inst25inst26inst27 仿真结果: 6 、 指令存储器用于在计算机中保存指令。在本届中使用LPM_ROM来实现,它能保存64条指令字,如图9-10所示。指令存储器输入:A[31..0](指令地址),实际使用的地址为A[7..2]。指令的输出信号:DO[31..0]。 -3所示,DO表示在指令数据文件中地址A对应的指令指令存储器的元件符号如图9-10所示。真值表如9 数据。 波形分析。10.0ns~20.0ns这一段,A为00000004,CLK在10.0ns时刻有一个下降沿。故此时DO的值应该变为地址00000004对应的指令数据为3C010000,然后直到20.0ns时刻之前都是上升沿,故一直保持不变为3C010000,直到20.0ns时刻来了一个下降沿,DO的值应该变为地址00000008对应的指令数据为34240050。图9-20中此刻时段正好也为这样,因此得证。 最后,根据原理图,按照第4.1.3小节中的方法生成元器件原理图。 7 lpm_rom0A[7..2]INPUTA[31..0] address[5..0]VCCOUTPUTDO[31..0]q[31..0]INPUTCLKclockVCC inst 仿真结果: WE 0 0 1 1 X X 输入 A[31..0] A A A A A A DI[31..0] X X DI DI X X CLK X X 0 0 1 1 MEMCLK ? ? ? ? ? ? DO[31..0] DO DI DO 输出 不变 不变 不变 ?为上升沿。?为下降沿 数据存储器的原理图设计 (1)加法指令数据文件 8 (2)调用lpm_ram_dp宏设计数据存储器 (3) lpm_ram_dq0DI[31..0] OUTPUTDO[31..0]data[31..0]q[31..0]NOTAND2CLKwrenWEinst2 address[4..0]A[6..2]inst1INPUTCLKinclockVCCMEMCLKINPUTMEMCLKoutclockVCC INPUTDI[31..0]VCCinstINPUTA[31..0]VCCINPUTWEVCC 仿真结果: : 波形分析。20.0ns~25.0ns这一时刻,A为00000060,CLK为0,WE为0,则为读信号,MEMCLK此时此刻有一个上升沿,故独处地址A对应的数据DO位000000A3。30.0ns~35.0ns这一时刻,A为00000000,DI为00000300,CLK为0,WE为1,则写为信号。MEMCLK此时此刻有一个上升沿,故将DI数据写入到地址A对应的位置DO为00000300。图9-31中正是如此,只是整体有一个周期的时延,因此得证。 3、单周期中央处理器cpu设计 通过调用前面编写的一系列元器件来实现单周期CPU,它能处理MIPS中列出的20条常用指令。CPU输入信号:CLOCK为时钟信号,RESETN为设置0信号,INSTR为指令数据,MEM为运算数据。CPU输出信号:PC是下一条要执行指令在指令存储器中的地址,DATA是运算得到的要写入数据存储器的数据。 根据控制器各控制信号的描述以及3.3节中CPU设计思路分析,可综合完整的CPU逻辑设计,如图9-33所示。最终得到CPU的原理图 9 Z JUMP OP MEMTOREG FUNC PCSRC MEMWR CONTRO ..0] ALUC[2LLER ALUSRC REGWR target REGSRC 1 1 REGDST + 0 0 1 NPC + PC DO rs PC A DO N1[1..0 ]WE ALU[2..0] A rt N2[1..0 ] Q1 ROM WE Z Reg16 1 NI rd A ALU R 0 0 0 DI Q2 DO B 1 RAM 1 CLK DI imm ZEROFILL clock 0 1 lpm_ram_dq0DI[31..0]OUTPUTDO[31..0]data[31..0]q[31..0]NOTAND2CLKwrenWEinst2address[4..0]A[6..2]inst1INPUTCLKinclockVCCMEMCLKINPUTMEMCLKoutclockVCCINPUTDI[31..0]VCCinstINPUTA[31..0]VCCINPUTWEVCC 10 9_3mux2x5INSTR[5..0]CALLINSTR[15..11]DESTREG[4..0]FUNC[5..0]CALLA0[4..0]Y[4..0]INSTR[31..26]M2REGINSTR[20..16]OP[5..0]M2REGA1[4..0]WMEMREGRTZWMEMSZREGRTREGRTinst4ALUC[3..0]ALUC[3..0]fSHIFTSHIFTALUIMMDESTREG[4..0]RFN[4..0]ALUIMMREGN[4..0]WN[4..0]SEXTCALLSEXTCALLWREGWREGPCSOURCE[1..0]PCSOURCE[1..0]inst5 mux2x32instRESULT[31..0]RFD[31..0]A0[31..0]Y[31..0]PCPLUS4[31..0]dffe32A1[31..0]NEXTPC[31..0]PC[31..0]CALLSD[31..0]Q[31..0]IEinst7CLOCKCLKRESETNmux2x32CLRNALU[31..0]RESULT[31..0]A0[31..0]Y[31..0]MEM[31..0]A1[31..0]inst1M2REGSadd32inst8PC[31..0]PCPLUS4[31..0]A[31..0]S[31..0]ZR[31..3],I,O,OALUB[31..0]ALUA[31..0]ALU[31..0]CIA[31..0]S[31..0]OALUB[31..0]ZB[31..0]Zinst2ALUC[3..0]ALUC[3..0]add32inst9PCPLUS4[31..0]BRANCHADR[31..0]A[31..0]S[31..0]IMM[29..16],INSTR[15..0],O,Omux2x32B[31..0]RFA[31..0]ALUA[31..0]CIA0[31..0]Y[31..0]OZR[31..5],INSTR[10..6]A1[31..0]inst6SHIFTSregFile32x32inst16RFD[31..0]RFA[31..0]D[31..0]Q1[31..0]WREGDATA[31..0]mux2x32WEQ2[31..0]RFN[4..0]DATA[31..0]ALUB[31..0]N0[4..0]A0[31..0]Y[31..0]CLOCKIMM[31..16],INSTR[15..0]CLKA1[31..0]INSTR[25..21]ALUIMMN1[4..0]SRESETNCLRNinst17INSTR[20..16]N2[4..0]mux4x32inst3PCPLUS4[31..28],INSTR[25..0],O,ONEXTPC[31..0]A3[31..0]Y[31..0]RFA[31..0]A2[31..0]BRANCHADR[31..0]A1[31..0]PCPLUS4[31..0]A0[31..0]PCSOURCE[1..0]AND2SEXTS[1..0]VCCWIREIMM[31..16]INSTR[15]Iinst10inst13inst12 WIREOZR[31..3] inst14 GND INPUTOUTPUTMEM[31..0]PC[31..0]VCCINPUTOUTPUTRESETNWMEMVCCINPUTOUTPUTINSTR[31..0]DATA[31..0]VCCINPUTOUTPUTCLOCKALU[31..0]VCC 11 4、计算机主机系统设计 主机系统的设计与现实是离不开存储器的,因为CPU要从指令存储器中取得指令,分析解释后在从数据存储器中取得用于计算的数据,计算的接过可存放到数据存储器中。故本杰将在9.6节的基础上为CPU加上指令存储器和数据存储器,得到一个计算机主机系统。主机系统的电路图 分析CPU的设计描述及各端口描述,不难得出如图所示的主机系统的原理图 原理图: 5、调试程序编制及主机系统调试 加法程序调试仿真 在这里做一个加法163+39+121+277=600 指令寄存器数据文件: 12 仿真结果: 13 14 15 6、心得体会 在此次课设进行前我们在老师帮助下提前做了几章的实验,所以对Quartus?软件的操作有了一定基础的了解,让我们更好的去做这个课设,经过一个星期的努力,熟练地掌握了quartus的使用方法。在此次课设中,我们从最底层了解到了计算机的本质,对 CPU、寄存器、控制器登入到精简指令计算机,都有了一定程度上的了解。在课设当中自己动手实践开发设计能力得到了极大地提高,为今后的相关硬件课程打下了坚实的基础,硬件设计思维得到了进一步的锻炼和提升。 参考资料 [1]朱子玉,李亚民.CPU芯片逻辑设计技术[M].北京:清华大学出版社,2005:31-110. [2] 王诚等.Altera FPGA/CPLD设计基础篇[M].北京:人民邮电出版社,2005:1-28. [3] (美)Dominic Sweetman.MIPS处理器设计透视[M].北京:北京航空航天大学出版社,2005:190-202. [4]胡伟武,唐志敏.龙芯1号处理器结构设计[J].计算机学报,2003,26(4):385-396. 16
/
本文档为【计算机组成与系统结构课程设计--单周期32位CPU的设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索