🌐http://www.why.ink:8080/ICS/2023/Main_PagePA软件测试:编写测试用例VScode里配置PA直接用命令行做PA系统数据的机器级表示与处理程序的转换及机器级表示程序的链接 程序的执行层次结构存储系统异常控制流I/O 操作的实现冯·诺依曼结构ALU 运算操作加(add)、减(sub)、与(and)、或(or)、传送(mov)未定义行为(undefined behavior)未确定行为(unspecified behavior)用程序二进制接口(Application Binary Interface,简称(ABI)应用程序编程接口(Application Programming Interface,简称 API)IA-32/x86-6System V ABI性能评价用户最终用户(end user)系统管理员(system administrator应用程序员(application programme系统程序员(system programmer)吞吐率(throughput)响应时间(response time)带宽(bandwidth)执行时间(execution time)等待时间(latencyCPU时间用户CPU时间系统CPU时间其他时间等待I/O操作完成的时间执行其他用户程序的时间主频:CPU中主脉冲信号的时钟频率(clock rate)=CPU时钟周期的倒数CPI(Cycles Per Instruction)用户CPU时间=程序总时钟周期数÷时钟频率=程序总时钟周期数×时钟周期时钟周期阿姆达尔定律(Amdahl Law)概论数据类型数据结构无符号整数类型(unsigned int带符号整数类型(int)单精度浮点数类型(float)数组(array)结构(struct)进位计数制、基本运算及其运算电路二进制定点数的编码表示无符号整数和带符号整数的表示IEEE754浮点数表示标准西文字符和汉字的编码表示C语言中各种类型数据的表示和转换数据的宽度和存放顺序二进制编码的十进制数(Binary Coded Decimal Number,简称BCD)表表示(Representation)转换(Translation)执行控制流(Control flow)并发异常I/O操作的执行控制流(用户态→内核态)链接(Link)PART II缓存MIPSARMISA指令集体系结构(Instruction Set Architecture)指令寄存器寻址方式安全漏洞高性能补码4294967295 = –1 = 0xffffffff = 1111...1111B2147483648 = –2147483648 = -2^31 = 1000...0000B = 0x80000000 = - 0111...1111B+1IEEE 754system callexecve("./a.out", ["./a.out"], 0x7ffd48f06320 /*40 vars */) = 0brk(NULL) = 0x5588f316d000mmap(NULL, 8192, PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =0x7f1947cd2000arch_prctl(0x3001 /* ARCH_??? */, 0x7ffdd0a950b0)= -1 EINVAL (Invalid argument)access("/etc/ld.so.preload", R_OK) = -1 ENOENT(No such file or directory)Little endian: GIF, PC Paintbrush, Microsoft RTF,etcBig endian: Adobe Photoshop, JPEG, MacPaint, etc“&”实现“掩码”操作:y & 0xFF00逻辑/算术移位https://nju-projectn.github.io/ics-pa-gitbook/ics2023/