第二部分16位和32位的微处理器.ppt

上传人:sccc 文档编号:5082413 上传时间:2023-06-02 格式:PPT 页数:116 大小:2.53MB
返回 下载 相关 举报
第二部分16位和32位的微处理器.ppt_第1页
第1页 / 共116页
第二部分16位和32位的微处理器.ppt_第2页
第2页 / 共116页
第二部分16位和32位的微处理器.ppt_第3页
第3页 / 共116页
第二部分16位和32位的微处理器.ppt_第4页
第4页 / 共116页
第二部分16位和32位的微处理器.ppt_第5页
第5页 / 共116页
点击查看更多>>
资源描述

《第二部分16位和32位的微处理器.ppt》由会员分享,可在线阅读,更多相关《第二部分16位和32位的微处理器.ppt(116页珍藏版)》请在三一办公上搜索。

1、第二章 16位和32位的微处理器,本章学习重点,8086的编程结构,尤其是寄存器组;8086标志寄存器各个标志的含义;8086的读写时序、总线操作和中断机制;Pentium的先进技术;Pentium的工作方式;Pentium的原理结构、寄存器组和描述符;Pentium的主要信号;Pentium的总线状态;Pentium的中断机制和中断描述符表;Pentium的段页两级保护机制。,微处理器的性能描述,字长:指CPU能同时处理的数据位数,也称为数据宽度。字长越长,计算能力越快,速度越快。主频:CPU的时钟频率,这和CPU的运算速度密切相关,主频越高,运算速度越快。,2.1 16位微处理器8086,

2、2.1.1 8086的编程结构2.1.2 8086的引脚信号和工作模式2.1.3 8086的操作和时序2.1.4 8086的存储器编址和I/O编址,2.1.1 8086的编程结构,8086是Intel系列的16位微处理器,有16根数据线和20根地址线。编程结构是指从程序员和使用者的角度看到的结构。从功能上,8086分为两部分:总线接口部件(BIU):负责与存储器、I/O端口传送数据。执行部件(EU):负责指令的执行。,微机原理 第二章 IA-32结构的微处理器(6),8086的内部结构,2.2 8086/8088微处理器,总线接口部件4个段地址寄存器,CS 16位的代码段寄存器 DS 16位的

3、数据段寄存器 ES 16位的附加段寄存器 SS 16位的堆栈段寄存器16位的指令指针寄存器IP20位的地址加法器6字节的指令队列缓冲器,2.1.1 8086的编程结构,2.执行部件4个通用寄存器,即AX、BX、CX、DX4个专用寄存器,即BP、SP、SI、DI标志寄存器算术逻辑部件,2.1.1 8086的编程结构,状态标志寄存器F(9个状态标志位)状态标志:状态标志用来反映EU执行算术和逻辑运算以后的结果特征。,2.1.1 8086的编程结构,控制标志位:控制CPU的操作,2.1.1 8086的编程结构,2.1.1 8086的编程结构,3.8086的总线周期的概念CPU是一个复杂的时序数字逻辑

4、,其所有的操作都必须在统一的时钟下完成。由片外输入CLK引脚的时钟脉冲信号,是系统定时的基本脉冲,其频率称为主频,其周期称为时钟周期,有时时钟周期又称为T状态。时钟周期是CPU执行各种操作的最小时钟单位。总线周期,指的是8086CPU通过总线,执行一次访问存储器或访问IO端口的操作或操作的时间。若执行的是数据输出(从CPU),则称为写总线周期;若执行的是数据输入(到CPU),则称为读总线周期。,典型的8086总线周期波形图,T2状态,总线的高4位输出状态信息,T1状态,发地址信息,T3状态,高4位状态信息,低16位数据,T3之后,可能插入TW,在T4状态,结束。,在8086中,一个最基本的总线

5、周期由4个时钟周期组成,因此基本总线周期用T1,T2,T3,T4表示,2.1.1 8086的编程结构,2.1 16位微处理器8086,2.1.1 8086的编程结构2.1.2 8086的引脚信号和工作模式2.1.3 8086的操作和时序2.1.4 8086的存储器编址和I/O编址,2.1.2 8086的引脚信号和工作模式,1.最小模式和最大模式的概念(1)最小模式:在系统中只有一个微处理器。(2)最大模式:两个或多个微处理器(主处理器、协处理器)8087:数值运算协处理器,实现多种类的数值操作,如高精度的整数和浮点运算,也可以进行超越函数(如三角函数、对数函数)的计算8089:输入/输出协处理

