1、深入理解计算机系统之一: 计算机系统简介

一、系统的硬件系统


(1)主存是一个临时存储设备(内存条),在处理器执行程序时,用来存放程序和程序处理的数据。


二、计算机中程序的表示、运行

1、示例代码

//
#include <stdio.h>

int main()
{
	printf("hello world!\n");
	return 0;
}
//

2、表示

(1)大部分的现代计算机系统都是用ASCII标准表示文本字符。

3、GCC编译过程


扫描二维码关注公众号,回复: 1054130 查看本文章

4、运行流程

(1)shell下执行"./hello"后,shell将字符逐一读入寄存器,再把它存放在内存中,如图:


(2)当我们在键盘上敲回车键时,shell程序就知道我们已经结束了命令的输入。然后shell执行一系列指令来加载可执行的hello文件,这些指令将hello目标文件中的代码和数据从磁盘赋值到主存。数据包最终会被输出的字符串“Hello world\n”。利用直接存储器存取(DMA)技术,数据可以不通过处理器而直接从磁盘到达主存。


(3)一旦目标文件hello中的代码和数据被加载到主存,处理器就开始执行hello程序的main程序中的机器语言指令。这些指令将“hello,world\n"字符串中的字节从主存复制到寄存器文件,再从寄存器文件中复制到显示设备,最终显示在屏幕上。



致谢

1、《深入理解计算机系统》[第3版],作者 Randal E.Bryant, David R.O`Hallaron 译者 龚奕利 贺莲    




猜你喜欢

转载自blog.csdn.net/qq_38880380/article/details/80380533