免费智能真题库 > 历年试卷 > 数据库系统工程师 > 2012年上半年 数据库系统工程师 上午试卷 综合知识
  第1题      
  知识点:   存储器   高速缓存   Cache   CPU   高速缓冲存储器
  关键词:   Cache   CPU   高速缓冲存储器   数据   主存   存储器        章/节:   硬件基础知识       

 
位于CPU与主存之间的高速缓冲存储器(Cache)用于存放部分主存数据的拷贝,主存地址与Cache地址之间的转换工作由(1)完成。
 
 
  A.  硬件
 
  B.  软件
 
  C.  用户
 
  D.  程序员
 
 
 

 
  第3题    2015年上半年  
   50%
Cache的地址映像方式中,发生块冲突次数最小的是( )。
  第20题    2022年上半年  
   68%
能够不访问页表,实现快速将虚拟地址映射到物理地址的硬件机制是()。
  第6题    2017年上半年  
   50%
以下关于Cache(高速缓冲存储器)的叙述中,不正确的是( )。
   知识点讲解    
   · 存储器    · 高速缓存    · Cache    · CPU    · 高速缓冲存储器
 
       存储器
               存储器的分类
                      按存储器所处位置分类
                      按存储器所处的位置,可将其分为内存和外存。
                      (1)内存。内存也称为主存,设置在主机内(或主机板上),用来存放机器当前运行所需要的程序和数据,以便向CPU提供信息。相对于外存,其特点是容量小、速度快。
                      (2)外存。外存也称为辅存,如磁盘、磁带和光盘等,用来存放当前不参与运行的大量信息,必要时可把需要的信息调入内存。相对于内存,外存的容量大、速度慢。
                      按存储器的构成材料分类
                      按构成存储器的材料,可将其分为磁存储器、半导体存储器和光存储器。
                      (1)磁存储器。其是用磁性介质做成的,如磁芯、磁泡、磁膜、磁鼓、磁带及磁盘等。
                      (2)半导体存储器。根据所用元件又可分为双极型和MOS型;根据数据是否需要刷新,又可分为静态(Static memory)和动态(Dynamic memory)两类。
                      (3)光存储器。如CD-ROM、DVD-ROM等光盘(Optical Disk)存储器。
                      按存储器的工作方式分类
                      按存储器的工作方式可将其分为读写存储器和只读存储器。
                      (1)读写存储器(Random Access Memory,RAM)。其是既能读取数据也能存入数据的存储器。
                      (2)只读存储器。根据数据的写入方式,这种存储器又可分为ROM、PROM、EPROM和EEPROM等类型。
                      ①固定只读存储器(Read Only Memory,ROM)。这种存储器的内容是在厂家生产时就写好的,其内容只能读出,不能改变。一般用于存放系统程序BIOS以及用于微程序控制。
                      ②可编程的只读存储器(Programmable Read Only Memory,PROM)。其中的内容可以由用户一次性地写入,写入后不能再修改。
                      ③可擦除可编程的只读存储器(Erasable Programmable Read Only Memory,EPROM)。其中的内容既可以读出,也可以由用户写入,写入后还可以修改。改写的方法是写入之前先用紫外线照射15~20分钟以擦去所有信息,然后再用特殊的电子设备写入信息。
                      ④电擦除可编程的只读存储器(Electrically Erasable Programmable Read Only Memory,EEPROM)。与EPROM相似,EEPROM中的内容既可以读出,也可以进行改写。只不过这种存储器是用电擦除的方法进行数据的改写。
                      ⑤闪速存储器(Flash Memory)。其简称闪存,闪存的特性介于EPROM和EEPROM之间,类似于EEPROM,也可使用电信号进行信息的擦除操作。整块闪存可以在数秒内删除,速度远快于EPROM。
                      按访问方式分类
                      存储器按访问方式可分为按地址访问的存储器和按内容访问的存储器。
                      按寻址方式分类
                      存储器按寻址方式可分为随机存储器、顺序存储器和直接存储器。
                      (1)随机存储器(Random Access Memory,RAM)。这种存储器可对任何存储单元存入或读取数据,访问任何一个存储单元所需的时间是相同的。
                      (2)顺序存储器(Sequentially Addressed Memory,SAM)。访问数据所需要的时间与数据所在的存储位置相关,磁带是典型的顺序存储器。
                      (3)直接存储器(Direct Addressed Memory,DAM)。介于随机存取和顺序存取之间的一种寻址方式。磁盘是一种直接存取存储器,它对磁道的寻址是随机的,而在一个磁道内则是顺序寻址。
               随机访问存储器
               随机访问存储器(RAM)分为静态RAM和动态RAM两类。静态RAM(SRAM)比动态RAM(DRAM)更快,也更贵。SRAM常用来做高速缓存存储器,DRAM用来作为主存及图形系统的帧缓冲存储区。
               (1)SRAM。在SRAM中,将每个位存储在一个双稳态存储器单元中,每个单元是用一个六晶体管电路来实现的。只要供电,SRAM存储单元的内容就保持不变。
               (2)DRAM。在DRAM中,每个位由一个电容和一个晶体管组成,电容量很小(容量越小速度越快)。与SRAM不同,DRAM存储器单元对干扰很敏感,电容的电压被扰乱之后也不能再自行恢复,也有其他原因会导致漏电,因此,必须在电容中的电荷漏掉之前进行补充,以保证信息不会丢失,这称为刷新。DRAM必须周期性地进行刷新操作。
               由于集成度高、价格低,DRAM常用来构成主存储器,主要采用SDRAM(Synchronous Dynamic Random Access Memory),发展出了SDR SDRAM、DDR SDRAM、DDR2 SDRAM、DDR3 SDRAM、DDR4 SDRAM等。
               由DRAM芯片可组成所需容量要求的内存模块。例如,由4个8M×8位的DRAM芯片(DRAM 0、DRAM 1、DRAM 2、DRAM 3)构成8M×32位的内存区域,32位字的4个字节分别由4个DRAM芯片的同一地址单元提供,DRAM 0提供第1字节(最低字节),DRAM 1提供第2字节,DRAM 2提供第3字节,DRAM 3提供第4字节(最高字节),如下图所示。
               
               由4个8M×8位的DRAM芯片组成8M×32位的内存模块
               外存储器
               外存储器用来存放暂时不用的程序和数据,并且以文件的形式存储。CPU不能直接访问外存中的程序和数据,只有将其以文件为单位调入主存后才可访问。外存储器由磁表面存储器(如磁盘、磁带)及光盘存储器构成。下面介绍两种常用的外存储器。
                      磁盘存储器
                      在磁表面存储器中,磁盘的存取速度较快,且具有较大的存储容量,是目前广泛使用的外存储器。磁盘存储器由盘片、驱动器、控制器和接口组成。盘片用来存储信息。驱动器用于驱动磁头沿盘面径向运动以寻找目标磁道位置,同时驱动盘片以额定速率稳定旋转,并且控制数据的写入和读出。控制器接收主机发来的命令,将它转换成磁盘驱动器的控制命令,并实现主机和驱动器之间数据格式的转换及数据传送,以控制驱动器的读/写操作。一个控制器可以控制一台或多台驱动器。接口是主机和磁盘存储器之间的连接逻辑。
                      硬盘是最常见的外存储器。一个硬盘驱动器内可装有多个盘片,组成盘片组,每个盘片都配有一个独立的磁头。所有记录面上相同序号的磁道构成一个圆柱面,其编号与磁道编号相同。文件存储在硬盘上时尽可能放在同一圆柱面上,或者放在相邻柱面上,这样可以缩短寻道时间。
                      为了正确存储信息,将盘片划成许多同心圆,称为磁道,从外到里编号,最外一圈为0道,往内道号依次增加。沿径向的单位距离的磁道数称为道密度,单位为tpi(每英寸磁道数)。将一个磁道沿圆周等分为若干段,每段称为一个扇段或扇区,每个扇区内可存放一个固定长度的数据块,如512B。磁道上单位距离可记录的位数称为位密度,单位为bpi(每英寸位数)。因为每条磁道上的扇区数相同,而每个扇区的大小又一样,所以每条磁道都记录同样多的信息。又因为里圈磁道圆周比外圈磁道的圆周小,所以里圈磁道的位密度要比外圈磁道的位密度高。最内圈的位密度称为最大位密度。
                      硬盘的寻址信息由硬盘驱动号、圆柱面号、磁头号(记录面号)、数据块号(或扇区号)以及交换量组成。
                      磁盘容量有两种指标:一种是非格式化容量,它是指一个磁盘所能存储的总位数;另一种是格式化容量,它是指各扇区中数据区容量总和。计算公式分别如下:
                      非格式化容量=面数×(磁道数/面)×内圆周长×最大位密度
                      格式化容量=面数×(磁道数/面)×(扇区数/道)×(字节数/扇区)
                      按盘片是否固定、磁头是否移动等指标,硬盘可分为移动磁头固定盘片的磁盘存储器、固定磁头的磁盘存储器、移动磁头可换盘片的磁盘存储器和温彻斯特磁盘存储器(简称温盘)。
                      光盘存储器
                      光盘存储器是一种采用聚焦激光束在盘式介质上非接触地记录高密度信息的存储装置。
                      根据性能和用途,光盘存储器可分为只读型光盘(CD-ROM)、只写一次型光盘(WORM)和可擦除型光盘。只读型光盘是由生产厂家预先用激光在盘片上蚀刻不能再改写的各种信息,目前这类光盘使用很普遍。只写一次型光盘是指由用户一次写入、可多次读出但不能擦除的光盘,写入方法是利用聚焦激光束的热能,使光盘表面发生永久性变化而实现的。可擦除型光盘是读写性光盘,它是利用激光照射引起介质的可逆性物理变化来记录信息。
                      光盘存储器由光学、电学和机械部件等组成。其特点是记录密度高;存储容量大;采用非接触式读/写信息(光头距离光盘通常为2mm);信息可长期保存(其寿命达10年以上);采用多通道记录时数据传送率可超过200MB/s;制造成本低;对机械结构的精度要求不高;存取时间较长等。
 
       高速缓存
        高速缓存(Cache)用来存放当前最活跃的程序和数据,其特点是:容量一般在几千字节到几兆字节之间;速度一般比主存快5~10倍,由快速半导体存储器构成;其内容是主存局部域的副本,对程序员来说是透明的。
        Cache一般位于CPU与主存之间,主要包括管理模块、由相联存储器构成的存储表以及小容量高速度存储器,如下图所示。应用中首先判断CPU要访问的信息是否在Cache存储器中,若在即为命中,若不在则没有命中。命中时直接对Cache存储器寻址;未命中时,要按照替换原则决定将主存的一块信息放到Cache存储器的哪一块里。
        
        Cache的组成
               高速缓存的地址映像
               CPU工作时给出的是主存的地址,要从Cache存储器中读写信息,就需要将主存地址转换成Cache存储器的地址,这种地址的转换叫作地址映像。Cache的地址映像有以下三种方法:
               (1)直接映像。直接映像是指主存的块与Cache块的对应关系是固定的,如下图所示。在这种映像方式下,由于主存中的块只能存放在Cache存储器的相同块号中,因此,只要主存地址中的主存区号与Cache中的主存区号相同,则表明访问Cache命中。一旦命中,根据主存地址中的区内块号立即可得到要访问的Cache存储器中的块,而块内地址就是主存地址中给出的低位地址。
               
               直接映像示意图
               直接映像方式的优点是地址变换很简单,缺点是灵活性差。例如,不同区号中块号相同的块无法同时调入Cache存储器,即使Cache中有空闲块也无法使用。
               (2)全相联映像。全相联映像的示意图如下图所示。同样,主存与Cache存储器均分成容量相同的块。这种映像方式允许主存的任一块可以调入Cache存储器的任何一个块的空间中。
               
               全相联映像示意图
               进行地址变换时,利用主存地址高位表示的主存块号与Cache中保存的主存块号进行比较,若相同即为命中。这时根据块号就可知道要访问的是哪一块。Cache存储器的块找到后,块内地址就是主存的低位地址。这时便可以读写Cache块中的内容。在变换时,当找到主存块号命中时,还必须知道主存的这一块存到了Cache的哪一块里面。
               全相联映像的主要优点是主存的块调入Cache的位置不受限制,十分灵活。其主要缺点是无法从主存块号中直接获得所对应Cache的块号,变换比较复杂,速度比较慢。
               (3)组相联映像。这种方式是前面两种方式的折衷。具体做法是将Cache中的块再分成组。例如,假定Cache有16块,再将每两块分为1组,则Cache的块就分为8组。主存同样分区,每区16块,再将每两块分为1组,则每区的块就分为8组。
               组相联映像就是规定组采用直接映像方式而块采用全相联映像方式。也就是说,主存任何区的0组只能存到Cache的0组中,1组只能存到Cache的1组中,依此类推。组内的块则采用全相联映像方式,即一组内的块可以任意存放。也就是说,主存一组中的任一块可以存入Cache相应组的任一块中。
               这种方式下,通过直接映像方式来决定组号,在一组内再用全相联映像方式来决定Cache中的块号。由主存地址高位决定主存区号与Cache中区号比较可决定是否命中。主存后面的地址即为组号。
               高速缓存的替换算法
               替换算法的目标就是使Cache获得最高的命中率。常用算法有如下几种:
               (1)随机替换算法。这种方法是用随机数发生器产生一个要替换的块号,将该块替换出去。
               (2)先进先出算法。这种方法是将最先进入Cache的信息块替换出去。
               (3)近期最少使用算法。这种方法是将近期最少使用的Cache信息块替换出去。
               (4)优化替换算法。这种方法必须先执行一次程序,统计Cache的替换情况。有了这样的先验信息,在第二次执行该程序时便可以用最有效的方式来替换。
               高速缓存的性能分析
               Cache的性能是计算机系统性能的重要方面。命中率是Cache的一个重要指标。Cache的设计目标是在成本允许的条件下达到较高的命中率,使存储系统具有最短的平均访问时间。设Hc为Cache的命中率,tc为Cache的存取时间,tm为主存的访问时间,则Cache存储器的等效加权平均访问时间ta为:
               ta=Hctc+(1-Hctm=tc+(1-Hc)(tm-tc
               这里假设Cache访问和主存访问是同时启动的,其中,tc为Cache命中时的访问时间,(tm-tc)为失效访问时间。如果在Cache不命中时才启动主存,则:
               ta=tc+(1-Hctm
               在指令流水线中,Cache访问作为流水线中的一个操作阶段,Cache失效将影响指令的流水。因此,降低Cache的失效率是提高Cache性能的一项重要措施。当Cache容量比较小时,容量因素在Cache失效中占有比较大的比例。降低Cache失效率的方法主要有选择恰当的块容量、提高Cache的容量和提高Cache的相联度等。
               Cache的命中率与Cache容量的关系是:Cache容量越大,则命中率越高,随着Cache容量的增加,其失效率接近0%(命中率逐渐接近100%)。但是,增加Cache容量意味着增加Cache的成本和增加Cache的命中时间。
               在多级Cache的计算机中,Cache分为一级(L1 Cache)、二级(L2 Cache)等,CPU访存时首先查找L1 Cache,如果不命中,则访问L2 Cache,直到所有级别的Cache都不命中,才访问主存。目前,CPU内的Cache通常为二级结构。通常要求L1 Cache的速度足够快,以赶上CPU的主频。L1 Cache的容量一般都比较小,为几千字节到几十千字节;L2 Cache则具有较高的容量,一般为几百字节到几兆字节,以具有足够高的命中率。
 
       Cache
        Cache的功能是提高CPU数据输入输出的速率,突破所谓的“冯.诺依曼瓶颈”,即CPU与存储系统间数据传送带宽限制。高速存储器能以极高的速率进行数据的访问,但因其价格高昂,如果计算机的内存完全由这种高速存储器组成则会大大增加计算机的成本。通常在CPU和内存之间设置小容量的高速存储器Cache。Cache容量小但速度快,内存速度较低但容量大,通过优化调度算法,系统的性能会大大改善,仿佛其存储系统容量与内存相当而访问速度近似Cache。
               Cache基本原理
               使用Cache改善系统性能的依据是程序的局部性原理。依据局部性原理,把内存中访问概率高的内容存放在Cache中,当CPU需要读取数据时就首先在Cache中查找是否有所需内容,如果有,则直接从Cache中读取;若没有,再从内存中读取该数据,然后同时送往CPU和Cache。如果CPU需要访问的内容大多都能在Cache中找到(称为访问命中),则可以大大提高系统性能。
               如果以h代表对Cache的访问命中率(“1-h”称为失效率,或者称为未命中率),t1表示Cache的周期时间,t2表示内存的周期时间,以读操作为例,使用“Cache+主存储器”的系统的平均周期为t3。则:
               t3=t1×h+t2×(1-h
               系统的平均存储周期与命中率有很密切的关系,命中率的提高即使很小也能导致性能上的较大改善。
               例如,设某计算机主存的读/写时间为100ns,有一个指令和数据合一的Cache,已知该Cache的读/写时间为10ns,取指令的命中率为98%,取数的命中率为95%。在执行某类程序时,约有1/5指令需要存/取一个操作数。假设指令流水线在任何时候都不阻塞,则设置Cache后,每条指令的平均访存时间约为:
               (2%×100ns+98%×10ns)+1/5×(5%×100ns+95%×10ns)=14.7ns
               映射机制
               当CPU发出访存请求后,存储器地址先被送到Cache控制器以确定所需数据是否已在Cache中,若命中则直接对Cache进行访问。这个过程被称为Cache的地址映射(映像)。在Cache的地址映射中,主存和Cache将均分成容量相同的块(页)。常见的映射方法有直接映射、全相联映射和组相联映射。
               (1)直接映射。直接映射方式以随机存取存储器作为Cache存储器,硬件电路较简单。直接映射是一种多对一的映射关系,但一个主存块只能够复制到Cache的一个特定位置上去。
               例如,某Cache容量为16KB(即可用14位表示),每块的大小为16B(即可用4位表示),则说明其可分为1024块(可用10位表示)。则主存地址的最低4位为Cache的块内地址,然后接下来的中间10位为Cache块号。如果内存地址为1234E8F8H的话(一共32位),那么最后4位就是1000(对应十六进制数的最后一位“8”),而中间10位,则应从E8F(1110 1000 1111)中获取,得到10 1000 1111。因此,内存地址为1234E8F8H的单元装入的Cache地址为10 1000 1111 1000。
               直接映射方式的优点是比较容易实现,缺点是不够灵活,有可能使Cache的存储空间得不到充分利用。例如,假设Cache有8块,则主存的第1块与第17块同时复制到Cache的第1页,即使Cache其他页面空闲,也有一个主存页不能写入Cache。
               (2)全相联映射。全相联映射使用相联存储器组成的Cache存储器。在全相联映射方式中,主存的每一页可以映射到Cache的任一页。如果淘汰Cache中某一页的内容,则可调入任一主存页中的内容,因而较直接映射方式灵活。
               在全相联映射方式中,主存地址不能直接提取Cache页号,而是需要将主存页标记与Cache各页的标记逐个比较,直到找到标记符合的页(访问Cache命中),或者全部比较完后仍无符合的标记(访问Cache失败)。因此这种映射方式速度很慢,失掉了高速缓存的作用,这是全相联映射方式的最大缺点。如果让主存页标记与各Cache标记同时比较,则成本又太高。全相联映像方式因比较器电路难于设计和实现,只适用于小容量Cache。
               (3)组相联映射。组相联映射是直接映射和全相联映射的折中方案。它将Cache中的块再分成组,通过直接映射方式决定组号,通过全相联映射的方式决定Cache中的块号。在组相联映射方式中,主存中一个组内的块数与Cache的分组数相同。
               例如:容量为64块的Cache采用组相联方式映像,每块大小为128个字,每4块为一组。若主存容量为4096块,且以字编址,那么主存地址应该为多少位?主存区号(组号)为多少位?这样的题目,首先根据主存与Cache块的容量需一致,即每个内存块的大小也是128个字,因此共有128×4096个字(219个字),即主存地址需要19位。因为Cache分为16组,所以主存需要分为4096/16=256组,即28组,因此主存组号需8位。
               在组相联映射中,由于Cache中每组有若干可供选择的页,因而它在映像定位方面较直接映像方式灵活;每组页数有限,因此付出的代价不是很大,可以根据设计目标选择组内页数。
               淘汰算法
               当Cache产生了一次访问未命中之后,相应的数据应同时读入CPU和Cache。但是当Cache已存满数据后,新数据必须淘汰Cache中的某些旧数据。最常用的淘汰算法有随机淘汰法、先进先出法(First In and First Out, FIFO)和近期最少使用淘汰法(Least Recently Used, LRU)。其中平均命中率最高的是LRU算法。
               写操作
               因为需要保证缓存在Cache中的数据与内存中的内容一致,相对读操作而言,Cache的写操作比较复杂,常用的有以下几种方法。
               (1)写直达(write through)。当要写Cache时,数据同时写回内存,有时也称为写通。
               (2)写回(write back)。CPU修改Cache的某一行后,相应的数据并不立即写入内存单元,而是当该行从Cache中被淘汰时,才把数据写回到内存中。
               (3)标记法。对Cache中的每一个数据设置一个有效位。当数据进入Cache后,有效位置1;而当CPU要对该数据进行修改时,数据只需写入内存并同时将该有效位清0。当要从Cache中读取数据时需要测试其有效位:若为1则直接从Cache中取数,否则从内存中取数。
 
       CPU
        CPU即中央处理器,它是计算机系统的核心部分。刚才所列的系统性能评价指标都是围绕CPU的。当然,这些指标的评价结果是建立在CPU与其他系统部件(如内存)的协同工作的基础上的。单就CPU而言,考察它在系统中的工作性能要关注CPU利用率、队列长度、每秒中断次数,等。
 
       高速缓冲存储器
        Cache的功能是提高CPU数据输入输出的速率,突破所谓的“冯·诺依曼瓶颈”,即CPU与存储系统间数据传送带宽限制。高速存储器能以极高的速率进行数据的访问,但因其价格高昂,如果计算机的内存完全由这种高速存储器组成,则会大大增加计算机的成本。因此通常在CPU和内存之间设置小容量的高速存储器Cache。Cache容量小但速度快,内存速度较低但容量大,通过优化调度算法,系统的性能会大大改善,就如同其存储系统容量与内存相当而访问速度近似于Cache。
        使用Cache改善系统性能的依据是程序的局部性原理。依据局部性原理,把内存中访问概率高的内容存放在Cache中,当CPU需要读取数据时就首先在Cache中查找是否有所需内容。如果有,则直接从Cache中读取;若没有,再从内存中读取该数据,然后同时送往CPU和Cache。如果CPU需要访问的内容大多都能在Cache中找到(称为访问命中),则可以大大提高系统性能。
        如果以h代表对Cache的访问命中率(“1-h”称为失效率,或者称为未命中率),t1表示Cache的周期时间,t2表示内存的周期时间,在读操作中使用“Cache+主存储器”的系统的平均周期为t3。则:
        t3=t1×h+t2×(1-h
        系统的平均存储周期与命中率有很密切的关系,命中率的提高即使很小也能导致性能上的较大改善。
        当CPU发出访存请求后,存储器地址先被送到Cache控制器以确定所需数据是否已在Cache中,若命中则直接对Cache进行访问。这个过程称为Cache的地址映射。常见的映射方法有直接映射、相联映射和组相联映射。
        当Cache产生了一次访问未命中之后,相应的数据应同时读入CPU和Cache。但是当Cache已存满数据后,新数据必须淘汰Cache中的某些旧数据。最常用的淘汰算法有随机淘汰法、先进先出淘汰法(FIFO)和近期最少使用淘汰法(LRU)。
        因为需要保证缓存在Cache中的数据与内存中的内容一致,相对于读操作而言,Cache的写操作比较复杂,常用的有以下几种方法。
        (1)写直达(Write Through)。当要写Cache时,数据同时写回内存,有时也称为写通。
        (2)写回(Write Back)。CPU修改Cache的某一行后,相应的数据并不立即写入内存单元,而是当该行从Cache中被淘汰时才把数据写回到内存中。
        (3)标记法。对Cache中的每一个数据设置一个有效位,当数据进入Cache后,有效位置1;而当CPU要对该数据进行修改时,数据只需写入内存并同时将该有效位清0。当要从Cache中读取数据时需要测试其有效位:若为1则直接从Cache中取数,否则从内存中取数。
   题号导航      2012年上半年 数据库系统工程师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第1题    在手机中做本题