6、器,有一套专门用于输入/输出的指令系统,直接为输入/输出设备服务。,2.8086/8088的引脚信号和功能 数据线和地址线复用 有16根数据线 第21脚(RESET)为输入复位信号 第22引脚为“准备好”(READY)信号 高4位地址和状态线复用,2.1.2 8086的引脚信号和工作模式,GND VCC:地和电源,AD15AD0:地址/数据复用,A19/S6A16/S3地址/状态复用S6:8086当前与总线相连S5:IF的值S4、S3:当前使用的段寄存器,BHE/S7:高8位数据总线允许/状态复用,NMI:非屏蔽中断输入,INTR:可屏蔽中断请求信号输入,RD:读信号输出,CLK:时钟输入,R

7、ESET:复位信号输入,READY:“准备好”信号输入,TEST:测试信号输入,MN/MX:最小和最大模式控制输入,2.1.2 8086的引脚信号和工作模式,INTA:中断响应信号输出,ALE:地址锁存允许信号输出,DEN:数据允许信号,DT/R:数据收发信号输出,3.最小模式,2.1.2 8086的引脚信号和工作模式,M/IO:存储器/输入输出控制信号输出,WR:写信号输出,HOLD:总线保持请求信号输入,HLDA:总线保持响应信号输出,2.1.2 8086的引脚信号和工作模式,8086在最小模式下的典型配置,最小模式连接特点:MN/MX端接+5V1片8284A作为时钟发生器地址锁存器存储器

8、和外设较多时,需要总线收发器,2.1.2 8086的引脚信号和工作模式,2.1.2 8086的引脚信号和工作模式,M/IO、RD、WR信号的关系,8284A和8086的连接,2.1.2 8086的引脚信号和工作模式,4.最大模式QS1、QS0:指令队列状态信号输出 S2#、S1#、S0#:总线周期状态信号输出 LOCK#(lock):总线封锁信号输出 RQ#/GT1#、RQ#/GT0#:总线请求信号输入、总线授权信号输出,2.1.2 8086的引脚信号和工作模式,VCCAD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRDRQ/GT0RQ/GT1LOCKS2S1S0

9、QS0QS1TESTREADYRESET,8086,GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGND,8086在最大模式下的典型配置:,2.1.2 8086的引脚信号和工作模式,2.1 16位微处理器8086,2.1.1 8086的编程结构2.1.2 8086的引脚信号和工作模式2.1.3 8086的操作和时序2.1.4 8086的存储器编址和I/O编址,2.1.3 8086的操作和时序,8086的主要操作:系统的复位和启动操作;暂停操作;总线操作;中断操作;最小模式下的总线保持;最大模式下的总线请求/允许。,

10、2.1.3 8086的操作和时序,1.系统的复位和启动操作,2.1.3 8086的操作和时序,2.总线操作8086最小方式下的总线读操作8086最小方式下的总线写操作,2.1.3 8086的操作和时序,微机原理 第2章 16位和32位的微处理器(30),补充概念:堆栈,堆栈主要用于暂存数据和在过程调用或处理中断时暂存断点信息。堆栈:在存储器中开辟的一片数据存储区,这片存储区的一端固定,另一端活动,且只允许数据从活动端进出。采用“先进后出”的规则。堆栈的组织:堆栈指示器SP,它总是指向堆栈的栈顶堆栈的伸展方向既可以从高地址向低地址,也可以从低地址向高地址。8086/8088的堆栈的伸展方向是从高

11、地址向低地址。演示,2.1.3 8086的操作和时序,3.中断操作和中断系统(1)什么是中断?8086的中断有哪些类型?中断是指当CPU正在执行程序时,外设(或其它中断源)向CPU发出请求,CPU暂停当前程序的执行,转向该外设服务(或称中断服务)程序,当中断服务程序运行结束后,返回原程序继续执行的过程。中断可分为内部中断(软件中断)和外部中断(硬件中断),除法错中断,(2)中断向量和中断向量表 阅读课本P27到P28中断向量和中断向量表部分的内容,思考如下问题:8086有256种类型的中断,每一种类型的中断对应的中断服务程序的入口地址是不是固定的?系统怎样找到中断服务程序的入口地址?假设某系统

