程序員第一章PPT:計(jì)算機(jī)系統(tǒng)基礎(chǔ)知識(shí)考點(diǎn)拆解與自測)
簡介這份PPT面向備考軟考初級(jí)程序員的考生聚焦第一章計(jì)算機(jī)系統(tǒng)基礎(chǔ)知識(shí)幫助考生在有限時(shí)間內(nèi)系統(tǒng)梳理高頻考點(diǎn)。資源為單個(gè)pptx文件壓縮包約6.92MB內(nèi)容緊貼考試大綱重點(diǎn)突出、總結(jié)到位。課件依次覆蓋計(jì)算機(jī)系統(tǒng)的基本組成、數(shù)據(jù)的表示及運(yùn)算、計(jì)算機(jī)的基本組成及工作原理、指令系統(tǒng)簡介以及多媒體系統(tǒng)簡介五大模塊其中硬件五大部件、CPU與存儲(chǔ)器層次、二進(jìn)制與八進(jìn)制十六進(jìn)制的轉(zhuǎn)換、馮·諾依曼架構(gòu)、指令類型等核心知識(shí)點(diǎn)均有清晰歸納便于對(duì)照復(fù)習(xí)與查漏補(bǔ)缺。目前已有191人學(xué)習(xí)下載適合零基礎(chǔ)入門或需要快速回顧基礎(chǔ)的考生使用可作為章節(jié)精讀與考前沖刺的輔助材料。1. 軟考初級(jí)程序員第一章計(jì)算機(jī)系統(tǒng)基礎(chǔ)知識(shí)到底在考什么很多人翻開軟考初級(jí)程序員的教材第一章「計(jì)算機(jī)系統(tǒng)基礎(chǔ)知識(shí)」掃兩眼就覺得是大學(xué)計(jì)算機(jī)導(dǎo)論的老調(diào)重彈直接跳到后面的程序設(shè)計(jì)語言和數(shù)據(jù)結(jié)構(gòu)。我?guī)н^幾輪備考也幫人整理過這一章的 PPT 講義血淚經(jīng)驗(yàn)是第一章的選擇題分值占比不低而且考點(diǎn)碎、概念多恰恰是最容易靠一份結(jié)構(gòu)清晰的 PPT 快速拿分的地方。這一章講的是計(jì)算機(jī)硬件組成、進(jìn)制轉(zhuǎn)換、數(shù)據(jù)表示、CPU 與存儲(chǔ)器層次、總線與指令流水這些底層常識(shí)它不要求你會(huì)寫代碼但要求你對(duì)「一臺(tái)機(jī)器怎么跑起來」有完整的框架認(rèn)知。適合兩類人零基礎(chǔ)想一次過初級(jí)的考生以及已經(jīng)會(huì)寫代碼但底層概念模糊、做題靠蒙的轉(zhuǎn)行者。下面我按自己整理 PPT 講義和帶人復(fù)習(xí)的順序把這一章拆成能直接抄進(jìn) PPT、也能直接拿去刷題的結(jié)構(gòu)。2. 把第一章拆成 PPT 骨架考點(diǎn)分布與頁面規(guī)劃2.1 先看分值分布再?zèng)Q定每頁 PPT 的厚度軟考初級(jí)程序員的上午題是客觀選擇題計(jì)算機(jī)系統(tǒng)基礎(chǔ)知識(shí)通常穩(wěn)定出現(xiàn)在前幾題到十幾題之間覆蓋進(jìn)制與編碼、CPU 組成、存儲(chǔ)體系、總線與接口、指令系統(tǒng)幾個(gè)板塊。我一般會(huì)先把這一章的考點(diǎn)按「必考、??肌⒘私狻谷龣n標(biāo)出來再?zèng)Q定 PPT 每一頁放多少內(nèi)容。必考的是進(jìn)制轉(zhuǎn)換、原碼反碼補(bǔ)碼、浮點(diǎn)數(shù)表示、CPU 主要部件、Cache 與主存的關(guān)系、指令執(zhí)行過程??嫉氖强偩€分類、I/O 控制方式、校驗(yàn)碼了解級(jí)別的是具體芯片型號(hào)、歷史機(jī)型這類不會(huì)出題的內(nèi)容。做 PPT 時(shí)最容易翻車的地方是把「了解」級(jí)內(nèi)容做成大段文字結(jié)果必考的點(diǎn)反而一頁帶過。我的做法是給每個(gè)考點(diǎn)分配頁面權(quán)重必考考點(diǎn)每個(gè)至少一頁配一道真題截圖??伎键c(diǎn)可以兩三個(gè)合并一頁做對(duì)比表了解級(jí)內(nèi)容只在目錄頁提一句不單獨(dú)占頁。這樣一份 30 頁左右的 PPT 就能把第一章講透而不是堆到 80 頁沒人看得下去。下面這張表是我整理講義時(shí)用的考點(diǎn)權(quán)重模板可以直接套考點(diǎn)板塊重要程度建議頁數(shù)典型題型進(jìn)制轉(zhuǎn)換與編碼必考4-5 頁計(jì)算題原碼/反碼/補(bǔ)碼必考2-3 頁計(jì)算題浮點(diǎn)數(shù)表示必考2 頁概念計(jì)算CPU 組成與寄存器必考3 頁概念題存儲(chǔ)體系與 Cache必考3-4 頁概念計(jì)算總線與接口常考2 頁概念題指令系統(tǒng)與流水???-3 頁概念題校驗(yàn)碼常考1-2 頁計(jì)算題I/O 控制方式了解1 頁概念題2.2 用「一頁一考點(diǎn)」原則排頁面順序排頁面順序時(shí)我習(xí)慣按「從底層數(shù)據(jù)到整機(jī)運(yùn)行」的邏輯走而不是照抄教材目錄。教材往往先講硬件再講數(shù)據(jù)但備考時(shí)先建立「數(shù)據(jù)怎么表示」的直覺再去看 CPU 怎么處理這些數(shù)據(jù)理解會(huì)順很多。所以我的 PPT 順序是進(jìn)制與編碼 → 數(shù)據(jù)表示原反補(bǔ)、浮點(diǎn)→ CPU 與寄存器 → 存儲(chǔ)層次 → 總線與 I/O → 指令執(zhí)行與流水 → 校驗(yàn)碼。每一頁只放一個(gè)考點(diǎn)標(biāo)題直接寫成考點(diǎn)名比如「補(bǔ)碼的求法與溢出判斷」而不是「數(shù)據(jù)表示」這種大帽子。頁面內(nèi)容控制在「一個(gè)定義 一個(gè)例子 一道真題」的結(jié)構(gòu)里。定義用一句話說清例子用具體數(shù)字算一遍真題放最近三年的原題。這樣復(fù)習(xí)的人看一頁就能自測一次不用來回翻書。提示做 PPT 時(shí)把真題年份和題號(hào)標(biāo)在角落復(fù)習(xí)到后期可以直接按題號(hào)回查比重新搜題快得多。2.3 每頁配一道真題把 PPT 變成自測工具很多人做 PPT 只放知識(shí)點(diǎn)復(fù)習(xí)時(shí)看完就忘。我的習(xí)慣是每頁底部留一塊「真題自測」放一道該考點(diǎn)的選擇題答案和解析放在下一頁或備注里。這樣一份 PPT 既是講義也是題庫復(fù)習(xí)時(shí)先遮住答案自己做做錯(cuò)了再回頭看上面的知識(shí)點(diǎn)。比如講補(bǔ)碼那一頁底部放一道「已知某數(shù)補(bǔ)碼為 1111 0000求其真值」的題講 Cache 那一頁放一道「Cache 與主存地址映射方式」的題。真題來源就用歷年上午題不用自己編編的題往往和考試風(fēng)格差很遠(yuǎn)。整理完一輪后你會(huì)發(fā)現(xiàn)高頻考點(diǎn)翻來覆去就那些PPT 頁數(shù)不多但每頁都是有效內(nèi)容。3. 進(jìn)制轉(zhuǎn)換與數(shù)據(jù)表示PPT 里必須講清的三個(gè)計(jì)算點(diǎn)3.1 進(jìn)制轉(zhuǎn)換把「除基取余」講成可復(fù)現(xiàn)的步驟進(jìn)制轉(zhuǎn)換是第一章最穩(wěn)的送分題但也是最容易因?yàn)椴襟E不熟而算錯(cuò)的地方。我在 PPT 里會(huì)把十進(jìn)制轉(zhuǎn)二進(jìn)制、二進(jìn)制轉(zhuǎn)八進(jìn)制/十六進(jìn)制、任意進(jìn)制轉(zhuǎn)十進(jìn)制三類分開講每類給一個(gè)固定步驟。十進(jìn)制轉(zhuǎn)二進(jìn)制用「除 2 取余逆序排列」二進(jìn)制轉(zhuǎn)八進(jìn)制用「三位一組」轉(zhuǎn)十六進(jìn)制用「四位一組」任意進(jìn)制轉(zhuǎn)十進(jìn)制用「按權(quán)展開求和」。下面這段 Python 代碼是我用來驗(yàn)證轉(zhuǎn)換結(jié)果的小工具做 PPT 時(shí)可以用它批量生成練習(xí)題和答案避免手算出錯(cuò)def dec_to_base(n, base): 十進(jìn)制轉(zhuǎn)任意進(jìn)制返回字符串 if n 0: return 0 digits 0123456789ABCDEF result while n 0: result digits[n % base] result # 取余數(shù)逆序拼接 n // base return result def base_to_dec(s, base): 任意進(jìn)制轉(zhuǎn)十進(jìn)制按權(quán)展開 digits 0123456789ABCDEF s s.upper() result 0 for ch in s: result result * base digits.index(ch) # 逐位累加 return result # 驗(yàn)證十進(jìn)制 156 轉(zhuǎn)二進(jìn)制、八進(jìn)制、十六進(jìn)制 print(dec_to_base(156, 2)) # 10011100 print(dec_to_base(156, 8)) # 234 print(dec_to_base(156, 16)) # 9C print(base_to_dec(10011100, 2)) # 156這段代碼的關(guān)鍵在n % base取當(dāng)前最低位n // base去掉最低位循環(huán)直到 n 為 0最后逆序拼接。base_to_dec用「乘基加位」的累加法比按權(quán)展開寫起來更短也不容易算錯(cuò)冪次。參數(shù)上 base 支持 2 到 16超過 10 的位用 A-F 表示。做 PPT 時(shí)可以把輸出結(jié)果直接截圖當(dāng)例子比手寫更可靠。3.2 原碼、反碼、補(bǔ)碼一張表講清三者關(guān)系和溢出判斷原反補(bǔ)是必考計(jì)算點(diǎn)我在 PPT 里會(huì)用一張表把正數(shù)、負(fù)數(shù)、零的三種表示列清楚再單獨(dú)講補(bǔ)碼的求法正數(shù)三碼相同負(fù)數(shù)反碼是原碼符號(hào)位不變其余取反補(bǔ)碼是反碼加一。零的原碼和反碼有兩種表示正零和負(fù)零補(bǔ)碼只有一種這是??技?xì)節(jié)。溢出判斷是這一節(jié)的難點(diǎn)。我的講法是兩個(gè)同符號(hào)數(shù)相加結(jié)果符號(hào)變了就是溢出。補(bǔ)碼運(yùn)算時(shí)符號(hào)位參與運(yùn)算如果最高位進(jìn)位和次高位進(jìn)位不同也說明溢出。PPT 里放一道「兩個(gè)補(bǔ)碼相加判斷是否溢出」的題把兩種判斷方法都寫一遍復(fù)習(xí)的人自己選順手的用。真值原碼反碼補(bǔ)碼50000 01010000 01010000 0101-51000 01011111 10101111 101100000 00000000 00000000 0000-01000 00001111 11110000 0000注意補(bǔ)碼的 -0 和 0 表示相同所以 8 位補(bǔ)碼能表示 -128 到 127比原碼多一個(gè)負(fù)數(shù)這個(gè)結(jié)論???。3.3 浮點(diǎn)數(shù)表示階碼、尾數(shù)、規(guī)格化一次說透浮點(diǎn)數(shù)在初級(jí)里主要考概念和簡單計(jì)算不涉及復(fù)雜的 IEEE 754 細(xì)節(jié)。我在 PPT 里會(huì)把浮點(diǎn)數(shù)拆成「階碼 尾數(shù)」兩部分階碼決定小數(shù)點(diǎn)左右移動(dòng)的位數(shù)尾數(shù)決定有效數(shù)字。規(guī)格化要求尾數(shù)最高位是 1這樣表示唯一。常考的題是給一個(gè)二進(jìn)制數(shù)寫出它的浮點(diǎn)表示或者反過來。講這一節(jié)時(shí)我會(huì)強(qiáng)調(diào)階碼用移碼或補(bǔ)碼表示尾數(shù)用原碼或補(bǔ)碼表示具體看題目約定。做題時(shí)先確定階碼和尾數(shù)各占幾位再把數(shù)字拆進(jìn)去。PPT 里放一道「將 -0.1101 表示為階碼 4 位、尾數(shù) 8 位的浮點(diǎn)數(shù)」的題把每一步寫清楚比只給答案有用。4. CPU、存儲(chǔ)與總線PPT 里怎么把硬件講得不枯燥4.1 CPU 組成運(yùn)算器與控制器的部件清單CPU 這部分概念多但出題方式很固定基本就是問某個(gè)部件屬于運(yùn)算器還是控制器或者某個(gè)寄存器的作用。我在 PPT 里會(huì)用一張圖把 CPU 拆成運(yùn)算器和控制器兩大塊運(yùn)算器里放 ALU、累加寄存器 AC、數(shù)據(jù)緩沖寄存器 DR、狀態(tài)條件寄存器 PSW控制器里放指令寄存器 IR、程序計(jì)數(shù)器 PC、地址寄存器 AR、指令譯碼器 ID、時(shí)序部件。復(fù)習(xí)時(shí)最容易混的是 PC 和 IRPC 存下一條指令的地址IR 存當(dāng)前正在執(zhí)行的指令。PPT 里把這兩個(gè)寄存器的作用并排寫再配一道「取指令后 PC 自動(dòng)加一加的是指令長度」的題基本就不會(huì)錯(cuò)了。累加寄存器 AC 是運(yùn)算器里最??嫉乃却娌僮鲾?shù)又存結(jié)果題目里出現(xiàn)「暫存運(yùn)算結(jié)果」一般就是它。4.2 存儲(chǔ)層次Cache、主存、輔存的速度與容量關(guān)系存儲(chǔ)體系的核心是「速度越快容量越小價(jià)格越高」這個(gè)金字塔。PPT 里我會(huì)畫一個(gè)三層結(jié)構(gòu)Cache 在 CPU 和主存之間速度最快容量最小主存是內(nèi)存速度中等輔存是硬盤速度最慢容量最大。??嫉氖?Cache 的作用緩解 CPU 與主存速度差、命中率計(jì)算、地址映射方式直接映射、全相聯(lián)、組相聯(lián)。命中率計(jì)算是送分題公式是「命中率 命中次數(shù) / 總訪問次數(shù)」平均訪問時(shí)間 命中率 × Cache 時(shí)間 (1 - 命中率) × 主存時(shí)間。PPT 里放一道「Cache 命中率 95%Cache 訪問時(shí)間 1ns主存 10ns求平均訪問時(shí)間」的題算一遍就記住了。地址映射方式只需要知道三種的名字和特點(diǎn)不要求畫圖。4.3 總線與 I/O 控制分類和三種控制方式的區(qū)別總線按功能分?jǐn)?shù)據(jù)總線、地址總線、控制總線按位置分片內(nèi)總線和片外總線。數(shù)據(jù)總線寬度決定一次能傳多少位數(shù)據(jù)地址總線寬度決定能尋址多大空間這兩個(gè)結(jié)論???。PPT 里用一句話總結(jié)數(shù)據(jù)總線定字長地址總線定容量。I/O 控制方式考三種程序查詢、中斷、DMA。程序查詢是 CPU 一直等效率最低中斷是設(shè)備好了通知 CPUCPU 不用等DMA 是直接存儲(chǔ)器訪問數(shù)據(jù)不經(jīng)過 CPU效率最高。PPT 里用一張對(duì)比表把三種方式的「CPU 參與程度」和「適用場景」列出來比文字描述清楚??刂品绞紺PU 參與數(shù)據(jù)路徑適用場景程序查詢?nèi)痰却?jīng) CPU簡單低速設(shè)備中斷傳輸時(shí)參與經(jīng) CPU中低速設(shè)備DMA僅初始化不經(jīng) CPU高速大批量5. 避坑與排查整理第一章 PPT 時(shí)最容易翻車的五件事5.1 把「了解」級(jí)內(nèi)容做成大段文字必考點(diǎn)反而沒頁現(xiàn)象PPT 做到 60 頁復(fù)習(xí)時(shí)抓不住重點(diǎn)看完記不住幾個(gè)考點(diǎn)。原因沒有先做考點(diǎn)權(quán)重按教材順序平均用力。解決先按第 2 章的權(quán)重表標(biāo)出必考、??肌⒘私馊龣n必考每個(gè)至少一頁了解級(jí)只在目錄提一句把頁數(shù)壓到 30 頁左右。5.2 進(jìn)制轉(zhuǎn)換只給公式不給步驟復(fù)習(xí)時(shí)算不對(duì)現(xiàn)象PPT 上寫了「除 2 取余」但復(fù)習(xí)的人自己算還是錯(cuò)。原因公式太抽象沒有可復(fù)現(xiàn)的步驟和驗(yàn)證。解決每類轉(zhuǎn)換給一個(gè)固定步驟配一個(gè)具體數(shù)字的例子再用第 3 章的 Python 代碼驗(yàn)證結(jié)果把輸出截圖放上去。5.3 原反補(bǔ)只講定義不講溢出判斷現(xiàn)象概念題會(huì)做一到補(bǔ)碼運(yùn)算和溢出判斷就錯(cuò)。原因定義和運(yùn)算脫節(jié)沒有把符號(hào)位參與運(yùn)算講清楚。解決單獨(dú)一頁講溢出判斷用「同符號(hào)相加結(jié)果變號(hào)」和「最高位與次高位進(jìn)位不同」兩種方法各做一道題。5.4 Cache 只講概念不講命中率計(jì)算現(xiàn)象知道 Cache 快但遇到命中率計(jì)算題就卡。原因概念和計(jì)算分開講沒有把公式和例子結(jié)合。解決命中率公式和平均訪問時(shí)間公式放一頁配一道具體數(shù)字的題算一遍比背十遍有用。5.5 總線只背分類不記寬度含義現(xiàn)象總線分類背得熟但問「地址總線 20 位能尋址多大空間」就答不上。原因只記了名字沒記作用。解決把「數(shù)據(jù)總線定字長地址總線定容量」這句話放在總線那一頁最上面配一道 2 的 20 次方等于 1M 的計(jì)算題。6. 用 Anki 把第一章 PPT 變成長期記憶我的復(fù)習(xí)節(jié)奏整理完 PPT 只是第一步真正讓第一章不丟分的是反復(fù)自測。我自己的習(xí)慣是把 PPT 里每頁的真題和關(guān)鍵結(jié)論做成 Anki 卡片按「進(jìn)制轉(zhuǎn)換」「原反補(bǔ)」「浮點(diǎn)」「CPU」「存儲(chǔ)」「總線」「指令」「校驗(yàn)」八個(gè)牌組分開每天刷 20 張錯(cuò)題自動(dòng)進(jìn)第二天。這樣到考前第一章的選擇題基本能穩(wěn)定拿分。具體做法是PPT 每頁底部的真題正面寫題目背面寫答案和解析關(guān)鍵結(jié)論做成填空卡比如「地址總線寬度決定____」背面寫「可尋址的存儲(chǔ)空間大小」??ㄆ灰鎏褚粡埧ㄖ豢家粋€(gè)點(diǎn)否則復(fù)習(xí)時(shí)容易煩。我一般會(huì)在考前一個(gè)月開始每天刷刷到連續(xù)三天全對(duì)就暫停這個(gè)牌組把時(shí)間讓給后面的程序設(shè)計(jì)語言和數(shù)據(jù)結(jié)構(gòu)。提示Anki 卡片里的解析直接抄 PPT 上的步驟不要重新組織語言保持和講義一致復(fù)習(xí)時(shí)不會(huì)混淆。最后一個(gè)技巧把第一章的 PPT 導(dǎo)出成圖片按考點(diǎn)切成小圖存手機(jī)相冊(cè)通勤時(shí)翻幾張比帶整本教材輕。我試過把進(jìn)制轉(zhuǎn)換和原反補(bǔ)的步驟圖設(shè)成手機(jī)鎖屏一周下來不用刻意背就記住了。這個(gè)方案值不值得做取決于你愿不愿意花兩個(gè)晚上把 PPT 骨架搭好——搭好之后第一章就不再是翻書就困的導(dǎo)論而是一份能直接刷分的自測題庫。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取