2017-2018 20155309南皓芯 信息安全系统基础设计第十四周博客
找出全書你認為學得最差的一章,深入重新學習一下,要求(期末占5分):
總結新的收獲
給你的結對學習搭檔講解或請教,并獲取反饋
參考上面的學習總結模板,把學習過程通過博客(隨筆)發表,博客標題“學號 《信息安全系統設計基礎》第十四周學習總結”,博客(隨筆)要通過作業提交。
全書來看,我認為自己學的最差的一章是第六章。
教材內容總結
存儲器系統:具有不同容量、成本和訪問時間的存儲器設備的層次結構。
計算機程序的基本屬性:局部性。具有良好局部性的程序傾向于一次又一次訪問相同的或者鄰近的數據項集合,傾向于從存儲器層次結構中較高層次處訪問數據項,因此運行的更快。
2、局部性:
在存儲器層次結構的基礎之上引出了一個很重要的思想,也是計算機程序里面一個很基本的屬性”局部性“。局部性又分為兩 個方面:1、 時間局部性:有良好的時間局部性程序中,被引用過一次的存儲器很有可能在不久的將來再被多次調用;2、 空間局部 性:有良好空間局部性程序中,被引用過一次的存儲器,很有可能在不久的將來引用其附近臨近的存儲器。由此可以給出量化評價 一個程序局部性的簡單原則:1、重復引用一個變量的程序有良好的時間局部性;2、對于步長為k的引用模式的程序,步長越小, 程序的空間局部性越好;3、對于取指令來說,循環有好的時間和空間局部性。
3、緩存:
第k層總是作為第k+1層存儲設備的數據對象的緩沖區域,使用高速緩存這個過程稱為緩存。在這過程中,總是以傳送單元(塊)在第k層與第k+1層之間來回拷貝數據。
對于緩存:一般有緩存命中和緩存命不中兩種情況。對于緩存命中的情況比較簡單,就是我們需要從k+1層中提取的數據正好就在已經緩存在第k層中了。對于緩存命不中則有幾種不同的情況:1、 冷不命中(強制性不命中):若第k層緩存是空的,那么對任何數據對象的訪問都是不命中的;2、沖突命不中:發生在緩存足夠大,能夠保存引用的數據,但是由于多個引用數據被映射在了緩存區的同一個位置,導致多次緩存不命中;3、容量不命中:當緩存太小了,不能處理一個完整的工作集(程序按照一系列的階段來運行,每一個階段訪問塊的某一相對穩定不變的集合,這個集合就叫工作集)的時候出現這種情況。
高速緩存存儲器
上圖給出了通用高速緩存存儲器的結構(S,E,B,m):S為高速緩存組數組,每個高速緩存組包含E個高速緩存行,每行由B字節的數據塊組成,有效位說明該行數據是否包含有意義的信息,還有t=m-(b+s)個標記位,它們唯一地標識存儲在這個高速緩存行中的塊。緩存容量大小:C=SEB
這個部分需要注意的是:為什么高速緩存用中間的位作為組索引,而不是用高位。這是因為使用高位一些連續的存儲器會映射在相同的高速緩存塊中,造成沖突不命中的情況。
習題總結
藍墨云習題總結:
下面代碼中,對數組x填充后,采用直接映射高速緩存,所有對x和y引用的命中率為()
A .
1
B .
1/4
C .
1/2
D .
3/4
答案是b
The following table gives the parameters for a number of different caches. For
each cache, determine the number of cache sets (S), tag bits (t), set index bits (s),
and block offset bits (b)
A .
第三行S為1
B .
第一行t為24
C .
第二行b為5
D .
第三行s的值為0
答案:acd
有關局部性原理,說法正確的是()
A .
程序訪問一個向量,步長越小或短,空間局部性越好
B .
局部性有兩種形式:空間局部性,時間局部性
C .
程序訪問一個向量,步長越大空間局部性越好。
D .
硬件、OS,應用程序都會用到局部性原理
答案: acd
計算下面磁盤的容量():4個盤片,100000個柱面,每條磁道400個扇區,每個扇區512個字節
A .
81.92GB
B .
40.96GB
C .
163.84
D .
327.68GB
答案 c
解析:
磁盤
:由一個或多個疊放在一起的盤片組成,被封裝在一個密封的包裝里。整個裝置通常被稱為磁盤驅動器,簡稱為磁盤(又稱旋轉磁盤,以區別基于閃存的固態硬盤(SSD沒有移動部分))。
書上習題6.2
計算這樣一個磁盤的容量,它有2個盤片,10000個柱面,每條磁道平均有400個扇區,而每個扇區有512個字節
磁盤容量=(512字節/扇區)×(400扇區數/track)×(10000磁道數/表面)×(2表面數/盤片)×(2盤片數/磁盤)=8192000000字節=8.192GB
有關磁盤,說法正確的是()
A .
磁盤的讀取時間為毫秒級
B .
每張磁盤有一個表面
C .
表面由磁道組成
D .
每個扇區的面積不同,包含的數據位的數量也不一樣
答案:ac
關于非易失性存儲器,下面說法正確的是()
A .
DRAM是非易失性存儲器
B .
SRAM是非易失性存儲器
C .
PROM只能編程一次
D .
EEPROM可以用紫外線進行擦除
E .
存在ROM中的程序通常被稱為固件
答案:ce
書上習題
練習題6.1
In the following, let r be the number of rows in a DRAM array, c the number of columns, br the number of bits needed to address the rows, and bc the number of bits needed to address the columns. For each of the following DRAMs, deter- mine the power-of-two array dimensions that minimize max(br, bc), the maximum number of bits needed to address the rows or columns of the array.(接下來,設r表示一個DRAM陣列中的行數,c表示列數,br表示行尋址所需的位數,bc表示列尋址所需的位數。對于下面每個DRAM,確定2的冪數的陣列維數,使得max(br,bc)最小,max(br,bc)是對陣列的行或列尋址所需的位數中較大的值。)
組織 r c br bc max(br,bc)
16×1 4 4 2 2 2
16×4 4 4 2 2 2
128×8 16 8 4 3 4
512×4 32 16 5 4 5
1024×4 32 32 5 5 5
練習題6.7
Permute the loops in the following function so that it scans the three-dimensional array a with a stride-1 reference pattern.(改變下面函數中循環的順序,使得它以步長為1的引用模式掃描三維數組a:)
int sumarray3d(int a[N][N][N]) {int i, j, k, sum = 0;for (i = 0; i < N; i++) {for (j = 0; j < N; j++) {for (k = 0; k < N; k++) {sum += a[k][i][j];}}}return sum; }我的解答sum += a[k][i][j];
表明步長為N*N,為了創建一個步長為1的引用模式,必須改變循環的次序,使得最右邊的索引變化得最快:
書上習題6.8解析:
以下中的三個函數,以不同的空間局部性程度,執行相同的操作。請對這些函數就空間局部性進行排序。解釋你是如何得到排序結果的。
(a)structs數組:
#define N 1000 1 void typedef struct {int vel[3];int acc[3]; } point;point p[N];(b)clear1函數:
void clear1(point *p, int n) {int i, j; for (i = 0; i < n; i++) {for (j = 0; j < 3; j++) p[i].vel[j] = 0;for (j = 0; j < 3; j++) p[i].acc[j] = 0;}(c)clear2函數:
void clear2(point *p, int n) {int i, j;for (i = 0; i < n; i++) {for (j = 0; j < 3; j++) {p[i].vel[j] = 0;p[i].acc[j] = 0;}} }}
(d)clear3函數:
void clear3(point *p, int n) {int i, j;for (j = 0; j < 3; j++) {for (i = 0; i < n; i++) {p[i].vel[j] = 0;for (i = 0; i < n; i++)p[i].acc[j] = 0;} }解析:空間局部性:clear1>clear2>clear3。因為函數clear1以步長為1的引用模式訪問數組,因此明顯地具有最好的空間局部性;函數clear2依次掃描N個結構中的每一個,這是好的,但是在每個結構中,它以步長不為1的模式跳到下列相對于結構起始位置的偏移處:0、12、4、16、8、20,所以比clear1的要差;函數clear3不僅在每個結構中跳來跳去,而且還從結構跳到結構,所以比clear3和clear1都要差。
練習題6.9
The following table gives the parameters for a number of different caches. For each cache, determine the number of cache sets (S), tag bits (t), set index bits (s), and block offset bits (b).(下表給出了幾個不同的高速緩存的參數。確定每個高速緩存的高速緩存組數(S)、標記位數(t)、組索引位數(s)以及塊偏移位數(b)。)
我的解答
高速緩存 m C B E S t s b
結對及互評
-本周結對學習情況
20155220
同伴重點學習了第十二章的教材內容,我復習了第六章的內容。
其他(感悟、思考等)
存儲器這章的知識需要我們記憶的很多,所以就需要我們花更多的時間來背
學習進度條
代碼行數(新增/累積)| 博客量(新增/累積)|學習時間(新增/累積)|重要成長 |
| -------- | :----------------:|:----------------:|:---------------: |:-----: |
| 目標 | 5000行 | 30篇 | 400小時 | |
| 第一周 | 10 /10 | 1/1 | 10/10 | |
| 第二周 | 40 /70 | 2/4 | 18/38 | |
| 第三周 | 150/200 | 3/7 | 15/60 | |
|第四周 | 160/210 |6/8| 23/70
嘗試一下記錄「計劃學習時間」和「實際學習時間」,到期末看看能不能改進自己的計劃能力。這個工作學習中很重要,也很有用。
耗時估計的公式
:Y=X+X/N ,Y=X-X/N,訓練次數多了,X、Y就接近了。
參考:軟件工程軟件的估計為什么這么難,軟件工程 估計方法
計劃學習時間:25小時
實際學習時間:20小時
改進情況:
(有空多看看現代軟件工程 課件
軟件工程師能力自我評價表)
參考資料
《深入理解計算機系統V3》學習指導
...
轉載于:https://www.cnblogs.com/nhx19970709/p/8098507.html
總結
以上是生活随笔為你收集整理的2017-2018 20155309南皓芯 信息安全系统基础设计第十四周博客的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 吃货莫跑小小程序冲刺07
- 下一篇: java信息管理系统总结_java实现科