12、中对应于中断类型号为30H的中断处理子程序从1234H:5678H开始,则中断向量应该怎样存放?如果一个用户想定义某个中断,应该选择在什么范围?,2.1.3 8086的操作和时序,(2)中断向量和中断向量表 中断向量:中断处理子程序的入口地址,每一个中断类型对应一个中断向量。,2.1.3 8086的操作和时序,(3)硬件中断 NMIINTR,2.1.3 8086的操作和时序,2.1.3 8086的操作和时序,中断的基本过程:中断检测中断响应中断处理中断返回,(4)硬件中断的响应和时序 阅读课本P29到P32页的相关内容,思考如下问题:简述8086的中断响应的总线周期可屏蔽中断的响应过程是怎样的

13、?CPU实际执行的与之相对应的总线时序是什么?可屏蔽中断与不可屏蔽中断的处理有什么不同?一个可屏蔽中断请求到来时,通常只要中断允许标志为1,便可在执行完当前指令后响应,在哪些情况下有例外?8086在中断响应期间为什么要将IF和TF清0?在对堆栈指针进行修改时,要特别注意什么问题?为什么?,第1个总线周期,通知外设,CPU准备响应中断;第2个总线周期,外设发送中断类型码,2.1.3 8086的操作和时序,(4)硬件中断的响应和时序 可屏蔽中断的响应过程:读取中断类型号(中断响应周期)将标志寄存器的值推入堆栈(1个总线写周期)把标志寄存器的IF和TF清零 将断点保护到堆栈中。(2个总线写周期)寻找

14、中断向量,转入中断处理程序(2个总线读周期),(5)中断处理子程序,2.1.3 8086的操作和时序,PUSH AX;进一步保护中断现场 PUSH BX PUSH CX STI;开放中断;中断处理的具体内容 POP CX;恢复现场 POP BX POP AX RETI;中断返回,(6)软件中断 阅读课本P32到P33的相关内容,思考:软件中断有哪些特点?在中断处理子程序和主程序的关系上,软件中断和硬件中断有什么不同之处?,2.1.3 8086的操作和时序,4.最小模式下的总线保持,利用HOLD和HLDA信号实现总线保持,2.1.3 8086的操作和时序,5.最大模式下的总线请求/授权,利用RQ

15、#/GT实现总线请求/授权,2.1.3 8086的操作和时序,2.1 16位微处理器8086,2.1.1 8086的编程结构2.1.2 8086的引脚信号和工作模式2.1.3 8086的操作和时序2.1.4 8086的存储器编址和I/O编址,2.1.4 8086的存储器编址和I/O编址,1.8086的存储器编址,2.1.4 8086的存储器编址和I/O编址,CS、DS、SS和其他寄存器组合指向存储单元的示意:,2.1.4 8086的存储器编址和I/O编址,分段编址的好处程序中的指令只涉及16位地址,减短了指令长度,提高了执行程序的速度。在程序执行过程中,不需要在1M空间中去寻址,多数情况下只在

16、一个较小的存储器段中运行。多数指令运行时,并不涉及段寄存器的值,而只涉及16位的偏移量。也为程序的浮动装配创造了条件。,2.1.4 8086的存储器编址和I/O编址,存储器中,有几个部分的用处是固定的:00000003FFH:中断向量表 B0000HB0F9FH:单色显示器的显示缓冲区 B8000HBBF3FH:彩色显示器的显示缓冲区 FFFF0HFFFFFH:无条件转移指令,微机原理 第2章 16位和32位微处理器(48)教育技术07级,2.1.4 8086的存储器编址和I/O编址,存储器按字节组织,按字节分配地址 当存放的数为一个字(16位,2个字节)时,则将字的高位字节放在高地址中,将低

