MIPS CPU 体系结构概述,Linux/MIPS 内核 ( 上 ) 陈怀临, 张福新 弯曲评论 中国科学院计算所 前言 年, 科学院计算所推出基于 MIPS 指令集的龙芯 CPU 为了推广 MIPS 技术在中国的普及, 笔者与计

Size: px
Start display at page:

Download "MIPS CPU 体系结构概述,Linux/MIPS 内核 ( 上 ) 陈怀临, 张福新 弯曲评论 中国科学院计算所 前言 年, 科学院计算所推出基于 MIPS 指令集的龙芯 CPU 为了推广 MIPS 技术在中国的普及, 笔者与计"

Transcription

1 MIPS CPU 体系结构概述,Linux/MIPS 内核 ( 上 ) 陈怀临, 张福新 弯曲评论 中国科学院计算所 前言 年, 科学院计算所推出基于 MIPS 指令集的龙芯 CPU 为了推广 MIPS 技术在中国的普及, 笔者与计算所龙芯研发组的张福新博士撰写了一系列的关于 MIPS 的技术文章, 并被笔者整理发表于笔者的非营利性网站 上 六年过去, 时光匆匆 笔者这次将其修订并发表于 弯曲评论 以饷读者 希望对读者有所帮助 第一部分 MIPS CPU 体系结构概述 1. MIPS 概述 本文介绍 MIPS 体系结构, 着重于其寄存器约定,MMU 及存储管理, 异常和中断处理等等 通过本文, 希望能提供一个基本的轮廓概念给对 MIPS CPU 及之上操作系统有兴趣的读者, 并能开始阅读更详细的归约 (SPECIFICATION) 资料 MIPS 是最早的, 最成功的 RISC(Reduced Instruction Set Computer) 处理器之一, 起源于斯坦福的电机系. 其创始人 John L. Hennessy 在 1984 年在硅谷创立了 MIPS INC. 公

