当前位置:首页>Linux>真真没啥技术的我学Linux驱动 |多副面孔的CPU和它的寄存器侍卫

真真没啥技术的我学Linux驱动 |多副面孔的CPU和它的寄存器侍卫

  • 2026-02-05 00:38:17
真真没啥技术的我学Linux驱动 |多副面孔的CPU和它的寄存器侍卫

接上一篇文章真真没啥技术的我学Linux驱动 | ROM Code的“接头暗号”中使用接头暗号成功让ROMCode老爷给打开了城门。

城门被打开的刹那间,整座城池在你脚下骤然苏醒。

主街(AXI总线) 已铺开琉璃甬道,32路驿马(数据线)与32面令旗(地址线)并行奔流,指令如加密的烽火在铜轨上滑出残影。

顺着AXI主街的琉璃光流向远处望去。穿过那层层由内存管理单元(MMU) 把守的、光影变幻的Cortex-A7内城城门——这里空间被重排,虚实被映射。

在数据和指令的中心,一座皇宫赫然映入眼帘,之上笼罩着取指、译码、执行的三色光芒,在里面住着CPU内核这位皇帝。

它有几个特点

1、手速逆天:一纳秒能完成好几件惊天动地的工作(计算、判断、跳转)。

2、年轻力强但痴呆记忆力为零:工作起来不知道疲惫,没有长期记忆,工作一完成,瞬间就忘。

3、面孔:每一副面孔都用来运行不同模式,解决不同事情。

正因这几个特点,看似无所不能的皇帝,实则片刻离不开它身边R0,,,,,R15“寄存器贴身侍卫”,GIC“大内总管”等一众大臣。来共同维系着i.MX6ULL这座庞大城池的秩序。

那么,这位皇帝究竟有哪几副至关重要的“面孔”?围绕在他身边的侍卫与重臣班子又是如何运作的?

本篇属于第一部分 万事开头难之入门篇

多副面孔的CPU和它的寄存器侍卫

接下来就来介绍一下CPU内核皇帝的多副面孔和它的贴身侍卫们。


CPU内核这个皇帝,所有面孔(ARM运行模式)就是如上图所示。平常平易近人,以Usr用户模式处理日常平民百姓(普通程序)事务。但当有紧急事务(异常)发生就会像川剧变脸一样,换上不同面孔切换为ARM运行模式,展现不同的性格和处理方式。从上表可以看出User用户模式是非特权模式PL0,其他模式属于特权模式PL1。
  1. User (USR)  处理日常事务,就像“微服私访”,像个普通老百姓,访问的硬件资源受限。遇到冤情还是需要当地衙门来处理(没有权限修改CSPR M[4:0]来切换模式,可以靠软中断进入SVC变相换面孔,判断要干啥)

  2. FIQ 快速响应中断,响应极快用于处理高频率、低延迟事情。边关八百里告急,立刻化身“御驾亲征”威武大将军,拥有自己的一套 R8–R14 fiq专职寄存器侍卫无需保存/恢复上下文,直接调兵遣将。

  3. IRQ普通中断,处理日常边报,虽不如FIQ快,但稳扎稳打,能处理一些相对紧急事情。

  4. Supervisor (SVC) 平民老百姓敲了登闻鼓,有冤情?发生系统调用,立刻亲自批阅。一般操作系统使用,用于系统服务。

  5. Monitor (MON) 皇帝不为人知的秘辛(ARM TrustZone 技术,涉及敏感操作)分为(Normal World)与(Secure World),想查看像内库私产必须不能让人知道密码。

  6. Abort (ABT)  专门处理“非法行为”。数据中止(Data Abort)或预取中止(Prefetch Abort)——比如访问了不存在的内存或权限不足。

  7. Hyp (HYP) 化身劳模,同时成为多个国家的真命天子(虚拟化技术,同时运行多个虚拟机)。

  8. Undef(UND) 专治“妖言惑众”(非法指令),CPU 遇到未定义指令。

  9. System(SYS) 不想穿龙袍,但又要暗中掌控全局。与 User 相同的侍卫,但拥有特权级,可以访问Usr无法访问的资源,运行需要特权但又不想频繁切换模式的操作。

