读书笔记:《深入理解计算机系统》 之 第一章 计算机系统漫游

本文目录

0 本人学习资料

1 计算机硬件结构

2 计算机语言的演变史

3 计算机基本组件

4 缓存

5 几个重要概念

0 本人学习资料

这里推荐两个参考视频

一个是本书几位作者的讲课的视频  https://www.bilibili.com/video/av31289365

一个是coursera上南大袁春风教授开的相关课程 https://www.coursera.org/learn/jisuanji-xitong

就目前看过的第一章来说,我推荐先看袁春风教授的,讲的很细,从计算机系统的演变讲起。

而国外的那个视频第一讲,更像是大学的第一堂客,跟书上第一章讲的内容没有太大关联,更多的是导论以及CMU学生上这门课需要遵守的课规......

1 计算机硬件结构

现代计算机的硬件结构遵循着冯诺依曼体系结构,可以抽象为运算器、控制器、存储器、输入设备和输出设备五大部分。

2 计算机语言的演变史

计算机语言的发展史可以概括为机器语言,汇编语言,高级程序语言三个阶段。

机器语言只使用0和1来编写。

汇编语言则是对机器语言的一种增加人类可读性的简化语言。

一般现在软件程序员都是使用高级程序语言,高级程序语言会通过编译器转换为汇编语言再转换为机器语言执行。

3 计算机中基本组件

(1)总线

顾名思义,就是贯穿系统的一组电子管道。

(2)I/O 设备

即输入和输出的设备。

(3)主存

包含我们常说的内存(随机存取存储器,RAM)以及只读存储器(ROM)

(4)处理器

处理器(CPU)中有

GPRs:通用寄存器组

PC:程序计数器     

MAR:存储器地址寄存器

MDR:存储器数据寄存器

IR:指令寄存器

ALU:算术逻辑部件

4 缓存

计算机的处理过程可以简单地概括为,系统将信息不停地从一个地方挪到另一个地方进行存储和处理。

所以缓存就显得十分重要,现代的计算机系统的缓存存储层次结构如图。

最近正好在换内存条,用到了cpu-z这个工具,可以看到自己电脑处理器的缓存存储层级。

5 几个重要概念

(1) Amdahl定律

要想显著加速整个系统,必须提升全系统中相当大的部分的速度。

(2)并行与并发

计算机系统中的并发并不是字面上的并发,举例来说,在电脑上听音乐和阅读书籍,计算机看似是同时运行连个程序,其实计算机是通过不断地切换进程来实现的。

并行也不是指程序一起进行,而是对指通过并发使程序运行的更快。

(3)抽象

抽象是计算机科学中十分重要的一个概念。比如说API接口是程序的一种抽象,文件是对I/O设备的抽象,虚拟内存是对程序存储器的抽象,进程是对一个正在运行的程序的抽象,虚拟机是对整个计算机的抽象。

其实我个人觉得抽象不仅在计算机科学中很重要,在生活中也很重要。比如说这篇文章就是是对第一章内容的一个抽象(我个人感觉没有抽象好......)。生活中做一件事的时候,也可以抽象为几个步骤,然后一步步执行。

在平时的编程生活中,在面对一个业务的时候,也需要我们先理清头绪,把要做的事情抽象出几个步骤,然后发现业务不懂的时候就是问产品经理,技术不会的就先谷歌,然后再去编程会更高效。

题外话:

写一篇读书笔记真的好难啊,本章是对整个计算机系统组成的一个简介,但是很多概念性的东西用自己的话很难概述出来...

最后,如果文章有什么错误,欢迎大家指正,我有时间也会不断的修正完善本文。

发布了41 篇原创文章 · 获赞 15 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/ScanQ/article/details/100186738