2 司 ( John L. Hennessy 目前是 Stanford Univ. 的校长 在此之前, 他是 Stanford 电子工程学院的院长 计算机专业的学生都知道两本著名的书 : Computer Organization and Design : The Hardware/Software Interface 和 Computer Architecture : A Quantitative Approach 其作者之一就是 Hennessy MIPS 的名字为 Microcomputer without interlocked pipeline stages 的缩写 另外一个通常的非正式的说法是 Millions of instructions per second 2. 指令集 详细的资料请参阅 MIPS 归约 一般而言,MIPS 指令系统有 :MIPS I;MIPS II;MIPS III 和 MIPS IV 可想而知, 指令系统是向后兼容的 例如, 基于 MIPS II 的代码可以在 MIP III 和 MIPS IV 的处理器上运行 下面是当我们用 gcc 编译器时, 如何指定指令和 CPU 的选项 -mcpu=cpu type Assume the defaults for the machine type cpu type when scheduling instructions. The choices for cpu type are `r2000', `r3000', `r4000', `r4400', `r4600', and `r6000'. While picking a specific cpu type will schedule things appropriately for that particular chip, the compiler will not generate any code that does not meet level 1 of the MIPS ISA (instruction set architecture) without the `-mips2' or `-mips3' switches being used. -mips1 Issue instructions from level 1 of the MIPS ISA. This is the default. `r3000' is the default cpu type at this ISA level. -mips2 Issue instructions from level 2 of the MIPS ISA (branch likely, square root instructions). `r6000' is the default cpu type at this ISA level. -mips3 Issue instructions from level 3 of the MIPS ISA (64 bit instructions). `r4000' is the default cpu type at this ISA level. This option does not change the sizes of any of the C data types. 读者可能发现, 对于大多数而言, 我们应该是用 MIPS III 或 -mips3 要提醒的是 R5000 和 R10000 也都是 R4000 的延伸产品 下面是几点补充 : *MIPS 指令是 32 位长, 即使在 64 位的 CPU 上 这对于局部跳转指令的理解很有帮助 比如 :J (TARGET);JAL (TARGET) J 和 JAL 的 OPERCODE 是 6 位, 剩下的 26 为存放跳转

3 偏移量 由于任何一个指令都是 32 位 ( 或 4 字节 ) 对齐 (ALIGN) 的, 所以 J 和 JAL 最大的伸缩空间是 2^28=256M 如果你的程序要作超过 256M 的跳转, 你就必须用 JALR 或 JR, 通过一个 GPR 寄存器来存放你的跳转地址 由于一个寄存器是 32 或 64 位的, 你就没有任何限制了 *MIPS CPU 的 SR(STATUS REGISTER) 中有几位是很重要的设置, 例如, 选择指令系统或要把 64 位的 MIPS 的 CPU CORE 运行在 32 模式下 SR[XX]: 1:MIPS IV INSTRUCTION SET USABLE 0:MIPS IV INSTRUCTION SET UNUSABLE SR[KX] SR[SX] SR[UX]: 0:CPU 工作在 32 位模式下 1:CPU 工作在 64 位模式下 一般而言, 如果你要从头写一个 MIPS 核心为 32 位程序, 需要把上述位值设为 0 * 在以后我们会单独的一章讲将流水线和指令系统, 特别是跳转指令的关系 在这里, 我们只简单提一下 对任何一个跳传指令后面, 要加上一个空转指令 (NOP) 从而使得 CPU 的流水线不会错误的执行一个预取 (PRE_FETCH) 得指令 当然这个 NOP 可以替换为别的 放一个 NOP 是最简单和安全的 有兴趣的读者可以用 mips64-elf-objdump -d 来反汇编一个 OBJECT 文件 就会一目了然了 * 一定要记住 :MIPS I,II, III 和 IV 指令系统不包含特权指令换句话说, 都是那些在用户态 (USER MODE) 下可以用的指令 ( 当然 KERNEL 下也能用 ) 对于 CP0 的操作不属于指令系统 * 有一点在 MIPS CPU 下, 要特别注意 : 对齐 (ALIGN) MIPS 对指令对齐的要求是严厉的 这一点与 POWERPC 是天壤之别 指令必须是 32 位对齐 数据类型必须与她们的大小边界对齐 * 建议读者阅读 MIPS 规约是要花时间看一看指令系统的定义 3. 寄存器约定 对于在一个 CPU 上进行开发, 掌握其 CPU 的寄存器约定是非常重要的

4 MIPS 体系结构提供了 32 个 GPR(GENERAL PURPOSE REGISTER) 这 32 个寄存器的用法大致如下 : REGISTER NAME USAGE $0 $zero 常量 0(constant value 0) $2-$3 $v0-$v1 函数调用返回值 (values for results and expression evaluation) $4-$7 $a0-$a3 函数调用参数 (arguments) $8-$15 $t0-$t7 暂时的 ( 或随便用的 ) $16-$23 $s0-$s7 保存的 ( 或如果用, 需要 SAVE/RESTORE 的 )(saved) $24-$25 $t8-$t9 暂时的 ( 或随便用的 ) $28 $gp 全局指针 (Global Pointer) $29 $sp 堆栈指针 (Stack Pointer) $30 $fp 帧指针 (Frame Pointer) (fp 在现代编译器中基本上不用了, 而是作为一个 $t8 来使用 ) $31 $ra 返回地址 (Return address) 对一个 CPU 的寄存器约定的正确用法是非常重要的 当然对 C 语言开发者不需要关心, 因为编译器会处理 但对于操作系统核心或驱动程序开发人员就必须清楚 一般来讲, 你通过 objdump -d 可以清醒的看到寄存器的用法 下面通过笔者写的一个简单例子来讲解 : ~/ vi Hello.c "Hello.c" [New file] /* Example to illustrate mips register convention * -Author: Huailin Chen * 11/29/2001 int addfunc(int,int); int subfunc(int); void main() {

5 int x,y,z; x= 1; y=2; z = addfunc(x,y); } int addfunc(int x,int y) { int value1 = 5; int value2; value2 = subfunc(value1); return (x+y+value2); } int subfunc(int value) { return value--; } 上面是一个 C 程序,main() 函数调用一个加法的子函数 让我们来看看编译器是如何产生代码的 ~/huailinchen:74> /bin/mips-elf-gcc -c Hello.o Hello.c -mips3 -mcpu=r4000 -mgp32 -mfp32 -O1 ~/huailinchen:75> /bin/mips64-elf-objdump -d Hello.o Hello.o: file format elf32-bigmips Disassembly of section.text: /* main Function : /*create a stack frame by moving the stack pointer 8 *bytes down and meantime update the sp value 0: 27bdfff8 addiu $sp,$sp,-8 /* Save the return address to the current sp position. 4: afbf0000 sw $ra,0($sp)

6 8: 0c jal 0 /* nop is for the delay slot c: nop /* Fill the argument a0 with the value 1 10: li $a0,1 /* Jump the addfunc 14: 0c00000a jal 28 /* NOTE HERE: Why we fill the second argument *behind the addfunc function call? * This is all about the "-O1" compilation optimization. * With mips architecture, the instruction after jump * will also be fetched into the pipline and get * executed. Therefore, we can promise that the * second argument will be filled with the value of * integer 2. 18: li $a1,2 /*Load the return address from the stack pointer * Note here that the result v0 contains the result of * addfunc function call 1c: 8fbf0000 lw $ra,0($sp) /* Return 20: 03e00008 jr $ra /* Restore the stack frame 24: 27bd0008 addiu $sp,$sp,8 /* addfunc Function : /* Create a stack frame by allocating 16 bytes or 4 * words size 28: 27bdfff0 addiu $sp,$sp,-16 /* Save the return address into the stack with 8 bytes * offset. Please note that compiler does not save the * ra to 0($sp). *Think of why, in contrast of the previous PowerPC * EABI convention

7 2c: afbf0008 sw $ra,8($sp) /* We save the s1 reg. value into the stack * because we will use s1 in this function * Note that the 4,5,6,7($sp) positions will then * be occupied by this 32 bits size register 30: afb10004 sw $s1,4($sp) /* Withe same reason, save s0 reg. 34: afb00000 sw $s0,0($sp) /* Retrieve the argument 0 into s0 reg. 38: d move $s0,$a0 /* Retrieve the argument 1 into s1 reg. 3c: 00a0882d move $s1,$a1 /* Call the subfunc with a0 with 5 40: 0c jal 64 /* In the delay slot, we load the 5 into argument a0 reg *for subfunc call. 44: li $a0,5 /* s0 = s0+s1; note that s0 and s1 holds the values of * x,y, respectively 48: addu $s0,$s0,$s1 /* v0 = s0+v0; v0 holds the return results of subfunc *call; And we let v0 hold the final results 4c: addu $v0,$s0,$v0 /*Retrieve the ra value from stack 50: 8fbf0008 lw $ra,8($sp) /*!!!!restore the s1 reg. value 54: 8fb10004 lw $s1,4($sp) /*!!!! restore the s0 reg. value 58: 8fb00000 lw $s0,0($sp) /* Return back to main func 5c: 03e00008 jr $ra /* Update/restore the stack pointer/frame 60: 27bd0010 addiu $sp,$sp,16 /* subfunc Function

8 : /* return back to addfunc function 64: 03e00008 jr $ra /* Taking advantage of the mips delay slot, filling the * result reg v0 by simply assigning the v0 as the value *of a0. This is a bug from my c source * codes--"value--". I should write my codes * like "--value", instead. 68: d move $v0,$a0 希望读者静下心来把上面的代码看懂 一定要注意编译器为什么在使用 s0 和 s1 之前要先把她们保存起来, 然后再恢复, 虽然在这个例子中虽然 main 函数没用 s0 和 s1 另外的一点是 : 由于我们加了 -O1 优化, 编译器利用了 delay slot" 来执行那些必须执行的指令, 而不是简单的塞一个 nop 指令在那里 非常的漂亮 为了使得读者更加理解寄存器的用法, 下面笔者特意提出的一个问题 * 在写一个核心调度 context switch() 例程时, 我们需要 SAVE/RESTORE$t0-$t7 吗? 如果不, 为什么? * 在写一个时钟中断处理例程时, 我们需要 SAVE/RESTORE$t0-$t7 吗? 如果是, 为什么? 4. MMU 和内存管理 对于 MIPS 的 MMU 和相应的内存管理, 读者需要注意的是 : 不存在 x86 或 PowerPC 的实模式 这一点是 MIPS CPU 的一个很重要的特点 ( 或缺点 ) * MIPS 存储体系结构 这里笔者不讨论 MIPS64 的存储结构, 而只是关注 32 位机器 MIPS 将存储空间划分为 4 大块 --kuseg, kseg0,kseg1 and kseg xFFFF FFFF

9 mapped kseg2 0xC unmapped uncached kseg1 0xA unmapped cached kseg0 0x G kuseg 0x 对于上述结构, 读者要记住以下几点 : * 当开电 (Power On) 的时候, 只有 kseg0 and kseg1 是可以存取的 *kseg0 512M(From 0x to 0xA ) 直接被缺省映射到物理内存 0x to 0x , 并且是缓存被开启的 (cache-enabled) *kseg1 512M(From 0xA to 0xC ) 直接被缺省映射到物理内存 0x t0 0x , 并且是没有缓存的 (non cachable) 以上两点对于理解基于 MIPS 的驱动程序或操作系统的启动是至关重要的 细心的读者会发现 :kseg1 有点象其他 CPU 的实模式方式 * 在加电时 (POWER ON)!( 虚拟 ) 地址 from 0x to 0x 是不可以存取的, 必须等到 MMU TLB 初始化之后才可以 * 同理对从 0xC 到 0xFFFF 0000 的地址是不可存取的 *MIPS 的 CPU 运行有 3 个态 --User Mode( 用户态 ); Supervisor Mode( 管理态 ) 和 Kernel Mode( 核心态 ) 简单而言, 读者只需要了解用户态和核心态 操作系统一般而言也只利用这个 CPU 的状态 下面是读者必须非常清楚的 : 在用户态下,CPU 能而且只能存取 kuseg 的地址 CPU 必须运行在管理态或核心态下去存取 kseg0,kseg1 和 kseg2 的地址空间 与其他 CPU 一样,MIPS CPU 是通过 TLB 来将虚拟地址转换成物理地址 下面谈谈 MIPS 的 ASID(Address Space Identifier). 简单而言,ASID 与虚拟地址一起构成一个定位一个 TLB 的钥匙 (KEY) 换句话说, 虚拟地址本身是不能唯一确定一个 TLB 的 一般而言, 在大多数操作系统中, 一个 ASID 的值其实就是一个相应的进程标识 ID

10 对于一个多任务操作系统来讲, 每个任务都有自己的 4G 虚拟空间, 但是有自己的 ASID 通过 ASID,CPU 可以区分两个具有同样虚拟地址的 TLB 其实是分别属于不同的操作系统的进程或任务 对 MMU 的处理主要是通过 MMU 的一些控制寄存器来完成的 MIPS 体系结构中集成了一个叫做 System Control Coprocessor (CP0) 的部件 CP0 就是我们常说的 MMU 控制器 在 CP0 中, 除了 TLB 条目 ( 例如, 对 RM5200, 有 48 对,96 个 TLB 条目 ), 还提供一系列寄存器提供给操作系统来控制 MMU 的行为 每个 CP0 控制寄存器都对应一个唯一的寄存器号 MIPS 提供特殊的指令来对 CP0 进行操作 mfc0 reg. CP0_REG mtc0 reg. CP0_REG 通过上述的两条指令来把一个 GPR 寄存器的值赋值给一个 CP0 寄存器, 从而达到控制 MMU 的目的 下面简单介绍几个与 TLB 相关的 CP0 控制寄存器 Index Register 这个寄存器是用来指定 TLB 条目的, 当进行 TLB 读写的时候 例如,MIPS R5000 提供了 48 个 TLB 对, 所以 index 寄存器的值是从 0 到 47 换句话说, 每次 TLB 写的行为是对一对发生的 这一点是与其他的 CPU MMU TLB 读写不同的 EntryLo0, EntryLo1 这两个寄存器是用来指定一个 TLB 对的偶 (even) 和奇 (odd) 物理 (Physical) 页面地址 一定要注意的是 :EntryLo0 是给偶数 TLB 页面, EntryLo1 是给奇数 TLB 页面使用的 否则 MMU 会报异常错误 通常是系统不能启动 Entry Hi Entry Hi 寄存器存放 VPN2, 或一个 TLB 的虚拟地址部分 注意的是 :ASID 的值也是在这

11 里被填写 Page Mask MIPS TLB 提供可变大小的 TLB 地址映射 一个页面可以是 4K,16K,64K,256K,1M,4M 或 16M 这种可变页大小 (PAGE SIZE) 提供了很好的灵活性, 特别是对嵌入式系统软件 对于嵌入式应用, 一个很大的区别就是 : 不允许大量的页面错处理 否则系统性能将会非常的差 这一点是传统意义上的操作系统是不一样的 也是为什么 POSIX 1.b 的目的所在 传统 OS 存储管理的一个原则就是 :Page On Demand 这对大多嵌入式系统是不允许的 嵌入式系统往往是需要在系统初始化的时刻就对所有的存储进行配置, 以确保在系统运行时不会有页面错异常 上述几个寄存器除了映射一个虚拟页面之外, 还包括设置一个页面的属性 其中包括 : 可写性, 合法性, 缓存属性等 下面简单谈谈 MIPS 的 JTLB 在 MIPS 中, 如 R5000,JTLB 的意思是 Joint TLB. 什么意思呢? 就是 TLB 条目中 TLB 是指令和数据 TLB 混合的 有的 CPU 的指令 TLB 和数 TLB 条目是分开的 当然 MIPS(R5000) 确实还有两个小的, 分开的指令 TLB 和数据 TLB 但其大小很小 主要是为了提高性能, 而且是对系统软件透明的 下面讨论 MMU TLB 和 CPU 缓存 (Cache) 的关系 读者知道,MIPS, 或大多数 CPU, 的 Level 1 Cache 都是采用 Virtually Indexed and Physically Tagged. 通过这个机制,OS 不需要在每次进程切换的时候去清除缓存 为什么呢? 举一个例子 : 进程 A 的一个虚拟地址 Addr1, 其对应的物理地址是 addre1; 进程 B 的一个虚拟地址 Addr1, 其对应的物理地址是 addre2; 在某个时刻, 进程 A 在运行中, 并且 Addr1 在 Level 1 CACHE 中 这时候,OS 进行一个上下文切换, 运行进程 B, 进程 A 进入睡眠状态 现在, 假设进程 B 的第一个指令是虚拟地址 Addr1 进行一个存取 这时候 CPU 会错误的把进程 A 在缓存中的 Addr1 的 addr1 返回给 CPU 吗? 正确的答案是 : 不会的

12 原因是 : 当进程切换时,OS 会将进程 B 的 ASID 或 PID 填入 ASID 寄存器中 请记住 : 对 TLB 的访问,(ASID + VPN) 才是唯一确定 TLB 条目的逻辑 由于 MIPS 的缓存属性是 Virtually Indexed, Physically tagged. 所以, 任何地址的访问,CPU 都会多 MMU 的 TLB 进行查询, 试图找到相应的物理地址 这个物理地址要被用来对 CPU 缓存的条目查找中. 与此同时,CPU 会把虚拟地址信号传给缓存控制器 然后, 我们必须等待上述 MMU 传送过来的物理地址信息 只有物理地址 TAG 也匹配上了, 我们才能说一个 :Cache Hit( 缓存命中 ) 所以, 不需要担心不同的进程有相同的虚拟地址的事情 5. MIPS 异常和中断处理 任何一个 CPU 都要提供一个完善的异常和中断处理机制 一个软件系统, 如操作系统, 就是一个时序逻辑系统, 通过时钟, 外部事件来驱动整个预先定义好的逻辑行为 这也是为什么当写一个操作系统时如何定义时间的计算是非常重要的原因 读者都非常清楚 UNIX 提供了一整套系统调用 (System Call) 系统调用其实就是一段异常处理程序 读者可能要问 : 为什么 CPU 要提供异常和中断处理呢? 其目的是 : 处理非法操作 例如,TLB Fault,Cache Error 等等 提供一个通道使得程序可以使用被保护的高级资源, 例如 CP0 寄存器 在用户态下的进程不能访问 CP0 CPU 通过陷入核心态的异常处理方式使得一个进程可以安全的进行一些 CPU 的高级设置 处理外部和内部中断, 例如, 时钟, 看门狗 (WatchDog) 等等 下面来讨论 MIPS 是如何处理异常和中断 各种 MIPS 的变种都有些细微的差别 下面是基于 MIPS R7000 的结构 理解 MIPS 异常处理最重要的概念是 :MIPS 体系结构采用的是精确异常处理模式 这是什 么意思呢? 下面来看从 See MIPS Run 一书中的摘录 : In a precise-exception CPU, on any exception we get pointed at one instruction(the exception victim). All instructions preceding the

13 exception victim in execution sequence are complete; any work done on the victim and on any subsequent instructions (BNN NOTE: pipeline effects) has no side effects that the software need worry about. The software that handles exceptions can ignore all the timing effects of the CPU's implementations 上面的意思其实很简单 : 在发生这个异常之前的一切计算行为会完整的结束并体现效果 在发生这个异常之后的一切计算行为 ( 包含当前这条指令 ) 将不会产生任何效果 对绝大多数情况而言, 如果读者要写一个系统调用 (System Call), 只需要记住 : MIPS 已经把 syscall 这条指令的地址压在了 EPC 寄存器里 换句话说, 在 MIPS 里, 你需要在异常返回之前显示的给 EPC 寄存器赋值 EPC<-----EPC+4 只有这样, 你才能从系统调用中正确返回 下面讨论一下 MIPS 的异常 / 中断向量表 (Exception/Interrupt Vector) MIPS 的异常 / 中断向量表 ( 假定将 MIPS 运行在 32 为模式下 ) Reset, NMI: 0x TLB Refill: 0x Cache Error 0xA 其他的异常都指向 :0x 那么 MIPS 如何来区分和处理一个异常呢? 其时序逻辑可以简单的归纳如下 : 1. 将 EPC 赋值为要重新执行 ( 被中断的 ) 指令的地址 2. CPU 变为核心态, 并且禁止中断 ( 通过 SR[EXL] 的位 ) 3. 对 Cause 寄存器赋值, 从而程序可以判断是一个具体的什么异常中断 如果是一个 TLB Miss 方面的异常,BadVaddre 寄存器也会被同时赋值, 从而提高更多的异常信息 4. CPU 开始从异常处理向量的入口存取指令, 从而 CPU 逻辑进入异常处理 5. 从异常返回 从 MIPS III 指令集开始, 从中断返回用的是指令 eret 该指令的功能其实就是 iangsr[exl] 位清零 ( 开中断 ), 并把 CPU 的控制转向将 EPC 寄存器指向的地址 在理解 MIPS 中断处理结构时, 需要对 SR 状态寄存器的 IE 和 EXL 位充分了解 SR[IE]: 用来开启和关闭中断, 其中也包括时钟中断 当然, 如果 SR[EXL] 位被置位时,IE 位不起作用 EXL 和 ERL 在 CPU 异常中断处理时会被硬件自动置为, 从而关闭所有中断, 从而系统可以安全的进行中断异常的处理 ( 前期 ) 工作

14 K0 and K1 寄存器 这个两个寄存器是被操作系统核心使用的暂时变量, 从而不需要使用一些内存变量 读者如果有兴趣的话, 可以发现 gcc 编译器的 ABI 不会使用这两个寄存器 换句话说,K0 和 K1 是系统保留的 在使用这两个寄存器的时候, 要非常小心 例如, 当在异常中断处理的中后期, 系统软件通常会开启中断, 从而系统可以支持嵌套中断处理 这个时候, 软件要注意 K0 和 K1 的保存和恢复工作 笔者不鼓励读者使用 MIPS 的 AT 寄存器 应该使用.set noat 宏来关闭编译器的优化 流水线 (Pipeline) 和中断 读者知道,MIPS 是一个 RISC 技术处理器 在某一个时刻, 在流水线上, 同时有若干个指令被处理在不同的阶段 (stage) 上. MIPS 处理器一般采用 5 级流水结构 IF RD ALU MEM WB 那么读者要问 : 当一个中断异常发生时,CPU 到底该如何 handle? 答案是这样的 : On an interrupt in a typical MIPS CPU, the last instruction to be completed before interrupt processing starts will be the one that has just finished its MEM stage when the interrupt is detected. The exception victim will be the one that has just finished its ALU stage... 对上述的理解是这样的 :CPU 会保证完成那条已通过 MEM 流水级的指令 然后将中断牺牲者 (exception victim) 定位在后面那条 (following) 指令上 要注意的是 : 我们是在谈中断 (Interrupt), 而不是异常 (Exception). 在 MIPS 中, 这是有细微区别的 下面介绍几个重要的 SR(Status Register, 状态寄存器 ) 与异常和中断有关的位 * SR[EXL] Exception Level; set by the processor when any exception other than Reset, Soft Reset, NMI, or Cache Error exception are taken. 0: normal 1: exception 当 EXL 被置位时, - 中断是被禁止的 换句话说, 这时 SR[IE] 位是不管用了, 相当于所有的中断都被屏蔽了

15 - TLB Refill 异常将会使用 General Exception Vector 而不是缺省的 TLB Refill Vector. - 如果再次发生异常,EPC 将不会被自动更新 这一点要非常注意 如果想支持嵌套异常, 要在异常处理例程中清 EXL 位 当然要先保存 EPC 的值 另外要注意的 :MIPS 当陷入 Exception/Interrupt 时, 并不改变 SR[UX],SR[KX] 或 SR[SX] 的值 SR[EXL] 为 1 自动的将 CPU mode 运行在核心模式下 这一点要注意 * SR[ERL] Error Level; set by the processor when Reset, Soft Reset, NMI, or Cache Error exception are taken. 0: normal 1: error 当 ERL 被置位时, - 中断被禁止 - 中断返回 ERET 使用的是 ErrorEPC 而不是 EPC 需要非常注意这个区别 - Kuseg 和 xkuseg 被认为是没有映射 (Mapped) 的和没有缓存 (Un-Cached) 可以这样理解,MIPS CPU 只有在这个时刻才是一种 ** 实模式 (real mode)**, 可以不需要 TLB 的映射, 就直接使用 kuseg 的地址空间 * SR[IE] Interrupt Enable 0: disable interrupts 1: enable interrupts 请记住 : 当 SR[EXL] 或 SR[ERL] 被 SET 时, SR[IE] 是无效的 * Exception/Interrupt 优先级 Reset (highest priority) Soft Reset Nonmaskable Interrupt (NMI) Address error --Instruction fetch TLB refill--instruction fetch TLB invalid--instruction fetch Cache error --Instruction fetch Bus error --Instruction fetch Watch - Instruction Fetch Integer overflow, Trap, System Call, Breakpoint, Reserved Instruction, Coprocessor Unus-able, or Floating-Point Exception Address error--data access TLB refill --Data access TLB invalid --Data access TLB modified--data write Cache error --Data access Watch - Data access

16 Virtual Coherency - Data access Bus error -- Data access Interrupt (lowest priority) 读者请注意, 所谓的优先级是指 : 当在某个时刻, 同时多个异常或中断出现时,CPU 将会按照上述的优先级来处理 如果 CPU 目前已经在 TLB refill 处理的例程中, 这时, 出现了总线错 (Bus Error) 的信号,CPU 不会拒绝 当然, 在这次的处理中,EPC 的值不会被更新, 如果 EXL 还是处于被置位的状态 异常的嵌套 在有的情况下, 希望在异常或中断中, 系统可以继续处理其他的异常或中断 这需要系统软件处理如下事情 : * 进入处理程序后, 我们要设置 CPU 模式为核心态, 然后清除 SR[EXL], 从而支持 EPC 会被更新, 从而支持嵌套处理 * EPC 和 SR 的值 EPC 和 SR 寄存器是两个全局的 任何一个异常和中断发生时,CPU 硬件都会将更新上述寄存器的当前值 所以, 对于支持异常嵌套的系统, 要妥善保存 EPC 和 SR 寄存器的值 *SR[IE] 是一个很重要的位来处理嵌套异常 值得注意的, 或容易犯错的一点是 : 在做恢复上下文时, 要避免重入问题 比如, 要用 eret 返回时, 要建立 EPC 的值 在此之前, 一定要先关闭中断 disable interrupt. 否则,EPC 可能被冲掉 下面是一段异常中断返回的例子代码 : /* 读取 SR 的当前值 mfc0 t0,c0[sr] /* 加一个 delay slot 指令 nop /* 清楚 SR[IE], 关闭中断 li t1,~sr[ie] and t0,t0,t1 mtc0 t0,c0[sr]

17 nop /* 可以安全的恢复 EPC 的值 ld t1,r_epc(sp) mtc0 t1,c0[epc] nop lhu k1, /* 恢复老的中断屏蔽码, 被暂时保留在 k1 里 or t0,t0,k1 /* 从新对 SR[EXL] 置位 ERET 会自动将其清除 一定要理解, 为什么中断例程要在前面要清除 EXL 如果不的话 就不能支持嵌套异常 为什么, 希望读者能思考并回答 并且, 在清 EXL 之前, 我们一定要先把 CPU 模式变为核心模式 ori t0,t0,sr[exl] /* 一切就绪, 恢复中断屏蔽码和对 EXL 置位 mtc0 t0,c0[sr] nop ori t0,t0,sr[ie] /* 置为 IE ori t0,t0,sr[imask7 ] mtc0 t0,c0[sr ] nop /* 恢复 CPU 模式 ori t0, t0,sr[usermode] mtc0, t0, C0[SR ] eret /*eret 将对 EXL 清零 所以要注意, 如果你在处理程序中改变了 CPU 的模式, 一定要确保, 在重新设置 EXL 位后, 恢复 CPU 的原来模式, 否则用户进程将会在核心态下运行

目 录 ( 下 ) 计 算 的 美 丽 -- 图 灵 奖 的 第 一 个 四 十 年 陈 怀 临 对 中 国 系 统 架 构 师 的 七 个 期 望 陈 怀 临 对 高 端 通 信 系 统 设 计 的 七 个 展 望 陈 怀 临 微 内 核 操 作 系 统 及 L4 概 述 杰 夫 微 内 核 与

目 录 ( 下 ) 计 算 的 美 丽 -- 图 灵 奖 的 第 一 个 四 十 年 陈 怀 临 对 中 国 系 统 架 构 师 的 七 个 期 望 陈 怀 临 对 高 端 通 信 系 统 设 计 的 七 个 展 望 陈 怀 临 微 内 核 操 作 系 统 及 L4 概 述 杰 夫 微 内 核 与 弯 曲 评 论 论 文 集 ( 下 ) (TekTalk Lecture Notes) [ 谨 于 此 文 集 献 给 以 邓 稼 先 (1924/6/25/--1986/7/29)/ 等 为 代 表 的, 为 国 家 和 民 族 利 益 鞠 躬 尽 瘁 的 科 技 知 识 分 子 ] 弯 曲 评 论 编 辑 部 2012 年 6 月 25 日 目 录 ( 下 ) 计 算 的 美 丽 -- 图 灵

More information

Microsoft PowerPoint - CA_03 Chapter5 Part-II_multi _V1.ppt

Microsoft PowerPoint - CA_03 Chapter5 Part-II_multi _V1.ppt Chapter5-2 The Processor: Datapath and Control (Multi-cycle implementation) 臺大電機系 吳安宇教授 V1. 03/27/2007 For 2007 DSD Course 臺大電機吳安宇教授 - 計算機結構 1 Outline 5.1 Introduction 5.2 Logic Design Conventions 5.3

More information

投影片 1

投影片 1 2 理 1 2-1 CPU 2-2 CPU 理 2-3 CPU 類 2 什 CPU CPU Central Processing Unit ( 理 ), 理 (Processor), CPU 料 ( 例 ) 邏 ( 例 ),, 若 了 CPU, 3 什 CPU CPU 了, 行, 利 CPU 力 來 行 4 什 CPU 5 2-2-1 CPU CPU 了 (CU, Control Unit) / 邏

More information

Andes Technology PPT Temp

Andes Technology PPT Temp 晶心科技線上技術研討會 AndesCore 便捷的全 C 嵌入式编程 晶心科技市場及技術服務部毛礼杰軟件經理 WWW.ANDESTECH.COM 大纲 系统初始化介绍 异常和中断说明 全 C 语法例子说明 总结 2 CPU 相关特性 1: 中断向量表 系统初始化 (1) 2: 系统寄存器 通常需要用 assembly( 汇编 / 组合 ) 语言来操作 AndesCore 全 C 嵌入式编程 C 扩展语法

More information

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc References (Section 5.2) Hsuan-Tien Lin Deptartment of CSIE, NTU OOP Class, March 15-16, 2010 H.-T. Lin (NTU CSIE) References OOP 03/15-16/2010 0 / 22 Fun Time (1) What happens in memory? 1 i n t i ; 2

More information

第五章 重叠、流水和现代处理器技术

第五章 重叠、流水和现代处理器技术 2006 5 l t 1 t 2 t 3 t 4 I: add r1,r2,r3 J: sub r4,r1,r5 : (Hazard) : (Hazard) Instr 1 Instr 2 ( ) Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle 5 Cycle 6 Cycle 7 Load Ifetch ALU DMem Instr 1 Ifetch ALU DMem

More information

1 CPU

1 CPU 2000 Tel 82316285 82317634 Mail liuxd@buaa.edu.cn 1 CPU 2 CPU 7 72 A B 85 15 3 1/2 M301 2~17 : 3/4 1/2 323 IBM PC 1. 2. 3. 1. 2. 3. 1.1 Hardware Software 1.2 M3 M2 M1 1.2 M3 M1 M2 M2 M1 M1 M1 1.2 M3 M1

More information

untitled

untitled CPU!! 00-11-8 Liping zhang, Tsinghua 1 : ADD(r1, r, r) CMPLEC(r, 5, r0) MUL(r1, r, r) SUB(r1, r, r5) ADD r, ( ) r CMP. CMP r.. t t + 1 t + t + t + t + 5 t + 6 IF( ) ADD CMP MUL SUB RF NOP ADD CMP MUL SUB

More information

2/80 2

2/80 2 2/80 2 3/80 3 DSP2400 is a high performance Digital Signal Processor (DSP) designed and developed by author s laboratory. It is designed for multimedia and wireless application. To develop application

More information

入學考試網上報名指南

入學考試網上報名指南 入 學 考 試 網 上 報 名 指 南 On-line Application Guide for Admission Examination 16/01/2015 University of Macau Table of Contents Table of Contents... 1 A. 新 申 請 網 上 登 記 帳 戶 /Register for New Account... 2 B. 填

More information

Improved Preimage Attacks on AES-like Hash Functions: Applications to Whirlpool and Grøstl

Improved Preimage Attacks on AES-like Hash Functions: Applications to Whirlpool and Grøstl SKLOIS (Pseudo) Preimage Attack on Reduced-Round Grøstl Hash Function and Others Shuang Wu, Dengguo Feng, Wenling Wu, Jian Guo, Le Dong, Jian Zou March 20, 2012 Institute. of Software, Chinese Academy

More information

<4D F736F F D20B5DAC8FDCBC4D5C2D7F7D2B5B4F0B0B82E646F63>

<4D F736F F D20B5DAC8FDCBC4D5C2D7F7D2B5B4F0B0B82E646F63> 第三章 Q3 1 1. 省略了 I/O 操作的复杂逻辑, 易实现, 耗费低 ; 2. 可以利用丰富的内存寻址模式实现灵活的 I/O 操作 Q3 2 假设存储单元 ds1 处寄存器地址为 0x2000, 代码如下 #define ds1 0x2000 while ( *ds1 == 0 ) ; Q3 3 假设设备 (dev1) 中有两个寄存器 ds1 和 dd1,dev1 的地址为 0x1000,ds1

More information

A Preliminary Implementation of Linux Kernel Virus and Process Hiding

A Preliminary Implementation of Linux Kernel Virus and Process Hiding 邵 俊 儒 翁 健 吉 妍 年 月 日 学 号 学 号 学 号 摘 要 结 合 课 堂 知 识 我 们 设 计 了 一 个 内 核 病 毒 该 病 毒 同 时 具 有 木 马 的 自 动 性 的 隐 蔽 性 和 蠕 虫 的 感 染 能 力 该 病 毒 获 得 权 限 后 会 自 动 将 自 身 加 入 内 核 模 块 中 劫 持 的 系 统 调 用 并 通 过 简 单 的 方 法 实 现 自 身 的

More information

三維空間之機械手臂虛擬實境模擬

三維空間之機械手臂虛擬實境模擬 VRML Model of 3-D Robot Arm VRML Model of 3-D Robot Arm MATLAB VRML MATLAB Simulink i MATLAB Simulink V-Realm Build Joystick ii Abstract The major purpose of this thesis presents the procedure of VRML

More information

Microsoft PowerPoint - ch6 [相容模式]

Microsoft PowerPoint - ch6 [相容模式] UiBinder wzyang@asia.edu.tw UiBinder Java GWT UiBinder XML UI i18n (widget) 1 2 UiBinder HelloWidget.ui.xml: UI HelloWidgetBinder HelloWidget.java XML UI Owner class ( Composite ) UI XML UiBinder: Owner

More information

C/C++ - 文件IO

C/C++ - 文件IO C/C++ IO Table of contents 1. 2. 3. 4. 1 C ASCII ASCII ASCII 2 10000 00100111 00010000 31H, 30H, 30H, 30H, 30H 1, 0, 0, 0, 0 ASCII 3 4 5 UNIX ANSI C 5 FILE FILE 6 stdio.h typedef struct { int level ;

More information

Bus Hound 5

Bus Hound 5 Bus Hound 5.0 ( 1.0) 21IC 2007 7 BusHound perisoft PC hound Bus Hound 6.0 5.0 5.0 Bus Hound, IDE SCSI USB 1394 DVD Windows9X,WindowsMe,NT4.0,2000,2003,XP XP IRP Html ZIP SCSI sense USB Bus Hound 1 Bus

More information

Windows XP

Windows XP Windows XP What is Windows XP Windows is an Operating System An Operating System is the program that controls the hardware of your computer, and gives you an interface that allows you and other programs

More information

K301Q-D VRT中英文说明书141009

K301Q-D VRT中英文说明书141009 THE INSTALLING INSTRUCTION FOR CONCEALED TANK Important instuction:.. Please confirm the structure and shape before installing the toilet bowl. Meanwhile measure the exact size H between outfall and infall

More information

ch_code_infoaccess

ch_code_infoaccess 地 產 代 理 監 管 局 公 開 資 料 守 則 2014 年 5 月 目 錄 引 言 第 1 部 段 數 適 用 範 圍 1.1-1.2 監 管 局 部 門 1.1 紀 律 研 訊 1.2 提 供 資 料 1.3-1.6 按 慣 例 公 布 或 供 查 閱 的 資 料 1.3-1.4 應 要 求 提 供 的 資 料 1.5 法 定 義 務 及 限 制 1.6 程 序 1.7-1.19 公 開 資

More information

2 2 3 DLight CPU I/O DLight Oracle Solaris (DTrace) C/C++ Solaris DLight DTrace DLight DLight DLight C C++ Fortran CPU I/O DLight AM

2 2 3 DLight CPU I/O DLight Oracle Solaris (DTrace) C/C++ Solaris DLight DTrace DLight DLight DLight C C++ Fortran CPU I/O DLight AM Oracle Solaris Studio 12.2 DLight 2010 9 2 2 3 DLight 3 3 6 13 CPU 16 18 21 I/O DLight Oracle Solaris (DTrace) C/C++ Solaris DLight DTrace DLight DLight DLight C C++ Fortran CPU I/O DLight AMP Apache MySQL

More information

Computer Architecture

Computer Architecture ECE 3120 Computer Systems Assembly Programming Manjeera Jeedigunta http://blogs.cae.tntech.edu/msjeedigun21 Email: msjeedigun21@tntech.edu Tel: 931-372-6181, Prescott Hall 120 Prev: Basic computer concepts

More information

epub83-1

epub83-1 C++Builder 1 C + + B u i l d e r C + + B u i l d e r C + + B u i l d e r C + + B u i l d e r 1.1 1.1.1 1-1 1. 1-1 1 2. 1-1 2 A c c e s s P a r a d o x Visual FoxPro 3. / C / S 2 C + + B u i l d e r / C

More information

IP TCP/IP PC OS µclinux MPEG4 Blackfin DSP MPEG4 IP UDP Winsock I/O DirectShow Filter DirectShow MPEG4 µclinux TCP/IP IP COM, DirectShow I

IP TCP/IP PC OS µclinux MPEG4 Blackfin DSP MPEG4 IP UDP Winsock I/O DirectShow Filter DirectShow MPEG4 µclinux TCP/IP IP COM, DirectShow I 2004 5 IP TCP/IP PC OS µclinux MPEG4 Blackfin DSP MPEG4 IP UDP Winsock I/O DirectShow Filter DirectShow MPEG4 µclinux TCP/IP IP COM, DirectShow I Abstract The techniques of digital video processing, transferring

More information

<4D6963726F736F667420506F776572506F696E74202D20C8EDBCFEBCDCB9B9CAA6D1D0D0DEBDB2D7F92E707074>

<4D6963726F736F667420506F776572506F696E74202D20C8EDBCFEBCDCB9B9CAA6D1D0D0DEBDB2D7F92E707074> 软 件 架 构 师 研 修 讲 座 胡 协 刚 软 件 架 构 师 UML/RUP 专 家 szjinco@public.szptt.net.cn 中 国 软 件 架 构 师 网 东 软 培 训 中 心 小 故 事 : 七 人 分 粥 当 前 软 件 团 队 的 开 发 现 状 和 面 临 的 问 题 软 件 项 目 的 特 点 解 决 之 道 : 从 瀑 布 模 型 到 迭 代 模 型 解 决 项

More information

C/C++ - 函数

C/C++ - 函数 C/C++ Table of contents 1. 2. 3. & 4. 5. 1 2 3 # include # define SIZE 50 int main ( void ) { float list [ SIZE ]; readlist (list, SIZE ); sort (list, SIZE ); average (list, SIZE ); bargragh

More information

AL-M200 Series

AL-M200 Series NPD4754-00 TC ( ) Windows 7 1. [Start ( )] [Control Panel ()] [Network and Internet ( )] 2. [Network and Sharing Center ( )] 3. [Change adapter settings ( )] 4. 3 Windows XP 1. [Start ( )] [Control Panel

More information

1.ai

1.ai HDMI camera ARTRAY CO,. LTD Introduction Thank you for purchasing the ARTCAM HDMI camera series. This manual shows the direction how to use the viewer software. Please refer other instructions or contact

More information

Ác Åé å Serial ATA ( Sil3132) S A T A (1) SATA (2) BIOS SATA (3)* RAID BIOS RAID (4) SATA (5) SATA (a) S A T A ( S A T A R A I D ) (b) (c) Windows XP

Ác Åé å Serial ATA ( Sil3132) S A T A (1) SATA (2) BIOS SATA (3)* RAID BIOS RAID (4) SATA (5) SATA (a) S A T A ( S A T A R A I D ) (b) (c) Windows XP Serial ATA ( Sil3132)...2 (1) SATA... 2 (2) B I O S S A T A... 3 (3) RAID BIOS RAID... 6 (4) S A T A... 10 (5) S A T A... 12 Ác Åé å Serial ATA ( Sil3132) S A T A (1) SATA (2) BIOS SATA (3)* RAID BIOS

More information

untitled

untitled 51Testing Diana LI Xbox Xbox Live Fidelity Investments Office Server group Xbox Expedia Inc ( elong ) 1996 1996. bug break - 5Ws bug. Trust No One) QA Function Assignment Checking Timing Build/Package/Merge

More information

P4i45GL_GV-R50-CN.p65

P4i45GL_GV-R50-CN.p65 1 Main Advanced Security Power Boot Exit System Date System Time Floppy Drives IDE Devices BIOS Version Processor Type Processor Speed Cache Size Microcode Update Total Memory DDR1 DDR2 Dec 18 2003 Thu

More information

RAID RAID 0 RAID 1 RAID 5 RAID * ( -1)* ( /2)* No Yes Yes Yes A. B. BIOS SATA C. RAID BIOS RAID ( ) D. SATA RAID/AHCI ( ) SATA M.2 SSD ( )

RAID RAID 0 RAID 1 RAID 5 RAID * ( -1)* ( /2)* No Yes Yes Yes A. B. BIOS SATA C. RAID BIOS RAID ( ) D. SATA RAID/AHCI ( ) SATA M.2 SSD ( ) RAID RAID 0 RAID 1 RAID 5 RAID 10 2 2 3 4 * (-1)* (/2)* No Yes Yes Yes A. B. BIOS SATA C. RAID BIOS RAID ( ) D. SATA RAID/AHCI ( ) SATA M.2 SSD ( ) ( ) ( ) Windows USB 1 SATA A. SATASATAIntel SATA (SATA3

More information

Microsoft PowerPoint - C15_LECTURE_NOTE_11

Microsoft PowerPoint - C15_LECTURE_NOTE_11 INTERRUPT INTERFACE OF THE 8088 AND 8086 MICROPROCESSOR INTERRUPT INTERFACE OF THE 8088 AND 8086 MICROPROCESSOR 11.1 Interrupt Mechanism, Types and Priority 11.2 Interrupt Vector Table 11.3 Interrupt Instructions

More information

Microsoft Word - template.doc

Microsoft Word - template.doc HGC efax Service User Guide I. Getting Started Page 1 II. Fax Forward Page 2 4 III. Web Viewing Page 5 7 IV. General Management Page 8 12 V. Help Desk Page 13 VI. Logout Page 13 Page 0 I. Getting Started

More information

mvc

mvc Build an application Tutor : Michael Pan Application Source codes - - Frameworks Xib files - - Resources - ( ) info.plist - UIKit Framework UIApplication Event status bar, icon... delegation [UIApplication

More information

提纲 1 2 OS Examples for 3

提纲 1 2 OS Examples for 3 第 4 章 Threads2( 线程 2) 中国科学技术大学计算机学院 October 28, 2009 提纲 1 2 OS Examples for 3 Outline 1 2 OS Examples for 3 Windows XP Threads I An Windows XP application runs as a seperate process, and each process may

More information

Microsoft PowerPoint - Lecture7II.ppt

Microsoft PowerPoint - Lecture7II.ppt Lecture 8II SUDOKU PUZZLE SUDOKU New Play Check 軟體實作與計算實驗 1 4x4 Sudoku row column 3 2 } 4 } block 1 4 軟體實作與計算實驗 2 Sudoku Puzzle Numbers in the puzzle belong {1,2,3,4} Constraints Each column must contain

More information

(Guangzhou) AIT Co, Ltd V 110V [ ]! 2

(Guangzhou) AIT Co, Ltd V 110V [ ]! 2 (Guangzhou) AIT Co, Ltd 020-84106666 020-84106688 http://wwwlenxcn Xi III Zebra XI III 1 (Guangzhou) AIT Co, Ltd 020-84106666 020-84106688 http://wwwlenxcn 230V 110V [ ]! 2 (Guangzhou) AIT Co, Ltd 020-84106666

More information

<4D6963726F736F667420576F7264202D2032303130C4EAC0EDB9A4C0E04142BCB6D4C4B6C1C5D0B6CFC0FDCCE2BEABD1A15F325F2E646F63>

<4D6963726F736F667420576F7264202D2032303130C4EAC0EDB9A4C0E04142BCB6D4C4B6C1C5D0B6CFC0FDCCE2BEABD1A15F325F2E646F63> 2010 年 理 工 类 AB 级 阅 读 判 断 例 题 精 选 (2) Computer mouse How does the mouse work? We have to start at the bottom, so think upside down for now. It all starts with mouse ball. As the mouse ball in the bottom

More information

BC04 Module_antenna__ doc

BC04 Module_antenna__ doc http://www.infobluetooth.com TEL:+86-23-68798999 Fax: +86-23-68889515 Page 1 of 10 http://www.infobluetooth.com TEL:+86-23-68798999 Fax: +86-23-68889515 Page 2 of 10 http://www.infobluetooth.com TEL:+86-23-68798999

More information

JAIST Reposi Title ページアドレス予測による TBL プリローディングの研究 Author(s) 請園, 智玲 Citation Issue Date Type Thesis or Dissertation Text version

JAIST Reposi   Title ページアドレス予測による TBL プリローディングの研究 Author(s) 請園, 智玲 Citation Issue Date Type Thesis or Dissertation Text version JAIST Reposi https://dspace.j Title ページアドレス予測による TBL プリローディングの研究 Author(s) 請園, 智玲 Citation Issue Date 2003-03 Type Thesis or Dissertation Text version author URL http://hdl.handle.net/10119/1700 Rights

More information

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP: ******************* * 关于 Java 测试试题 ******

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP:  ******************* * 关于 Java 测试试题 ****** ******************* * 关于 Java 测试试题 ******************* 問 1 运行下面的程序, 选出一个正确的运行结果 public class Sample { public static void main(string[] args) { int[] test = { 1, 2, 3, 4, 5 ; for(int i = 1 ; i System.out.print(test[i]);

More information

WWW PHP

WWW PHP WWW PHP 2003 1 2 function function_name (parameter 1, parameter 2, parameter n ) statement list function_name sin, Sin, SIN parameter 1, parameter 2, parameter n 0 1 1 PHP HTML 3 function strcat ($left,

More information

PTS7_Manual.PDF

PTS7_Manual.PDF User Manual Soliton Technologies CO., LTD www.soliton.com.tw - PCI V2.2. - PCI 32-bit / 33MHz * 2 - Zero Skew CLK Signal Generator. - (each Slot). -. - PCI. - Hot-Swap - DOS, Windows 98/2000/XP, Linux

More information

P4V88+_BIOS_CN.p65

P4V88+_BIOS_CN.p65 1 Main H/W Monitor Boot Security Exit System Overview System Time System Date [ 17:00:09] [Wed 12/22/2004] BIOS Version : P4V88+ BIOS P1.00 Processor Type : Intel (R) Pentium (R) 4 CPU 2.40 GHz Processor

More information

Microsoft Word doc

Microsoft Word doc 中 考 英 语 科 考 试 标 准 及 试 卷 结 构 技 术 指 标 构 想 1 王 后 雄 童 祥 林 ( 华 中 师 范 大 学 考 试 研 究 院, 武 汉,430079, 湖 北 ) 提 要 : 本 文 从 结 构 模 式 内 容 要 素 能 力 要 素 题 型 要 素 难 度 要 素 分 数 要 素 时 限 要 素 等 方 面 细 致 分 析 了 中 考 英 语 科 试 卷 结 构 的

More information

(Load Project) (Save Project) (OffLine Mode) (Help) Intel Hex Motor

(Load Project) (Save Project) (OffLine Mode) (Help) Intel Hex Motor 1 4.1.1.1 (Load) 14 1.1 1 4.1.1.2 (Save) 14 1.1.1 1 4.1.2 (Buffer) 16 1.1.2 1 4.1.3 (Device) 16 1.1.3 1 4.1.3.1 (Select Device) 16 2 4.1.3.2 (Device Info) 16 2.1 2 4.1.3.3 (Adapter) 17 2.1.1 CD-ROM 2 4.1.4

More information

Microsoft Word - HSK使用手册.doc

Microsoft Word - HSK使用手册.doc HSK / New HSK Online Mock Test/Practices Student User Manual Table of contents New User... 2 1.1 Register... 2 1.2 Login... 3 1.3 Homepage... 4 Free Test... 4 2.1 Start... 5 2.2 Results... 6 Mock Test...

More information

Panaboard Overlayer help

Panaboard Overlayer help Panaboard Overlayer Image Capture Software for Electronic Whiteboard (Panaboard) ... 3... 5... 6... 13...14 Panaboard Overlayer 1. 2. 3. 4. 4-1. 4-2. [ / ] ( ) 4-3. 5. 6. 6-1. 6-2. [ / ] ( ) 7. Panaboard

More information

Chapter #

Chapter # 第三章 TCP/IP 协议栈 本章目标 通过本章的学习, 您应该掌握以下内容 : 掌握 TCP/IP 分层模型 掌握 IP 协议原理 理解 OSI 和 TCP/IP 模型的区别和联系 TCP/IP 介绍 主机 主机 Internet TCP/IP 早期的协议族 全球范围 TCP/IP 协议栈 7 6 5 4 3 应用层表示层会话层传输层网络层 应用层 主机到主机层 Internet 层 2 1 数据链路层

More information

(i) (ii) (iii) (i) (ii) (iii) (iv) 1. 2

(i) (ii) (iii) (i) (ii) (iii) (iv) 1. 2 696 14A.35(1) 14A 1 (i) (ii) (iii) (i) (ii) (iii) (iv) 1. 2 14A.35(1) 14A.35(1) 14A.35(1) 14A.35(1) 2. 2.1 A. 3 (i) (ii) (iii) (iv) (1) (i)(ii) 4.5 6.5 6.5 7 (2) (iii) (a) 74 (b) 500 4 (3) (iv) PID PID

More information

IP505SM_manual_cn.doc

IP505SM_manual_cn.doc IP505SM 1 Introduction 1...4...4...4...5 LAN...5...5...6...6...7 LED...7...7 2...9...9...9 3...11...11...12...12...12...14...18 LAN...19 DHCP...20...21 4 PC...22...22 Windows...22 TCP/IP -...22 TCP/IP

More information

Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provided by SUNPLUS TECHNOLO

Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provided by SUNPLUS TECHNOLO Car DVD New GUI IR Flow User Manual V0.1 Jan 25, 2008 19, Innovation First Road Science Park Hsin-Chu Taiwan 300 R.O.C. Tel: 886-3-578-6005 Fax: 886-3-578-4418 Web: www.sunplus.com Important Notice SUNPLUS

More information

CANVIO_AEROCAST_CS_EN.indd

CANVIO_AEROCAST_CS_EN.indd 简 体 中 文...2 English...4 SC5151-A0 简 体 中 文 步 骤 2: 了 解 您 的 CANVIO AeroCast CANVIO AeroCast 无 线 移 动 硬 盘 快 速 入 门 指 南 欢 迎 并 感 谢 您 选 择 TOSHIBA 产 品 有 关 您 的 TOSHIBA 产 品 的 详 情, 请 参 阅 包 含 更 多 信 息 的 用 户 手 册 () 安

More information

逢 甲 大 學

逢 甲 大 學 Ultrasound radar system - i - - ii - The ultrasound radar system is on the basis of the Doppler Effect. In the incessant acoustic wave actuator, emitting to object. Some acoustic wave which impacted the

More information

Chn 116 Neh.d.01.nis

Chn 116 Neh.d.01.nis 31 尼 希 米 书 尼 希 米 的 祷 告 以 下 是 哈 迦 利 亚 的 儿 子 尼 希 米 所 1 说 的 话 亚 达 薛 西 王 朝 二 十 年 基 斯 流 月 *, 我 住 在 京 城 书 珊 城 里 2 我 的 兄 弟 哈 拿 尼 和 其 他 一 些 人 从 犹 大 来 到 书 珊 城 我 向 他 们 打 听 那 些 劫 后 幸 存 的 犹 太 人 家 族 和 耶 路 撒 冷 的 情 形

More information

C++ 程式設計

C++ 程式設計 C C 料, 數, - 列 串 理 列 main 數串列 什 pointer) 數, 數, 數 數 省 不 不, 數 (1) 數, 不 數 * 料 * 數 int *int_ptr; char *ch_ptr; float *float_ptr; double *double_ptr; 數 (2) int i=3; int *ptr; ptr=&i; 1000 1012 ptr 數, 數 1004

More information

穨control.PDF

穨control.PDF TCP congestion control yhmiu Outline Congestion control algorithms Purpose of RFC2581 Purpose of RFC2582 TCP SS-DR 1998 TCP Extensions RFC1072 1988 SACK RFC2018 1996 FACK 1996 Rate-Halving 1997 OldTahoe

More information

ebook140-8

ebook140-8 8 Microsoft VPN Windows NT 4 V P N Windows 98 Client 7 Vintage Air V P N 7 Wi n d o w s NT V P N 7 VPN ( ) 7 Novell NetWare VPN 8.1 PPTP NT4 VPN Q 154091 M i c r o s o f t Windows NT RAS [ ] Windows NT4

More information

热设计网

热设计网 例 例 Agenda Popular Simulation software in PC industry * CFD software -- Flotherm * Advantage of Flotherm Flotherm apply to Cooler design * How to build up the model * Optimal parameter in cooler design

More information

Chapter 24 DC Battery Sizing

Chapter 24  DC Battery Sizing 26 (Battery Sizing & Discharge Analysis) - 1. 2. 3. ETAP PowerStation IEEE 485 26-1 ETAP PowerStation 4.7 IEEE 485 ETAP PowerStation 26-2 ETAP PowerStation 4.7 26.1 (Study Toolbar) / (Run Battery Sizing

More information

南華大學數位論文

南華大學數位論文 1 Key word I II III IV V VI 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

More information

小儿疾病防治(四).doc

小儿疾病防治(四).doc ...1...3...6...10...12...13...14...15...17...20...21...22...23...23...24...25 B...28...31...32 I ...33...35...37...40...41...43 X...44...45...47...49...50...52...52...54...56...57...59...61...62...62...63...66

More information

Microsoft PowerPoint - AWOL - Acrobat Windows Outlook.ppt [Compatibility Mode]

Microsoft PowerPoint - AWOL - Acrobat Windows Outlook.ppt [Compatibility Mode] AWOL Windows - Tips & Tricks Resolution, color depth & refresh rate Background color Service packs Disk cleanup (cleanmgr) Disk defragmentation AWOL Windows Resolution, Color Depth & Refresh Rate The main

More information

马太亨利完整圣经注释—雅歌

马太亨利完整圣经注释—雅歌 第 1 页 目 录 雅 歌 简 介... 2 雅 歌 第 一 章... 2 雅 歌 第 二 章... 10 雅 歌 第 三 章... 16 雅 歌 第 四 章... 20 雅 歌 第 五 章... 25 雅 歌 第 六 章... 32 雅 歌 第 七 章... 36 雅 歌 第 八 章... 39 第 2 页 雅 歌 简 介 我 们 坚 信 圣 经 都 是 神 所 默 示 的 ( 提 摩 太 后 书

More information

二零零六年一月二十三日會議

二零零六年一月二十三日會議 附 件 B 有 关 政 策 局 推 行 或 正 在 策 划 的 纾 缓 及 预 防 贫 穷 措 施 下 文 载 述 有 关 政 策 局 / 部 门 为 加 强 纾 缓 及 预 防 贫 穷 的 工 作, 以 及 为 配 合 委 员 会 工 作, 在 过 去 十 一 个 月 公 布 及 正 在 策 划 的 新 政 策 和 措 施 生 福 利 及 食 物 局 (i) 综 合 儿 童 发 展 服 务 2.

More information

厨房小知识(四)

厨房小知识(四) I...1...2...3...4...4...5...6...6...7...9...10... 11...12...12...13...14...15...16...17...18...18...19...22...22 II...23...24...25...26...27...27...28...29...29...30...31...31?...32...32...33?...33...34...34...35...36...36...37...37...38...38...40

More information

妇女更年期保健.doc

妇女更年期保健.doc ...1...2...3...5...6...7 40...8... 11...13...14...16...17...19...20...21...26...29...30...32 I ...34...35...37...41...46...50...51...52...53...54...55...58...64...65 X...67...68...70...70...74...76...78...79

More information

小儿传染病防治(上)

小儿传染病防治(上) ...1...2...3...5...7...7...9... 11...13...14...15...16...32...34...34...36...37...39 I ...39...40...41...42...43...48...50...54...56...57...59...59...60...61...63...65...66...66...68...68...70...70 II

More information

<4D6963726F736F667420576F7264202D2031303430333234B875B9B5A448ADFBBADEB27AA740B77EA4E2A5555FA95EAED6A641ADD75F2E646F63>

<4D6963726F736F667420576F7264202D2031303430333234B875B9B5A448ADFBBADEB27AA740B77EA4E2A5555FA95EAED6A641ADD75F2E646F63> 聘 僱 人 員 管 理 作 業 參 考 手 冊 行 政 院 人 事 行 政 總 處 編 印 中 華 民 國 104 年 3 月 序 人 事 是 政 通 人 和 的 關 鍵 是 百 事 俱 興 的 基 礎, 也 是 追 求 卓 越 的 張 本 唯 有 人 事 健 全, 業 務 才 能 順 利 推 動, 政 府 施 政 自 然 績 效 斐 然 本 總 處 做 為 行 政 院 人 事 政 策 幕 僚 機

More information

女性青春期保健(下).doc

女性青春期保健(下).doc ...1...4...10... 11...13...14...15...17...18...19...20...21...22...23...24...26...27...30...31 I ...32...33...36...37...38...40...41...43...44...45...46...47...50...51...51...53...54...55...56...58...59

More information

避孕知识(下).doc

避孕知识(下).doc ...1...3...6...13...13...14...15...16...17...17...18...19...19...20...20...23...24...24...25 I ...25...26...26...27...28...28...29...30...30...31...32...34...35 11...36...37...38...40...42...43...44...44...46

More information

孕妇饮食调养(下).doc

孕妇饮食调养(下).doc ...1...2...5...9 7...9...14...15...16...18...22...23...24...25...27...29...31...32...34 I ...35...36...37...39...40...40...42...44...46...48...51...52...53...53...54...55...56...56...58...61...64 II ...65...66...67...68...69...70...71...72...73...74...75...76...77...80...83...85...87...88

More information

禽畜饲料配制技术(一).doc

禽畜饲料配制技术(一).doc ( ) ...1...1...4...5...6...7...8...9...10... 11...13...14...17...18...21...23...24...26 I ...28 70...30...33...35...36...37...39...40...41...49...50...52...53...54...56...58...59...60...67...68...70...71

More information

中老年保健必读(十一).doc

中老年保健必读(十一).doc ...1...2...4...6...8...9...10...12...14...15...17...18...20...22...23...25...27...29 I ...30...32...35...38...40...42...43...45...46...48...52...55...56...59...62...63...66...67...69...71...74 II ...76...78...79...81...84...86...87...88...89...90...91...93...96...99...

More information

i

i i ii iii iv v vi 1 2 3 4 5 (b) (a) (b) (c) = 100% (a) 6 7 (b) (a) (b) (c) = 100% (a) 2 456 329 13% 12 120 7.1 0.06% 8 9 10 11 12 13 14 15 16 17 18 19 20 (a) (b) (c) 21 22 23 24 25 26 27 28 29 30 31 =

More information

怎样使孩子更加聪明健康(七).doc

怎样使孩子更加聪明健康(七).doc ...1...2...2...4...5 7 8...6...7...9 1 3... 11...12...14...15...16...17...18...19...20...21...22 I II...23...24...26 1 3...27...29...31...31...33...33...35...35...37...39...41...43...44...45 3 4...47...48...49...51...52

More information

i

i i ii iii iv v vi 1 g j 2 3 4 ==== ==== ==== 5 ==== ======= 6 ==== ======= 7 ==== ==== ==== 8 [(d) = (a) (b)] [(e) = (c) (b)] 9 ===== ===== ===== ===== ===== ===== 10 11 12 13 14 15 16 17 ===== [ ] 18 19

More information

一个开放源码的嵌入式仿真环境 ― SkyEye

一个开放源码的嵌入式仿真环境 ― SkyEye SkyEye SkyEye http://hpclab.cs.tsinghua.edu.cn/~skyeye/ I hear and I forget, I see and I remember, I do and I understand. SkyEye SkyEye SkyEye SkyEye SkyEye 1. SkyEye PC pervasive computing PC I O PDA

More information

提纲. 1 实验准备. 2 从实模式进入保护模式. 3 小结 陈香兰 ( 中国科学技术大学计算机学院 ) 软件综合实验之操作系统 July 1, / 11

提纲. 1 实验准备. 2 从实模式进入保护模式. 3 小结 陈香兰 ( 中国科学技术大学计算机学院 ) 软件综合实验之操作系统 July 1, / 11 .. 软件综合实验之操作系统 进入保护模式 陈香兰 中国科学技术大学计算机学院 July 1, 2016 陈香兰 ( 中国科学技术大学计算机学院 ) 软件综合实验之操作系统 July 1, 2016 1 / 11 提纲. 1 实验准备. 2 从实模式进入保护模式. 3 小结 陈香兰 ( 中国科学技术大学计算机学院 ) 软件综合实验之操作系统 July 1, 2016 2 / 11 实验准备 实验环境准备

More information

ebook140-9

ebook140-9 9 VPN VPN Novell BorderManager Windows NT PPTP V P N L A V P N V N P I n t e r n e t V P N 9.1 V P N Windows 98 Windows PPTP VPN Novell BorderManager T M I P s e c Wi n d o w s I n t e r n e t I S P I

More information

int *p int a 0x00C7 0x00C7 0x00C int I[2], *pi = &I[0]; pi++; char C[2], *pc = &C[0]; pc++; float F[2], *pf = &F[0]; pf++;

int *p int a 0x00C7 0x00C7 0x00C int I[2], *pi = &I[0]; pi++; char C[2], *pc = &C[0]; pc++; float F[2], *pf = &F[0]; pf++; Memory & Pointer trio@seu.edu.cn 2.1 2.1.1 1 int *p int a 0x00C7 0x00C7 0x00C7 2.1.2 2 int I[2], *pi = &I[0]; pi++; char C[2], *pc = &C[0]; pc++; float F[2], *pf = &F[0]; pf++; 2.1.3 1. 2. 3. 3 int A,

More information

P4VM800_BIOS_CN.p65

P4VM800_BIOS_CN.p65 1 Main H/W Monitor Boot Security Exit System Overview System Time System Date [ 17:00:09] [Fri 02/25/2005] BIOS Version : P4VM800 BIOS P1.00 Processor Type : Intel (R) Pentium (R) 4 CPU 2.40 GHz Processor

More information

WebSphere Studio Application Developer IBM Portal Toolkit... 2/21 1. WebSphere Portal Portal WebSphere Application Server stopserver.bat -configfile..

WebSphere Studio Application Developer IBM Portal Toolkit... 2/21 1. WebSphere Portal Portal WebSphere Application Server stopserver.bat -configfile.. WebSphere Studio Application Developer IBM Portal Toolkit... 1/21 WebSphere Studio Application Developer IBM Portal Toolkit Portlet Doug Phillips (dougep@us.ibm.com),, IBM Developer Technical Support Center

More information

2-7.FIT)

2-7.FIT) 文 化 园 地 8 2009 年 8 月 18 日 星 期 二 E-mail:liuliyuan@qunlitimes.com 群 立 文 化 感 受 今 天 你 开 心 了 吗? 周 传 喜 群 雄 争 立 竞 争 意 识 ; 傲 立 群 雄 奋 斗 目 标, 这 几 句 话 一 直 是 群 立 的 文 化 和 方 针, 也 同 样 是 我 很 喜 欢 的 座 右 铭 我 想 这 几 句 话 生

More information

Oracle 4

Oracle 4 Oracle 4 01 04 Oracle 07 Oracle Oracle Instance Oracle Instance Oracle Instance Oracle Database Oracle Database Instance Parameter File Pfile Instance Instance Instance Instance Oracle Instance System

More information

The Development of Color Constancy and Calibration System

The Development of Color Constancy and Calibration System The Development of Color Constancy and Calibration System The Development of Color Constancy and Calibration System LabVIEW CCD BMP ii Abstract The modern technologies develop more and more faster, and

More information

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double

More information

東吳大學

東吳大學 律 律 論 論 療 行 The Study on Medical Practice and Coercion 林 年 律 律 論 論 療 行 The Study on Medical Practice and Coercion 林 年 i 讀 臨 療 留 館 讀 臨 律 六 礪 讀 不 冷 療 臨 年 裡 歷 練 禮 更 老 林 了 更 臨 不 吝 麗 老 劉 老 論 諸 見 了 年 金 歷 了 年

More information

Microsoft PowerPoint - C15_LECTURE_NOTE_04.ppt

Microsoft PowerPoint - C15_LECTURE_NOTE_04.ppt MACHINE LANGUAGE CODING AND THE DEBUG SOFTWARE DEVELOPMENT PROGRAM OF THE PC General instruction format for machine code 611 37100 微處理機原理與應用 Lecture 04-4 MACHINE LANGUAGE CODING AND THE DEBUG SOFTWARE

More information

P4Dual-915GL_BIOS_CN.p65

P4Dual-915GL_BIOS_CN.p65 1 Main H/W Monitor Boot Security Exit System Overview System Time System Date Total Memory DIMM 1 DIMM 2 [ 14:00:09] [Wed 01/05/2005] BIOS Version : P4Dual-915GL BIOS P1.00 Processor Type : Intel (R) Pentium

More information

目录

目录 ALTERA_CPLD... 3 11SY_03091... 3 12SY_03091...4....5 21 5 22...8 23..10 24..12 25..13..17 3 1EPM7128SLC.......17 3 2EPM7032SLC.......18 33HT46R47......19..20 41..20 42. 43..26..27 5151DEMO I/O...27 52A/D89C51...28

More information

untitled

untitled Co-integration and VECM Yi-Nung Yang CYCU, Taiwan May, 2012 不 列 1 Learning objectives Integrated variables Co-integration Vector Error correction model (VECM) Engle-Granger 2-step co-integration test Johansen

More information

A dissertation for Master s degree Metro Indoor Coverage Systems Analysis And Design Author s Name: Sheng Hailiang speciality: Supervisor:Prof.Li Hui,

A dissertation for Master s degree Metro Indoor Coverage Systems Analysis And Design Author s Name: Sheng Hailiang speciality: Supervisor:Prof.Li Hui, 中 国 科 学 技 术 大 学 工 程 硕 士 学 位 论 文 地 铁 内 移 动 通 信 室 内 覆 盖 分 析 及 应 用 作 者 姓 名 : 学 科 专 业 : 盛 海 亮 电 子 与 通 信 导 师 姓 名 : 李 辉 副 教 授 赵 红 媛 高 工 完 成 时 间 : 二 八 年 三 月 十 日 University of Science and Technology of Ch A dissertation

More information

C/C++语言 - 运算符、表达式和语句

C/C++语言 - 运算符、表达式和语句 C/C++ Table of contents 1. 2. 3. 4. C C++ 5. 6. 7. 1 i // shoe1.c: # include # define ADJUST 7. 64 # define SCALE 0. 325 int main ( void ) { double shoe, foot ; shoe = 9. 0; foot = SCALE * shoe

More information

科学计算的语言-FORTRAN95

科学计算的语言-FORTRAN95 科 学 计 算 的 语 言 -FORTRAN95 目 录 第 一 篇 闲 话 第 1 章 目 的 是 计 算 第 2 章 FORTRAN95 如 何 描 述 计 算 第 3 章 FORTRAN 的 编 译 系 统 第 二 篇 计 算 的 叙 述 第 4 章 FORTRAN95 语 言 的 形 貌 第 5 章 准 备 数 据 第 6 章 构 造 数 据 第 7 章 声 明 数 据 第 8 章 构 造

More information

Lorem ipsum dolor sit amet, consectetuer adipiscing elit

Lorem ipsum dolor sit amet, consectetuer adipiscing elit English for Study in Australia 留 学 澳 洲 英 语 讲 座 Lesson 3: Make yourself at home 第 三 课 : 宾 至 如 归 L1 Male: 各 位 朋 友 好, 欢 迎 您 收 听 留 学 澳 洲 英 语 讲 座 节 目, 我 是 澳 大 利 亚 澳 洲 广 播 电 台 的 节 目 主 持 人 陈 昊 L1 Female: 各 位

More information

PowerPoint Presentation

PowerPoint Presentation TOEFL Practice Online User Guide Revised September 2009 In This Guide General Tips for Using TOEFL Practice Online Directions for New Users Directions for Returning Users 2 General Tips To use TOEFL Practice

More information

C/C++ - 字符输入输出和字符确认

C/C++ - 字符输入输出和字符确认 C/C++ Table of contents 1. 2. getchar() putchar() 3. (Buffer) 4. 5. 6. 7. 8. 1 2 3 1 // pseudo code 2 read a character 3 while there is more input 4 increment character count 5 if a line has been read,

More information