17、位字节存放在低地址中;当存放的数是双字形式(地址指针数据)时,则将低字(偏移量)存放在较低地址中,高字(段基址)存放在较高地址中。,地址指针段基址:2000H偏移量:3000H,字:0B23H,字节数,字节数,地址,微机原理 第2章 16位和32位微处理器(49),2.1.4 8086的存储器编址和I/O编址,对存放的字,其低位字节可以在奇数地址中(即从奇数地址开始存放),这种方式为非规则存放,这样存放的字为非规则字;若是低位字节在偶数地址中(即从偶数地址开始存放)为规则存放,这样存放的字称为规则字。,非规则字280CH,规则字200BH,微机原理 第2章 16位和32位微处理器(50),2.

18、1.4 8086的存储器编址和I/O编址,若一个字是规则存放,则对它的存取可在一个总线周期完成,而非规则字的存取则需二个总线周期。,A0=0:同时选中高位库和低位库,传送2字节;A0=1:只选中高字节,传送1字节,微机原理 第2章 16位和32位微处理器(51),2.1.4 8086的存储器编址和I/O编址,微机原理 第2章 16位和32位微处理器(52),2.1.4 8086的存储器编址和I/O编址,练习1:有三个字数据,分别是1268H,0A132H,3630H,他们在8086系统存储器中的地址分别为21001H、21004H、21006H,请画出它们的存储示意图。练习2:有一个32位的地

19、址指针2000:3210H存放在从22000H开始的存储器中,画出它们的存放示意图。,2.1.4 8086的存储器编址和I/O编址,2.8086的I/O编址一个n位的端口实际上是存取数据的一个n位寄存器。在系统设计时,要为每个端口分配一个地址,称为端口地址或端口号。,I/O端口的编址方式,统一编址方式,内存960KB,I/0(64KB),00000H,EFFFFH,F0000H,FFFFFH,00000H,FFFFFH,0000H,FFFFH,独立编址方式,内存(1MB),I/0(64KB),2.1.4 8086的存储器编址和I/O编址,8086的I/O端口采用独立编址方式8086允许有655

20、35(64K)个8位的I/O端口,两个相邻编号的端口可以组合成一个16位端口,2.2 32位微处理器Pentium的先进技术,先进的体系结构CISC和RISC相结合的技术超标量流水线技术先进的分支预测技术,滚式移位器,控制部件,8KB数据 Cache,8KB代码 Cache,控制ROM,BTB分支目标缓冲器,总线接口部件BIU,分段部件与分页部件,浮点处理部件FPU,加法,除法,乘法,TLB,TLB,80,80,32,32,32,32,32,32,256,预取地址,指令指针,64位数据,32位地址,64位数据总线,32位地址总线,控制总线,2.2 32位微处理器Pentium的先进技术,先进的

21、体系结构CISC和RISC相结合的技术超标量流水线技术先进的分支预测技术,CISC和RISC相结合的技术,复杂指令集计算机技术(complex instruction set computer,CISC)指令系统中包含很多指令,既有常用指令,也有用得较少的复杂指令。访问内存时采用多种寻址方式采用微程序机制,简化指令集计算机技术(reduced instruction,RISC)指令系统只含简单而常用的指令。指令的长度较短,且每条指令长度相同采用流水线机制来执行指令。大多数指令利用内部寄存器来执行。Pentium的大多数指令是简化指令,保留了一部分复杂指令,对这部分指令用硬件来实现。,CISC和

22、RISC相结合的技术,2.2 32位微处理器Pentium的先进技术,先进的体系结构CISC和RISC相结合的技术超标量流水线技术先进的分支预测技术,什么是流水线?你能举出生活中的流水线的例子吗?,食堂里的流水线-汤粉,食堂里的流水线-汤粉,打卡计费,烫粉,加调料,加配菜,10秒,15秒,30秒,10秒,65秒,+,+,+,=,不采用流水线:465=260,采用流水线:65+330=155,4个人的服务时间:,3.Pentium的指令流水线技术,指令流水线技术的原理指令流水线技术是一种将每条指令分解为多步,并让各步操作重叠,从而实现几条指令并行处理的技术。程序中的指令仍是一条条顺序执行,但可以

