stata面板数据处理全过程代码 完全版 从检验到回归
2022-05-13 10:29:23 2.31MB stata面板数据处理 stata代码学习
会有非对齐的 load 和 store 地址异常。原因有两个,首先,第六章的原子内存操作需要自 然对齐的地址;其次,一些实现者选择省略对于非对齐的常规 load 和 store 的硬件支持, 因为它是一个难以实现的不常用特性。没有这种硬件的处理器依赖于异常处理程序,用一 系列较小的对齐 load 和 store 来模拟软件中非对齐的 load 和 store。应用程序代码并没有变 得更好:虽然速度很慢,非对齐访存操作仍按预期进行,而硬件仍然很简单。或者,在更 高性能的处理器中可以硬件实现非对齐的 load 和 store。这种实现上的灵活性归功于 RISC- V 允许非对齐 load 和 store 与常规 load 和 store 共用操作码。这遵照了第一章将架构和具体 实现隔离开的准则。 有三种标准的中断源:软件、时钟和外部来源。软件中断通过向内存映射寄存器中存 数来触发,并通常用于由一个 hart 中断另一个 hart(在其他架构中称为处理器间中断机 制)。当 hart 的时间比较器(一个名为 mtimecmp 的内存映射寄存器)大于实时计数器 mtime 时,会触发时钟中断。外部中断由平台级中断控制器(大多数外部设备连接到这个 中断控制器)引发。不同的硬件平台具有不同的内存映射并且需要中断控制器的不同特 性,因此用于发出和消除这些中断的机制因平台而异。所有 RISC-V 系统的共同问题是如 何处理异常和屏蔽中断,这是下一节的主题。 10.3 机器模式下的异常处理 八个控制状态寄存器(CSR)是机器模式下异常处理的必要部分: ⚫ mtvec(Machine Trap Vector)它保存发生异常时处理器需要跳转到的地址。 ⚫ mepc(Machine Exception PC)它指向发生异常的指令。 ⚫ mcause(Machine Exception Cause)它指示发生异常的种类。 ⚫ mie(Machine Interrupt Enable)它指出处理器目前能处理和必须忽略的中断。 ⚫ mip(Machine Interrupt Pending)它列出目前正准备处理的中断。 ⚫ mtval(Machine Trap Value)它保存了陷入(trap)的附加信息:地址例外中出错 的地址、发生非法指令例外的指令本身,对于其他异常,它的值为 0。 ⚫ mscratch(Machine Scratch)它暂时存放一个字大小的数据。 ⚫ mstatus(Machine Status)它保存全局中断使能,以及许多其他的状态,如图 10.4 所示。 图 10.4:mstatus 控制状态寄存器。在仅有机器模式且没有 F 和 V 扩展的简单处理中,有效的域只有全 局中断使能、MIE 和 MPIE(它在异常发生后保存 MIE 的旧值)。RV32 的 XLEN 时 32,RV64 是 40。 (来自[Waterman and Asanovic 2017]中的表 3.6;有关其他域的说明请参见该文档的第 3.1 节。) 处理器在 M 模式下运行时,只有在全局中断使能位 mstatus.MIE 置 1 时才会产生中 断.此外,每个中断在控制状态寄存器 mie 中都有自己的使能位。这些位在 mie 中的位置
2021-09-19 13:53:30 8.85MB RISC-V
1
面板数据stata处理步骤介绍.pdf (288.3 KB) 很多不常用的方法步骤介绍——xtscc,xtivreg,xtivreg2等等等等,有它们的后续检验及筛选方法,还有修正方法(如fe的robust会损失一些效率;如何兼顾异方差和序列相关;改变工作目录;N阶滞后相关);如何获得R2-adj
2021-03-31 23:13:02 288KB stata 面板数据 步骤 例子
1
英文教程,非常详细的介绍stata如何处理面板数据,很好的文章,给大家分享!
2019-12-21 22:22:07 454KB 面板数据,stata
1