计算机系统基础 重难点记录
-
程序执行结果
不仅取决于 算法、程序编写
而且取决于 语言处理系统 操作系统 ISA 微体系结构
- Ld M#,R# (将存储单元内容装入寄存器)
St R#,M# (将寄存器内容装入存储单元)(store也就是将数据存到存储单元,即存储器中) - CPU:中央处理器;PC:程序计数器;MAR:存储器地址寄存器
ALU:算术逻辑部件;IR:指令寄存器;MDR:存储器数据寄存器
GPRs:通用寄存器组(由若干通用寄存器组成,早期就是累加器)
现代计算机结构模型
- 现在,几乎所有程序员都用高级语言编程,但最终要将高级语言转换为机器语言程序
有两种转换方式:“编译”和“解释”
• 编译程序(Complier):将高级语言源程序转换为机器级目标程序,执行时只要启动目标程序即可
• 解释程序(Interpreter ):将高级语言语句逐条翻译成机器指令并立即执行,不生成目标文件。
- 将汇编语言源程序转换为机器语言目标程序的程序称为汇编语言程序(X)
将汇编语言源程序转换为机器语言目标程序的程序称为汇编程序(√)
- 最重要的系统软件是操作系统和语言处理系统
语言处理系统运行在操作系统之上,操作系统利用指令管理硬件
- 定点数的编码(解决正负号问题)
- 后缀“B”表示二进制数,如
01011010B - 八进制:Octal (用后缀“O”表示)
十六进制:Hexadecimal (用后缀“H”,或前缀“0x”表示) - 实际上,记住1、2、4、8、16、32、64、128、256、512、1024、2048、
4096、8192、16384、32768、65536,…..就可简单进行整数部分的转换
记住0.5、0.25、0.125、0.0625、…… 就可简单进行小数部分的转换
2147483648=2 31
- 定点数的编码(解决正负号问题)
–原码、补码、移码(????移码主要是为了对阶进行比较而引入的)、反码 (很少用)
- 结论1: 一个负数的补码等于将对应正数补码
各位取反、末位加一 - 在32位机器中,一个int型变量的值为-1,则机器数为?
正确答案:1111 1111 1111 1111 1111 1111 1111 1111
01是机器数。真值是真正的值。
- 2(31)的无符号数表示为“100…0” (懂了,后面接31个零)被解释为32位带符号整数
时(加上符号位,然后各位取反加1),其值为最小负数:–2 32-1 = –2 31 = –2 147 483 648。