计算机系统抽象层次
6 | 用户 | 可执行程序 |
5 | 高级语言 | C++ Java |
4 | 汇编语言 | 汇编代码 |
3 | 系统软件 | 操作系统 /库代码 |
2 | 机器 | 指令集架构(ISA) |
1 | 控制(控制怎么执行) | 微代码 /硬连线 |
0 | 数字逻辑(执行) | 电路、门等 |
Language Processor: 语言处理器
语言处理器的两个阶段:
- 分析源程序
- 合成目标程序
-
Compilers(编译器), interpreters(解释器) translate programs written in high-level languages into machine code that a computer understands.
-
Assemblers translate programs written in low-level or assembly language into machine code
Assembly language is machine-dependent, 用于表示其中指令的助记符并不能被机器直接理解
High-Level language is machine-independent.
机器语言是计算机能够直接理解和执行的最低级别的编程语言,它由二进制数字(0 和 1)组成。这些二进制代码直接对应计算机的硬件指令
语言处理器 | 语言 | 特点 |
---|---|---|
编译器 | C, C++,C# | reads the complete source program written in high-level language as a whole in one go and translates it into an equivalent program in machine language |
object program can be executed number of times without translating it again | ||
生成中间代码;报错要扫描整个文件,调试慢 | ||
汇编程序 | / | / |
解释器 | Python | the translation of a single statement of the source program into machine code is done by a language processor and executes immediately before moving on to the next line |
不生成中间代码;调试更快 | ||
CPU架构,指令集和汇编语言
-
CPU架构包括:指令集架构、流水线设计、缓存层次结构等方面
-
汇编语言用人类看得懂的话描述指令集
-
CPU架构(硬件电路)实现指令集所规定的操作运算
常见的CPU架构:x86, ARM, MIPS
x86架构:最常见的桌面和服务器CPU架构,由Intel和AMD等公司生产。
x86架构是一种基于CISC(复杂指令集计算机),最初用于英特尔公司的微处理器。它是一种广泛应用于个人计算机和服务器领域的架构。x86架构支持32位和64位操作模式,提供了丰富的指令集和广泛的软件支持。
ARM架构:主要用于移动设备和嵌入式系统,如智能手机、平板电脑和物联网设备。
ARM架构是一种基于RISC(精简指令集计算机)原则的处理器架构,广泛应用于移动设备、嵌入式系统和消费类电子产品中。它的特点包括低功耗、高性能和灵活性,适合于对功耗和体积有严格要求的设备。ARM架构的特点还包括可扩展性和可移植性,使其成为许多设备制造商和开发者的首选。
MIPS架构:用于嵌入式系统和网络设备。 MIPS(Microprocessor without Interlocked Pipeline Stages)是一种精简指令集(RISC)架构,MIPS架构被广泛应用于嵌入式系统、网络设备、数字信号处理器和其他领域。
计算机组成的三部分
- 解释和执行程序的处理器
- 存储数据和程序的存储器
- 与外部传输数据的机制
冯·诺依曼架构
中央处理单元(控制单元+算数逻辑单元+寄存器)+ 主存储系统 + I/O系统
冯·诺依曼瓶颈:主存储系统和控制单元之间的单一路径
冯·诺依曼执行周期:取指 - 译码 - 执行
- 控制单元从存储器中取出下一条指令(确定指令位置:程序计数器)
- 控制单元将指令解码为ALU能理解的语言(指令是什么语言,ALU能理解的语言是什么语言)
- 控制单元从存储器中取出执行这条指令所需的任何操作数,放到寄存器中(读取数的策略)
- ALU执行指令并把结果放到寄存器或存储器中
修改后的冯诺依曼模型使用系统总线实现指令和数据的传输
计算机配置
Intel i7 四核, 3.9GHz // 每秒钟处理的周期数,频率越高,每秒钟执行的指令越多
1600MHz 32GB DDR3 SDRAM
128KB L1高速缓存, 2MB L2高速缓存 // cache -- RAM -- Disk
1TB SATA硬盘驱动器(72oor/min) // 转速toRAM,一般来说硬盘转得越快,向RAM中传data越快(其它因素)
// SATA: 串行高级技术附件
常见单位:
单位 | 处理器speed(time) | 存储器capacity(space) |
---|---|---|
K(千) | 103 | 210 |
M(兆) | 106 | 220 |
G(吉) | 109 | 230 |
T(太) | 1012 | 240 |