前面说过,这个皇帝有点痴呆,前一秒干了啥,下一秒就忘记了。要想维持帝国运转(上面那么多模式和切换模式后要做的工作),离不开上图列出的一堆寄存器贴身侍卫。
当然,上图列出了寄存器侍卫。虽然多却各司其职,原因就是它们都被一套规则束缚。
ARM Architecture Procedure Call Standard (AAPCS),它规定了寄存器的使用规则,它属于Application Binary Interface (ABI) 一部分。
  • R0-R3 (a1-a4),用于参数传递,它们可以用作临时寄存器或调用者保存的寄存器变量,可以在调用其他函数时保存中间值。
  • R4-R8,R10和R11 (v1-v5、v7和v8),调用保存的寄存器,通常用作寄存器变量。
  • R9寄存器:在特定环境中具有特殊角色:作为静态基址寄存器(SB),指向位置无关的数据。作为线程寄存器(TR),用于线程本地存储。在不需要这些特殊功能的代码中,可作为额外的被调用者保存寄存器。
  • R13(在所有模式下)是堆栈指针,但在不需要堆栈操作时,也可用作通用寄存器。
  • R14(链接寄存器)保存子程序调用(使用分支与链接指令 BL)返回的地址。当不支持从子程序返回时,它也可以用作通用寄存器。R14_svc、R14_irq、R14_fiq、R14_abt 和 R14_und 分别用于保存中断、异常或异常处理程序中 R15 的返回值,或者在执行中断或异常处理例程时执行分支与链接指令。
  • R15 是程序计数器(PC),保存当前程序地址(因为三级流水线(取指、译码、执行,在 ARM 状态下它总是指向当前指令前 8 字节的位置,在 Thumb 状态下指向当前指令前 4 字节的位置)。
前面提到的皇帝换脸,CPSR(当前程序状态寄存器)正是掌握着这位皇帝秘密的侍卫,在CPSR的腰间挂着一块令牌:
  • 条件标志 
    • N bit[31],负条件标志。如果结果被视为二进制补码有符号整数,则当结果为负数时将N设为1,当结果为正数或零时将N设为0。
    • Z bit[30],零条件标志。如果指令结果为零则设为1,否则设为0。结果为零通常表示比较结果相等。
    • C bit[29],进位条件标志。如果指令导致进位条件(例如加法中的无符号溢出)则设为1。
    • V bit[28],溢出条件标志。如果指令导致溢出条件(例如加法中的有符号溢出)则设为1。
  • 设置为1表示在某些指令中发生溢出或饱和,
  • J  和Bit5 T一起使用,决定指令集状态。
  • GE[3:0],大于或等于标志,用于并行加减指令中描述的(SIMD)指令。
  • IT[7:2] 此字段保存了针对紧接在 IT 指令之后的一到四个指令的 IT 块的 If-Then 执行状态位
  • E 控制数据访问的加载和存储端序:0小端操作、1大端操作。
  • A A=1禁止异步终止,A=0使能异步终止。
  • I  I=1禁止 IRQ ,I =0使能 IRQ。
  • F F=1禁止 FIQ ,F=0使能 FIQ。
  • T 和Bit24 J一起使用,决定指令集状态。
  • M[4:0]不同编码时刻记录着皇帝当前用的哪副面孔,运行哪种模式。
当皇帝想了解自己状态或者想换个面孔的时候,就会让侍卫长CPSR看看令牌。但CPSR也不是在任何时候都搭理这位皇帝。在非特权模式即PL0,CPSR某些位对皇帝来说是不可见的,皇帝访问的只能CPSR别名叫APSR(应用程序状态寄存器)。(皇帝也不是想做啥就做啥的)如下图所示,bit15-bit0均不可见。

为了给皇帝换脸速度提供情绪价值-知道自己换脸前是啥样子。

发生异常后,侍卫SPSR(备份程序状态寄存器)会保存CPSR的副本换脸前的值(硬件自动处理),这样就可以知道在进入这个模式前的一些状态,哪怕在当前模式CPSR发生更改也不影响,因为SPSR记录着呢。

在结束异常响应的时候,硬件自动从SPSR恢复值到CPSR,返回前一个模式

除此之外,当CPU皇帝在皇宫大殿(内核)日理万机时,有一群身披玄色飞鱼服、手持绣春刀的特殊侍卫在暗处守护——他们就是锦衣卫指挥使协处理器(CP0-CP15)总揽全局,每个锦衣卫指挥使下辖多个锦衣卫千户各司其职,暗中监视众多百官(通过协处理器访问其他寄存器)。

不同于R0-R15那些时刻伴随皇帝左右的“贴身侍卫”

1、每位锦衣卫都有独特的绝密腰牌(专属指令集),只有皇帝用特定密令(MRC/MCR指令)才能调遣。

    • 协处理器标识符 coproc,值为 p0 到 p15,对应于 CP0 到 CP15。
    • 协处理器寄存器 CRn 或 CRm,值为 c0 到 c15,用于指定协处理器寄存器编号。
    • 操作码 opc1 或 opc2,取值范围为 0 到 7。
    • Rt表示通用寄存器。

    2、它们不直接参与皇帝的计算事务,而是掌管着城池的深层机密与防御体系

    其中最受信任和恩宠的当属CP15,下辖C0-C15 等锦衣卫千户(主寄存器),可以通过MRC、MCR组合访问不同锦衣卫(寄存器),如配置MMU、Cache、中断向量表等等。

    当皇帝想看看真正的世界,感觉有个MMU中间插一档子太费劲,就说CP15你去把它给我关起来。然后,CP15就让c1和c0查了查访问方式,通过下面命令访问SCTLR寄存器来访问资源,来操作MMU。

    MRC p15, 0, <Rt>, c1, c0, 0 ; Read SCTLR into RtMCR p15, 0, <Rt>, c1, c0, 0 ; Write Rt to SCTLR

     SCTLR寄存器

    • .........看手册吧,Bit位太多了,太长了。

    • C 用于Cache 和缓存一致性使能位0:禁用。1:启用。

    • A  内存对齐检查使能。0:禁用。1:启用。

    • MMU 使能。0:MMU 禁用。1:MMU 启用。

    如想更改中断向量表,就让CP15安排c0和c12处理,更改中断向量表映射地址。比如改到0x8000-0000位置。

    ldr r0, =0X80000000 ; r0=0X80000000 MCR p15, 0, r0, c12, c0, 0

    ....

    其他没有提到的还需要根据参考资料读手册,手册很详细。


    突然,一声急报,从远处响起。。。。。。

    “报——!北境有烽火骤起!”

    御座上的皇帝(CPU内核)眉峰一凝,CPSR侍卫腰间令牌上的I 位F 位忽明忽暗。它知道:这不是寻常的奏章,而是中断——那些无需圣旨、直闯殿前的紧急军情。

    但皇帝并不慌乱。无论哪路急报,都将惊动那位常年驻守宫门外的 GIC 大内总管Generic Interrupt Controller)。总管手握《中断谱册》,会依紧急程度决定,决定如何跟皇帝在何处汇报,是军机处(IRQ)还是直接面圣(FIQ)?(异常处理程序-中断向量表)。

    而皇帝自己,也早练就了 “瞬目换面” 的绝技。一念之间,CPSR令牌上的 M[4:0] 悄然轮转——或是化身 FIQ 大将军,直调专属的 R8–R14 侍卫亲兵;或是转为 IRQ ,借 R13_irq、R14_irq 稳住阵脚。

    可这一切,究竟是如何在一瞬之间发生的?GIC 总管如何分辨敌友?皇帝换面前又如何将身后事托付给 SPSR 与 LR那些被暂时搁置的朝政(当前任务),又该由谁在暗中保存现场?


    参考资料来自

    《ARM Cortex-A Series (Armv7-A) Programmer’s Guide Version 4.0》

    《ARM® Architecture Reference Manual ARMv7-A and ARMv7-R edition》

    最新文章

    随机文章

    基本 文件 流程 错误 SQL 调试
    1. 请求信息 : 2026-02-07 18:30:31 HTTP/2.0 GET : https://f.mffb.com.cn/a/472969.html
    2. 运行时间 : 0.138545s [ 吞吐率:7.22req/s ] 内存消耗:4,485.52kb 文件加载:140
    3. 缓存信息 : 0 reads,0 writes
    4. 会话信息 : SESSION_ID=7096da2a4b2b1a5fced6d810ef910906
    1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
    2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
    3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
    4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
    5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
    6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
    7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
    8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
    9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
    10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
    11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
    12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
    13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
    14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
    15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
    16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
    17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
    18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
    19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
    20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
    21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
    22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
    23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
    24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
    25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
    26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
    27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
    28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
    29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
    30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
    31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
    32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
    33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
    34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
    35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
    36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
    37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
    38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
    39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
    40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
    41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
    42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
    43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
    44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
    45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
    46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
    47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
    48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
    49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
    50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
    51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
    52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
    53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
    54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
    55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
    56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
    57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
    58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
    59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
    60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
    61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
    62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
    63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
    64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
    65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
    66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
    67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
    68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
    69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
    70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
    71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
    72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
    73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
    74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
    75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
    76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
    77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
    78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
    79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
    80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
    81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
    82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
    83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
    84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
    85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
    86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
    87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
    88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
    89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
    90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
    91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
    92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
    93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
    94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
    95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
    96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
    97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
    98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
    99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
    100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
    101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
    102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
    103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
    104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
    105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
    106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
    107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
    108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
    109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
    110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
    111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
    112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
    113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
    114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
    115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
    116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
    117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
    118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
    119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
    120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
    121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
    122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
    123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
    124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
    125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
    126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
    127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
    128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
    129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
    130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
    131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
    132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
    133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
    134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
    135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
    136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
    137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
    138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
    139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
    140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
    1. CONNECT:[ UseTime:0.000554s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
    2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000866s ]
    3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.024670s ]
    4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.001411s ]
    5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000538s ]
    6. SELECT * FROM `set` [ RunTime:0.003022s ]
    7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000609s ]
    8. SELECT * FROM `article` WHERE `id` = 472969 LIMIT 1 [ RunTime:0.001350s ]
    9. UPDATE `article` SET `lasttime` = 1770460231 WHERE `id` = 472969 [ RunTime:0.009816s ]
    10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.001544s ]
    11. SELECT * FROM `article` WHERE `id` < 472969 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.009181s ]
    12. SELECT * FROM `article` WHERE `id` > 472969 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.004161s ]
    13. SELECT * FROM `article` WHERE `id` < 472969 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.004245s ]
    14. SELECT * FROM `article` WHERE `id` < 472969 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.004368s ]
    15. SELECT * FROM `article` WHERE `id` < 472969 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.003757s ]
    0.139997s