23、预先取若干条指令,并在当前指令尚未执行完时,提前启动后续指令的另一些操作步骤。这样显然可加速一段程序的运行过程。,Pentium的流水线的组成Pentium的一条流水线含有5个流水线级。指令预取级PF首次译码级D1二次译码级D2执行级EX回写级WB流水线运行时,一条接一条的指令连续不断地送到流水线,于是,在流水线全速运行时,同一个时钟周期内,多个部件分别对多条指令的不同步骤进行操作。,Pentium的指令流水线的运行,超标量流水线技术在Pentium中,采用U和V两条流水线,每条流水线均含有独立的ALU、一系列寄存器、地址生成电路和连接数据的Cache接口。能够以并行方式在U、V两条流水线上同

24、时执行两条指令。阅读教材P43的Pentium的超标量流水线的运行,掌握U流水线和V流水线的配对规则,了解两条流水线的运行过程。思考:在什么情况下V流水线会受阻?与U流水线上的指令不符合配对规则U流水线中执行过程受阻,2.2 32位微处理器Pentium的先进技术,先进的体系结构CISC和RISC相结合的技术超标量流水线技术先进的分支预测技术,2.2 32位微处理器Pentium的先进技术,4.先进的分支预测技术,MOV AX,0 MOV CX,100 AGAIN:ADD AX,CX DEC CX JNZ AGAIN MOV SUM,AX HLT,规律:大多数分支指令转向每个分支的机会不是均等

25、的大多数分支转移指令排列在循环程序中,结论:分支转移指令的转移目标地址是可以预测的,预测的依据就是前一次转移的目标地址即所谓的历史状态。,Pentium用分支目标缓冲器BTB(branch target buffer)来执行预测功能,它含有一个1KB容量的Cache,其中可以容纳256条转移指令的目标地址和历史状态。当一条指令造成分支时,BTB检测这条指令以前的执行状态,并用此状态信息预测当前的分支目标地址,然后预取此处的指令。高速分支预测技术课外扩展:什么是动态分支预测?什么是静态分支预测?,2.4 Pentium的工作方式,实地址方式:系统初始化保护方式:本性方式,最常用。虚拟地址方式系统

26、管理方式,2.5 Pentium的原理结构,总线接口部件 U流水线和V流水线 数据Cache 指令Cache 指令预取部件 指令译码器 控制ROM 分支目标缓冲器BTB 控制部件 浮点处理部件FPU 分段部件和分页部件寄存器组,滚式移位器,控制部件,8KB数据 Cache,8KB代码 Cache,控制ROM,BTB分支目标缓冲器,总线接口部件BIU,分段部件与分页部件,浮点处理部件FPU,加法,除法,乘法,TLB,TLB,80,80,32,32,32,32,32,32,256,预取地址,指令指针,64位数据,32位地址,64位数据总线,32位地址总线,控制总线,地址驱动和传输数据驱动数据总线宽

27、度控制数据缓冲总线操作的控制功能奇/偶校验告示功能Cache操作控制,Cache(高速缓存):容量较小、速度很高的可读/写RAM,用来存放CPU最近要使用的数据和指令。其中数据是主存中一小部分数据的复制品,从代码Cache预先取指令。每次取两条指令,两个并行工作的译码部件,有复杂指令对应的微程序,预测转移是否发生,并提供预取地址,对来自指令译码部件和控制ROM中微程序的解析,控制U、V两条流水线和FPU正常运行。,分段部件将程序提供的逻辑地址转换为线性地址;分页是在分段基础上进一步把存储段分为固定大小的页面。,用于浮点运算,2.6 Pentium的寄存器和相关机制,2.6.1 基本寄存器组2.

28、6.2 段寄存器和描述符以及保护方式的寻址机制2.6.3 系统寄存器组2.6.4 浮点寄存器组,Pentium的寄存器组包括,基本寄存器组 系统寄存器组 浮点寄存器组,基本寄存器组,通用寄存器,基本寄存器组,指令指针寄存器和标志寄存器,2.6 Pentium的寄存器和相关机制,2.6.1 基本寄存器组2.6.2 段寄存器和描述符以及保护方式的寻址机制2.6.3 系统寄存器组2.6.4 浮点寄存器组,段寄存器和描述符以及保护方式的寻址机制,段寄存器:CS,DS,SS,ES,FS,GS,三种描述符表,全局描述符表GDT(1个)局部描述符表LDT(多个)中断描述符表IDT(1个),保护方式下段地址的

