系統架構師:計算機組成原理

2021-01-20 大數據工程師張工
多麼熟悉的感覺。。

一.計算機硬體組成

計算機系統是一個硬體和軟體的綜合體,可以把它看成按功能劃分的多級層次結構。硬體通常是指一切看得見,摸得著的設備實體。原始的馮諾依曼計算機在結構上是以運算器為中心的,二發展到現在,已轉向以存儲器為中心了。如下圖:

1.控制器。控制器是分析和執行指令的部件,也是統一指揮並控制計算機各部件協調工作的中心部件,所依存的是機器指令。控制器的組成如下:

程序計數器PC:存儲下一條要執行指令的地址。指令寄存器IR:存儲即將執行的指令。指令解碼器ID:對指令中的操作碼欄位進行分析解釋。時序部件:提供時序控制信號。2.運算器。運算器也稱為算術邏輯單元ALU,其主要功能是在控制器的控制下完成各種算術運算和邏輯運算。運算器的組成包含如下:

算術邏輯單元ALU:數據的算術運算和邏輯運算。累加寄存器AC:通用寄存器,為ALU提供一個工作區,用在暫存數據。數據緩衝寄存器DR:寫內存時,暫存指令或數據。狀態條件寄存器PSW:存狀態標誌與控制標誌【爭議:也有將其歸為控制器的】。3.主存儲器:主存儲器也稱為內存儲器【通常簡稱為內存或主存】。存儲現場操作的信息與中間結果,包括機器指令和數據。

4.輔助存儲器。輔助存儲器也稱為外存儲器,通常簡稱為外存或輔存。存儲需要長期保存的各種信息。

5.輸入設備:輸入設備的任務是把人們編好的程序和原始數據輸入到計算機中,並且將它們轉換成計算機內部所能識別和接受的信息方式。按輸入信息的形態可分為字符輸入,圖形輸入,圖像輸入及語音輸入等。目前,常見的輸入設備有鍵盤,滑鼠,掃描儀等。

6.輸出設備:輸出設備的任務是將計算機的處理結果以人或其他設備所能接受的形式輸出計算機。目前,最常用的輸出設備是印表機和顯示器。有些設備既可以是輸入設備,同時也可以是輸出設備,例如,輔助存儲器,自動控制和檢測系統中使用的數模轉換裝置等。

二.計算機系統結構的分類

計算機的發展經歷了電子管和電晶體時代,集成電路時代【中小規模,大規模,超大規模,甚大規模,極大規模】。目前,世界最高水平的單片集成電路晶片上所能容納的元器件數已經達到80多億個。1.存儲程序的概念存儲程序的概念是馮·諾依曼等人於1946年6月首先提出的,它簡要地概括為以下幾點:

計算機硬體應由運算器,存儲器,控制器,輸入設備,輸出設備五大基本部件組成。計算機內部採用二進位來表示指令和數據。將編好的程序和原始數據事先存入存儲器中,然後再啟動計算機工作。這就是存儲程序的基本含義。馮·諾依曼對計算機的最大貢獻在於「存儲程序控制」概念的提出和實現。通常把符合存儲程序概念的計算機統稱為馮·諾依曼型計算機。當然,現代計算機與早期計算機相比,在結構上有很多改進。馮·諾依曼型計算機的主要弱點在於存儲器訪問會成為瓶頸。目前,已出現了一些突破存儲程序控制的計算機,統稱為非馮·諾依曼型計算機,例如,數據驅動的數據流計算機,需求驅動的規約計算機和模式匹配驅動的智能計算機等等。2.Flynn分類根據指令流,數據流的多倍性特徵對計算機系統進行分類:

1.指令流:指機器執行的指令序列。2.數據流:指由指令流調用的數據序列,包括輸入數據和中間結果,但不包括輸出數據。Flynn根據不同的指令流-數據流組織方式,把計算機系統分成以下四類。

單指令單數據流SISD:傳統的順序執行的單處理器計算機,其指令部件每次只對一條指令進行解碼,並只對一個操作部件分配數據。單指令多數據流SIMD:以並行處理機【矩陣處理機】為代表,並行處理機包括多個重複的處理單元,由單一指令部件控制,按照同一指令流的要求為它們分配各自所需的不同數據。多指令流單數據流MISD:具有多個處理單元,每個處理單元按不同的指令對同一數據流及其中間結果進行不同的處理。一個處理單元的輸出又作為另一個處理單元的輸入。這類系統實際上很少見。多指令多數據流MIMD:指能實現作業,任務,指令等各級全面並行的多機系統。如多核處理器,多處理機屬於MIMD。三.複雜指令集系統與精簡指令集系統

