《多核程式設計技術》讀書筆記一

2021-08-22 08:05:33 字數 876 閱讀 5701

《多核程式設計技術》讀書筆記一

1. 馮.諾伊曼體系結構的計算機和圖靈機

馮·諾伊曼體系結構的計算機工作原理: 在計算機內部使用二進位制、計算機採用五大模組:控制器、運算器、儲存器、輸入輸出裝置。 程式能夠儲存並自動執行。資料通過輸入裝置進入計算機儲存器,在控制器的指揮下在運算器進行邏輯運算和算術運算處理,通過輸出裝置把結果告訴計算機使用者。在這種結構中,程式就是按順序儲存在計算機儲存器中的指令序列,並且指令按順序執行。

圖靈機不是一種具體的機器,而是一種思想模型,是一種十分簡單但運算能力極強的計算機裝置 。裝置由乙個控制器和一根假設兩端無界的工作帶(起儲存器的作用)組成。工作帶被劃分為大小相同的方格,每一格上可書寫乙個給定字母表上的符號。控制器可以在帶上左右移動,並給出乙個你期待的結果。

2. 促成軟體併發的因素

隨著人類文明程序的發展,人對外界的需求也越來越高。因此客戶需求是引發軟體併發的因素之一。

除了外因,還有內因,也將軟體併發推到了聚光燈前。一是要充分利用現有的計算機資源,盡可能的讓計算機繁忙。二是軟體具有先天的併發特性(應該是在某一時刻),你讀你的磁碟檔案,我等待我的網路包,他做他的資料計算。本來就不相干的操作,為什麼不一起做呢?其實類似的原理,在讀初中時就已經有所接觸。大家應該還記得華羅庚燒水的故事,這篇課文已經在我腦海中打上了深深的烙印。

3.併發(concurrent)和並行(parallel)

如果兩個事件在同一時間間隔內發生就稱這兩個事件是併發的。如果兩個事件在任何時間點都同時發生就稱這兩個事件是並行的。

4.目前的計算機一般都屬於simd和mimd機器。

5.單核(up)/多核(cmp)/超執行緒(ht/smt)/多處理器(smp)的區別

具體見書的第9頁圖。改天補上。

6.衡量標準——amdahl定律和gustafson定律

多核並行程式設計技術 一

首先需要先理解幾個概念 序列 最基本的程式執行方式,序列程式的整個執行時,只有乙個呼叫棧和乙個執行時上下文,單程序 單執行緒程式可以認為是序列程式。併發 多執行緒出現後比較常見的程式執行方式,多執行緒程式執行時,會有多個執行時上下文和對應的多個呼叫棧。邏輯上多個執行緒同時發生,物理上是有作業系統排程...

《java多執行緒程式設計技術核心》 讀書筆記4

等待通知機制wait notify 的用法 class mythread1 extends thread public void run catch interruptedexception e class mythread2 extends thread public void run publi...

《java多執行緒程式設計技術核心》讀書筆記6

package multithread join 方法的使用 class mythread extends thread catch interruptedexception e public class lesson8 catch interruptedexception e package mu...