计算机系统漫游

原创 2017年04月10日 16:22:31

2017年4月趁着临近毕业时间比较充裕,就买了一本深入理解计算机系统(第三版),这本书的第二版之前浅浅的读过一遍只对里面的编译与链接章节印象深刻,其他章节对我来说完全陌生,我深知这本书的好,于是重新拾起这本书。为了加深自己的记忆就开始写博客记录自己的读书笔记。

第一章: 计算机系统漫游

  • 信息就是位+上下文,相同的二进制位在不同的上下文有着不同的含义

  • Amdahl定律(阿姆达尔定律),其主要思想是当我们对系统的某个部分加速时,其对系统整体性能的影响取决于该部分的重要性和加速程度。通过Amdahl定律可以快速的得到某个部分升级所得到的加速比。


    这里写图片描述

    加速比的公式如上,它等于执行升级前后的整个任务的执行时间比,而Amdahl定律提供了一种快速的方法来计算加速比,他认为加速比取悦于二个因素:

    1. 升级的部分在整个任务中所占的比例
    2. 通过升级得到改进后,改部分任务的加速比时多少

      这里写图片描述

    例: 我们希望升级一个用于提供web服务器的处理器,新处理器执行Web服务应用程序的计算速度时原处理器的10倍。假定原处理器有40%的时间忙于计算,60%的时间等待I/O,进行这次升级后所得到的总加速比为:


    这里写图片描述

  • 超线程有时称为多线程,是一项允许在一个CPU上执行多个控制流的技术,通过给CPU某些硬件提供多个备份,比如程序计数器,部份寄存器等,而其他的硬件部分只有一份,这样就从逻辑上提供了多个核的能力。此外常规的处理器在线程之间切换的时候需要耗费大量时钟周期,但是超线程处理器只需要一个时钟周期就可以完成线程间切换,这使得CPU能够更好的利用它的处理器资源。

  • 超标量处理器指的是一个时钟周期可以运行多条指令的处理器

  • 单指令、多数据并行(SIMD),允许一条指令产生多个可以并行执行的操作。


    这里写图片描述

​ GCC已经内置了对SIMD指令的支持,下面这段代码通过使用SIMD指令来对两个向量(数组)进行计算,代码如下:

#include <stdio.h>
// 定义了一个包含四个元素的向量
typedef int int4 __attribute__((vector_size(sizeof(int) * 4)));

int main() {
  int4 i = {1, 2, 3, 4};
  int4 j = {3, 5, 7, 9};

  int4 k = i * 3 + j;   // 向量之间直接运算
  printf("%d, %d, %d, %d\n", k[0], k[1], k[2], k[3]);
  return 0;
}
  • 计算机系统中的抽象: 文件是多IO设备的抽象,虚拟内存是对程序存储器的抽象,进程是对一个正在运行的程序的抽象,虚拟机是对整个计算机的抽象。

参考文献

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

读书笔记----第一章:计算机系统漫游

一.信息就是位+上下文 1.基本思想      系统中所有的信息--包括磁盘文件、存储器中的程序、存储器中存放的用户数据以及网络上传送的数据,都是由一串位表示的。区分这些数据对象的唯一方法...

计算机系统漫游

计算机系统是由硬件和软件系统组成的,它们共同工作来运行应用程序。作为程序员,也需要了解这些组件是如何工作的,以及这些组件是如何影响程序的正确性和性能的。我们从最简单的 hello 程序开始,通过跟踪 ...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

计算机系统漫游

CSAPP 1.计算机系统漫游1.信息就是 (位+上下文)#-------> hello.c #include int mian(){ printf("hello , world\n");...

CSAPP第一章-计算机系统漫游

CSAPP

计算机系统漫游(1)

计算机系统是由硬件和系统软件组成。 本篇文章将从最初的Hello the world 开始。 先上代码: {CSDN:CODE:1867366} hello 程序的生命周期是从一个源程序开...

计算机系统漫游学习笔记

信息就是位+上下文 程序被其他其他程序翻译成不同的格式 了解编译系统如何工作是大有益处的 处理器读并解释存储在存储器中的指令 高速缓存 形成层次结构的存储设备 操作系统管理硬件 利用网络和其他系统进行...

CSAPP——1.计算机系统的漫游

首先,存储与计算机上的信息都是位,计算机通过上下文判断存储信息的类型(文本文件、二进制文件)1.C程序格式的流转 0 hello.c 通过预处理器(cpp)增加头文件后得到hello.i 0 ...

第一章 计算机系统漫游

第一章 计算机系统漫游通过研究”hello world”程序的生命周期,介绍计算机系统的主要概念和主题计算机的组成计算机是由硬件和软件组成的,这两个部分共同协作完成程序的运行。1.1信息就是位+上下文...

CSAPP 第一章 计算机系统漫游

标签: CSAPP 从某种意义上来说,本书的目的就是为了帮助你了解当你在系统上执行 hello 程序时,系统发生了什么以及为什么会这样。

第一章 计算机系统漫游

第一章 计算机系统漫游 1、信息就是位+上下文 程序的文本字符用字节表示,都是由一串位组成 2、源文件到目标文件 1)预处理阶段 根据字符#开头的命令,修改原始的C程序,直接...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)