在計算機系統結構發展的過程中,指令系統的優化設計有兩個截然不同的方向,一個是增強指令的功能,設置一些功能複雜的指令,把一些原來由軟體實現的,常用的功能改用硬體的指令系統來實現,這種計算機統稱為複雜指令系統計算機CISC;另一個是儘量簡化指令功能,只保留那些功能簡單,能在一個節拍內執行完成的指令,較複雜的功能用一段子程序來實現,這種計算機系統統稱為精簡指令系統計算機RISC;

1.CISC指令的特點:

指令數量眾多。指令系統擁有大量的指令,通常有100~250條。指令使用頻率相差懸殊。最常用的是一些比較簡單的指令,僅佔指令總數的20%,但在程序中出現的頻率卻佔80%。而大部分複雜指令卻很少使用。支持很多種尋址方式。支持的尋址方式通常為5~20種。變長的指令。指令長度不是固定的,變長的指令增加指令解碼電路的複雜性。指令可以對主存單元中的數據直接進行處理。典型的CISC通常都有指令能夠直接對主存單元中的數據進行處理,其執行速度較慢。以微程序控制為主。CISC的指令系統很複雜,難以用硬布線邏輯【組合邏輯】電路實現控制器,通常採用微程序控制。2.RISC指令系統的特點RISC要求指令系統簡化,操作在單周期內完成,指令格式要求一致,尋址方式儘可能減少,並提高編譯的效率,最終達到加快機器處理速度的目的。RISC指令系統的主要特點如下:

指令數量少。優先選取使用頻率最高的一些簡單指令和一些常用指令,避免使用複雜指令。只提供了LOAD【從存儲器只讀數】和STORE【把數據寫入存儲器】兩條指令對存儲器操作,其餘所有的操作都在CPU的寄存器之間進行。指令的尋址方式少。通常只支持寄存器尋址方式,立即尋址方式和相對尋址方式。指令長度固定,指令格式種類少。因為RISC指令數量少,格式少,相對簡單,其指令長度固定,指令之間各欄位的劃分比較一致,解碼相對容易。以硬布線邏輯控制為主。為了提高操作的執行速度,通常採用硬布線邏輯來構建控制器。單周期指令執行採用流水線技術。因為簡化了指令系統,很容易利用流水線技術,使得大部分指令都能在一個機器周期內完成。少數指令可能會需要多周期,例如,LOAD/STORE指令因為需要訪問存儲器,執行時間就會長一些。優化的編譯器:RISC的精簡指令集使編譯工作簡單化。因為指令長度固定,格式少,尋址方式少,編譯時不必具有相似功能的許多指令中進行選擇,也不必為尋址方式的選擇而費心,同時易於實現優化,從而可以生成高效率執行的機器代碼。CPU中的通用寄存器數量多,一般在32個以上,有的可達上千個。大多數RISC採用了Cache方案,使用Cache來提高取指令的速度。而且,有的RISC使用兩個獨立的Cache來改善性能。一個稱為指令Cache,另一個稱為數據Cache。這樣,取指令和取數據可以同時進行,互不幹擾。

四.總線

總線是一組能為多個部件分時共享的公共信息傳送線路。共享是指總線上可以掛接多個部件,各個部件之間相互交換信息都可以通過這組公共線路傳送;分時是指同一時刻只允許有一個部件向總線發送消息,如果出現兩個或兩個以上部件同時向總線發送信息,勢必導致信號衝突。當然,在同一時刻,允許多個部件同時從總線上接收相同的信息。

按總線相對於CPU或其他晶片的位置可分為內部總線和外部總線兩種。在CPU內部,寄存器之間和算術邏輯部件ALU與控制部件之間傳輸數據所用的總線稱為內部總線;外部總線是指CPU與內存RAM,ROM和輸入/輸出設備接口之間進行通信的通路。由於CPU通過總線實現程序取指令、內存/外設的數據交換,在CPU與外設一定的情況下,總線速度是制約計算機整體性能的最大因素。

按總線功能來劃分,又可分為地址總線、數據總線、控制總線三類,人們通常所說的總線都包括這三個組成部分,地址總線用來傳送地址信息,數據總線用來傳送數據信息,控制總線用來傳送各種控制信號。

五. 真題

1. 某指令流水線由5段組成,各段所需要的時間如下:

連續輸入100條指令時的吞吐率為(C)。

A.100/800t

B.100/495t

C.100/305t

D.100/300t

【解析】吞吐率是指單位時間裡流水線處理機流出的結果數。對指令而言即為單位時間裡執行的指令數。對於這一題,流水線的子過程所用時間不同,所以指令第一次執行時間應該為(1+3+1+2+1)△t,從第二次開始,指令在流水操作中應該看最長子過程所用時間,一共有(n-1)次,所以總時問為(1+3+1+2+1)△t+3(n-1)△t。本題中連續輸入100條指令,所以完成這100個任務所需的時間為(1+3+1+2+1)△t+3(100-1)△t=305△t,所以吞吐率為100/305△t。

