深入理解计算机系统学习笔记(一)概述
来源:互联网 发布:格林第七场数据 编辑:程序博客网 时间:2024/04/29 16:09
计算机系统由硬件和系统软件构成,一个程序的运行离不开软硬件的协作。先来简要的介绍一下计算机系统的硬件组成。虽然一些高级编程语言编写的程序与硬件无关,但程序终究是要控制硬件来执行,所有的高级语言源程序都会被编译为机器指令而后由硬件来执行,。
一、计算机系统的硬件组成
1、CPU:CPU是中央处理单元的简称。它负责解释执行存储在主存储器中的指令。CPU的核心部分为算术逻辑单元ALU、程序计数器PC和一些寄存器。其中,PC本身是一个字长的存储设备,它时时刻刻的只想主存中的某条机器语言指令。从系统上电以后,处理器从程序计数器PC指向的存储器读取指令,解释指令中的位,然后更新PC,使其指向下一条指令,具体的顺序由指令集结构所决定。
2、总线:总线实际上就是一组电子管道,它负责计算机系统各部件之间字节信息的传递。通常总线传输一些定长的字节块,这个定长的字节块也就是字(word)的概念。一个字包含的字节数即为这个系统的字长。我们说32位的计算机的字长为4个字节,64位的计算机字长为8.
3、主存储器:主存储器是一个易失性存储区,也就是常说的RAM,它是一个程序和数据的暂存场所。从逻辑上来说,存储器是一个线性的字节数组,每个字节都有其唯一的索引(也就是地址的概念)。一般不同的机器指令都有不同的字节长度。
4、I/O设备:I/O设备是计算机系统与外界通信的渠道。上图所示的USB、显示器、磁盘和键盘鼠标等都是I/O设备。I/O设备通常由机械部件和电子部件两部分组成,其中,电子部件又称为设备控制器或适配器。每一个I/O设备都是通过一个控制器与I/O总线连接。I/O设备又分为块设备和字符设备两种。上述中磁盘、USB等就是常见的块设备,而键盘鼠标和网络接口为字符设备。
二、信息的表示
#include <stdio.h>int main(){ printf("Hello World!\n");}通常来说,英文字母使用ASCII编码就足以完全表示。也就是说,源程序实际是由0和1组成的位序列,8个位组成一个字节。实际上一个源程序文件是以字节序列的形式存在的。计算机上处理的一切数据信息,包括磁盘文件、网络文件以及存储器中的程序等等都是由一连串的位序列构成。区分不同的数据对象的方法就是我们读到这些数据对象时的上下文。
三、程序的执行过程
- 深入理解计算机系统学习笔记(一)概述
- 《深入理解计算机系统》学习笔记(一)
- 深入理解计算机系统学习笔记(一)
- 深入理解计算机系统学习笔记(一)之此书简介
- 深入理解计算机系统 笔记(一)
- 深入理解计算机系统学习(一)第一章
- 《深入理解计算机系统》笔记一
- 深入理解计算机系统(第一章学习笔记)
- 深入理解计算机系统学习笔记
- 深入理解计算机系统(一、计算机系统漫游)
- 深入理解计算机系统(笔记):计算机系统漫游
- 《深入理解计算机系统》(一)
- 深入理解计算机系统(一)
- 深入理解计算机系统(1.1)---计算机概述
- 《深入理解计算机系统》学习笔记(一):信息的表示和处理
- 《深入理解计算机系统》笔记(一)栈【插图】
- 《深入理解计算机系统-CSAPP》练习题笔记(一)
- 《深入理解计算机系统》读后笔记一
- 文章标题
- Android HandlerThread 完全解析
- maven POM.xml 标签详解
- Android IntentService完全解析 当Service遇到Handler
- linux常见命令
- 深入理解计算机系统学习笔记(一)概述
- 《Effective Java》基本数据类型与自动装箱类型处理时间对比
- 航空航天制造领域工业机器人发展趋势
- UE4:c++中添加触发器事件
- 路径规划方法之-随机路径图法(PRM)
- Linux的文件和目录都有访问许可权限
- Linux下dmesg命令处理故障和收集系统信息的7种用法
- jQuery命名空间,自定义空间及属性,插件开发全解析
- caffe for windows(win7+VS2012+CUDA6.5)(中)