29、产生,段选择子包含3个部分的内容,描述符表指示标志TI描述符索引DI请求特权级RPL,保护方式下段地址的产生,2.6 Pentium的寄存器和相关机制,2.6.1 基本寄存器组2.6.2 段寄存器和描述符以及保护方式的寻址机制2.6.3 系统寄存器组2.6.4 浮点寄存器组,系统地址寄存器包括,GDTRIDTRTRLDTR,图2.274个系统地址寄存器的结构,控制寄存器,调试寄存器,2.6 Pentium的寄存器和相关机制,2.6.1 基本寄存器组2.6.2 段寄存器和描述符以及保护方式的寻址机制2.6.3 系统寄存器组2.6.4 浮点寄存器组,状态寄存器,控制字寄存器,2.7 Pentium

30、的主要信号,1.地址线及控制信号,A31A3地址线 AP地址的偶校验码位 ADS#地址状态输出信号 A20M#A20以上的地址线屏蔽信号 APCHK#地址校验出错信号,2.数据线及控制信号,D63D0数据线 BE7#BE0#字节允许信号 DP7DP0奇偶校验信号 PCHK#读校验出错 PEN#奇偶校验允许信号,3.总线周期控制信号,D/C#数据/控制信号 M/IO#存储器和I/O访问信号 W/R#读写信号 LOCK#总线封锁信号 BRDY#突发就绪信号 NA#下一个地址有效信号 SCYC分割周期信号,4 高速缓存控制信号,共11个,其中主要的4个为 CACHE#Cache控制信号 EADS#外

31、部地址有效信号 AHOLD地址保持/请求信号 PCDCache禁止信号,5 系统控制信号,INTR可屏蔽中断请求信号 NMI非屏蔽中断请求信号 RESET系统复位信号 INIT初始化信号 CLK系统时钟信号,6 总线仲裁信号,HOLD总线请求信号 HLDA总线请求响应信号 BREQ总线周期请求信号 BOFF#强制让出总线信号,2.8 Pentium的总线状态,(1)Pentium的几种总线状态(2)总线状态之间的转换,2.9 Pentium的总线周期,(1)非流水线式读写周期,(2)流水线式读写周期,(3)突发式读写周期,(a)读周期,(b)写周期,Pentium的中断机制,仍为两大类硬件中断

32、软件中断,异常和中断,异常分为三类故障:检测到异常并在异常起作用前就立即报告且进行处理陷阱:执行某一条指令产生异常,从而立即报告并进入中断处理的异常中断。异常终止:中断才是真正遇到问题和处理问题,异常终止往往对应了一个非法的数值,此时会出现,Pentium的保留中断,中断描述符的通用格式,中断向量和中断描述符,Pentium的段页两级保护机制,存储器的段级保护存储器的页级保护,存储器的段级保护,(1)段类型提供读/写保护(2)界限和粒度提供范围保护(3)特权级对操作系统和驱动程序提供保护,存储器的页级保护,(1)页的特权级提供页保护(2)标志R/W提供页面写保护,综合训练题1,目的:(1)总结

33、CPU的技术进步,从中了解CPU的发展方向和趋势。(2)培养对一门技术的总体掌握能力。(3)培养创新思路。内容 从8086、80386、80486、Pentium、Pentium Pro、Pentium、Pentium 和 Itanium的不断推出,总结CPU设计中的技术进步。请结合实际展望未来CPU技术发展的方向个人独立完成,提交PPT一份。于10月26日前交至学习委员处,过期不候,本章内容到此结束!,谢谢!,I/O端口,CPU是通过接口电路与外部设备进行信息交换的。每个接口电路都包含一组寄存器,CPU和外设进行信息交换时,各类信息在接口中进入不同的寄存器,我们称这些寄存器为I/O端口。,微操作、微指令和微程序,微命令:控制部件通过控制线向执行部件发出的各种控制命令微操作:执行部件接受微命令后所进行的操作 微指令:同时发出的控制信号所执行的一组微操作.例如:加法指令的执行可分为:取指,计算地址,取操作数和加法运算四步,每一步都由一组微操作实现.这一组能同时执行的微操作就构成一条微指令.微程序:一组微指令的集合.程序由一组指令组成;指令由一个微程序实现;微程序由一组微指令实现;微指令由一组微操作实现,

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

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号