相關焦點

  • 2012計算機大綱解析之計算機組成原理
    :計算機組成原理部分也佔了45分,是分值最高的兩部分之一,可見計算機專業研究生選拔對計算機組成原理課程的要求之重。二、     重難點解析和複習建議(一)考查目標2012年的統考大綱對計算機組成原理的考查目標:1、理解單處理器計算機系統中各部件的內部工作原理、組成結構以及相互連接方式,具有完整的計算機系統的整機概念;2、理解計算機系統層次化結構概念,熟悉硬體與軟體之間的界面,掌握指令集體系結構的基本知識和基本實現方法;3、能夠綜合運用計算機組成的基本原理和基本方法,對有關計算機硬體系統中的理論和實際問題進行計算
  • 計算機組成原理-題庫
    ()A、 時鐘頻率 B、 系統結構 C、 指令集 D、 計算機組織答案: A60、從用戶觀點看,評價計算機系統性能的綜合參數是()。A、 PCI總線是一個與處理器時鐘頻率無關的高速外部總線B、 PCI總線需要人工方式與系統配置C、 系統中只允許有一條PCI總線D、 上述各項均不對答案: A93、連接計算機與計算機之間的總線屬於()總線。
  • 計算機組成原理題庫2
    A、 靜態RAM需要刷新 B、 動態RAM需要刷新答案: B298、在()的計算機系統中,外部設備可以和主存儲器單元統一編址,因此可以不使用I/O指令。答案: 時鐘; 指令寄存器; 各種狀態標記; 控制總線;1.計算機系統中存儲系統指的是( )。A.RAM存儲器 B.ROM存儲器 C.主存 D.主存與輔存答案:D2.下列( )不屬於設計微指令結構時所追求的目標。A. 增大控制存儲器的容量 B.
  • 2019年4月成人自考計算機組成原理真題及答案解析
    全國2019年4月高等教育自學考試計算機組成原理試題課程代碼:02318請考生按規定用筆將所有試題的答案塗、寫在答題紙上。1.CPU中用來存放ALU運算結果的狀態信息的寄存器是A.程序計數器B.指令寄存器C.通用寄存器D.標誌寄存器2.在計算機內部,指令信息採用的表示形式是A.二進位序列B.八進位序列C.十進位序列D.十六進位序列3.二進位數-1101000的8位補碼表示是
  • 全國2020年10月自考計算機組成原理02318真題
    全國2020年10月自考計算機組成原理02318真題一、單項選擇題:本大題共10小題,每小題1分,共10分。在每小題列出的備選項中只有一項是最符合題目要求的,請將其選出。MIPS 計算機的彙編指令「sub $s3, $s2, $s1' 的功能是A. $s3=$s2-$s1B. $s2=$s3-Ss1C. $s3= $s1-$s2D.
  • 國防科大「計算機原理」MOOC課程開講啦!
    開課時間:2018年3月12日
  • 計算機科學與技術和軟體工程都能從事哪些工作?
    計算機作為一個專業大類包括:計算機科學與技術、軟體工程、網絡工程、信息安全等專業,其中計算機科學與技術是最基礎、核心的一個專業,更是各大院校計算機系開設的主要專業,專業學習過程中涵蓋了整個計算機生態體系比如硬體、軟體、網絡,全面並系統地學習了計算機有關知識體系,在本科學習階段理論偏多
  • 《計算機結構原理初步》~試講稿~高中信息技術
    我是高中信息技術組五號考生,我抽到的題目是《計算機結構原理初步》。下面開始我的試講。上課,同學們,請坐。環節一、導入新課我們學習了計算機與信息技術的關係,也了解了計算機在現實生活中的重要意義,那麼計算機是如何產生的呢?它的內部又有哪些部分組成呢?帶著這一系列的問題,這節課就來解答這些問題。我們首先解決第一個問題。
  • 無人機飛控系統的原理是什麼呢?它是由什麼組成的呢?
    無人機飛控系統的原理是什麼呢?它是由什麼組成的呢?剛接觸無人機的小夥伴們是不是有很多疑問下面大家就一起來了解一下吧01飛控:全稱為飛行控制系統飛行控制系統俗稱為飛控,該系統可用來保證飛行器的穩定性和操縱性、提高完成任務的能力與飛行品質、增強飛行的安全及減輕駕駛員負擔。飛行控制系統的分類從不同角度出發有不同的分類方法。
  • 全國2012年4月高等教育自學考試計算機組成原理試題
    全國2012年4月高等教育自學考試計算機組成原理試題一、單項選擇題(本大題共15小題,每小題2分,共30分)在每小題列出的四個備選項中只有一個是符合題目要求的,請將其代碼填寫在題後的括號內。錯選、多選或未選均無分。
  • 國防科大「計算機原理」火熱來襲,參與就有快樂,付出就有收穫!
    國防科技大學MOOC課程《計算機原理》,將於2017年2月28日火熱上線。邀您一起探索計算機世界,體驗計算之美。
  • 計算機的發展史及硬體組成,零基礎小白入門科普
    1、計算機的發展史計算機的發展經歷了4個時代:第一代(1946至1956年)電子管計算機時代第二代(1958至1964年)電晶體計算機時代第三代(1964至1972年)集成電路計算機時代第四代(1972年至今)大規模、超大規模集成電路計算機時代
  • 計算機網絡由幾部分組成?各有什麼功能?
    計算機網絡通常由三個部分組成,它們是資源子網、通信子網和通信協議。所謂通信子網就是計算機網絡中負責數據通信的部分;資源子網是計算機網絡中面向用戶的部分,負責全網絡面向應用的數據處理工作;而通信雙方必須共同遵守的規則和約定就稱為通信協議,它的存在與否是計算機網絡與一般計算機互連繫統的根本區別。
  • Netty架構原理,不怕你看不懂!
    【51CTO.com原創稿件】在分布式系統被廣泛應用的今天,服務有可能分布在網絡中的各個節點中。因此,服務之間的調用對分布式系統來說,就顯得尤為重要。今天,我們來看看 Netty 的基本架構和原理。Netty 的特點與 NIONetty 是一個異步的、基於事件驅動的網絡應用框架,它可以用來開發高性能服務端和客戶端。以前編寫網絡調用程序的時候,我們都會在客戶端創建一個 Socket,通過這個 Socket 連接到服務端。服務端根據這個 Socket 創建一個 Thread,用來發出請求。
  • 2017年10月自考計算機原理考試真題
    全國2017年10月高等教育自考計算機原理試題課程代碼:02384自考真題:2017年10月自考真題及答案匯總|2017年4月自考真題及答案匯總請考生按規定用筆將所有試題的答案塗、寫在答題紙上。1.計算機主機包括A. CPU和外部設備 B.控制器和內存儲器C.
  • 前懂球帝CTO許立強加入字節跳動 曾擔任百度主任架構師
    公開資料顯示,在2009年獲華南理工大學計算機學院碩士學位後,許立強即選擇加入百度,直至2017年5月離開公司加入懂球帝。在百度超過8年的任職期間,許立強主要負責LAMP基礎技術、OXP私有雲和貼吧基礎設施方面的技術工作,曾擔任百度主任架構師一職。
  • 計算機視覺入門大全:基礎概念、運行原理、應用案例詳解
    選自 tryolabs機器之心編譯參與:魔王這是一篇計算機視覺入門指南,從概念、原理、用例等角度介紹了計算機視覺。「機器能夠模擬人類視覺系統」的幻想已經過時了。自 1960 年代第一批學術論文出現以來,計算機視覺已經走了很遠,現代系統已經出現,且它們可以集成到移動應用中。
  • 13張圖搞懂分布式系統服務註冊與發現原理
    引入服務註冊與發現組件的原因先來看一個問題,假如現在我們要做一個商城項目,作為架構師的你應該怎樣設計系統的架構?你心裡肯定在想:這還不容易直接照搬淘寶的架構不就行了。但在現實的創業環境中一個項目可能是九死一生,如果一開始投入巨大的人力和財力,一旦項目失敗損失就很大。作為一位有經驗的架構師需要結合公司財力、人力投入預算等現狀選擇最適合眼下的架構才是王道。
  • 雲計算核心技術架構論壇:技術描繪計算的創新和發展
    其中,私有雲實現業務系統、支撐系統和網元設備的雲化,提升大數據處理能力,助力實現IT集中化管理;公眾雲服務構建雲服務開放平臺,服務行業雲應用,打造雲開放生態環境。 移動私有雲。中國移動在天津和南方基地分別建設規模為2000臺伺服器和2100臺伺服器的資源池,構成企業一級私有雲;安徽、福建、江西等省公司開展省級資源池和大數據平臺的建設。
  • 自動加藥裝置的工作原理和結構組成
    自動加藥裝置的工作原理和結構組成 全自動加藥裝置是以計量泵為主要投加設備、將溶藥箱、攪拌器、液位計、安全閥、止回閥、壓力表、過濾器、緩衝器、管路、閥門、底座、扶梯、自動監視系統、電力控制系統等按工藝流程需要組裝在一個公共平臺上,形成一個模塊,即所謂的撬裝式組合式單元