tft每日頭條

 > 生活

 > 計算機基礎知識講解第三講

計算機基礎知識講解第三講

生活 更新时间:2024-10-04 03:29:36
前言

随着工作年限的增加和工作内容的深入,不知不覺的發現想要成為一名優秀的IT工程師,對于一些底層原理的了解是必不可少的。遂希望能在文章中概括的記錄一些比較重要的方面,來助力初學者以及希望有大緻輪廓的同學一個比較系統的概念。由于我也是非科班出身(本科通信,研二重點才重點關注的計算機),對有些地方的理解可能也不是透徹,可以一起讨論。由于平時工作比較多,很難抽出時間,目前希望能夠每一兩周能夠輸出一篇文章,前期是一些基礎理論方向的,後期可能會結合工作中的一些項目多聊聊一些技術解決方案的事情。

簡介

認識計算機,首先了解計算機到底是什麼。我們以一種高視角看上去,它整體分為兩部分,即硬件系統和軟件系統。

那麼,再分下去,硬件系統有哪些呢?無非是:

1.CPU(運算器、控制器、Cache)

2.存儲系統(高速緩存、主存儲器、外存設備)

3.輸入/ 輸出設備等主要組成部分

那麼這些硬件系統之間靠什麼聯系的呢?

答曰:它們總是通過總線和接口連接在一起,就和社會學原理大緻一樣,人和關系構成整個社會體系。實體設備和線路網構成計算機硬件體系。

此處應有最經典馮諾伊曼體系配圖:

計算機基礎知識講解第三講(計算機入門必讀-計算機組成)1

簡而言之就是,以存儲為中心,總線為聯系,分散控制。

以下是幾個核心組成的定義和作用:控制器:按規定管理指揮,類似于人的大腦。處理指令的。

功能:

1.正确執行每條指令(單條指令),也就是 取-》分析-》執行

2.保證指令按規定序列自動連續執行。(多個指令)

3.對異常情況和請求及時響應和處理。

運算器: 數據加工

其主要功能包括:

1.算術運算,邏輯運算

所有的運算功能由一個被稱為ALU(算術邏輯單元)的電路完成。

功能強的ALU還能執行:定點運算、浮點運算,向量運算。

2.暫放參加運算的數據和中間結果。(由多個通用寄存器來完成)

存儲器:

其一般分為三級,分别是高速緩沖存儲機器,主存儲器,輔助存儲器,這三級存儲器的存儲介質,工作原理,以及特性也各有差異。目前的計算機存儲體系一般是緩存->主存->輔存這三級存儲體系,如圖

計算機基礎知識講解第三講(計算機入門必讀-計算機組成)2

系統總線:

借助系統總線的連接,計算機在各系統部件之間實現地址信号,數據信号,控制信号的傳送。

CPU:

計算機基礎知識講解第三講(計算機入門必讀-計算機組成)3

CPU 相當于計算機的大腦,主要是和内存進行交互,從内存中讀取指令和數據并且執行它們。

說到CPU,就得去提一提指令集,目前主流CPU都是基于X86 指令集,像ARM 有ARM指令集,還有我們的榮譽産品龍芯用的MIPS指令集,不同的指令集決定了可以執行程序的隔閡,即X86的程序在ARM上不能執行。

同時,為了實現CPU能處理數據更快,往往CPU中有自己的寄存器來存儲一些關鍵變量和臨時結果。一般而言,指令集中會有一些指令把一些關鍵字從内存中加載到寄存器中,反之也有。與此同時,cpu中還有一些跟程序執行的過程狀态有關的寄存器。比如堆棧指針寄存器,程序狀态字寄存器等等,這些寄存器在進程調度,函數調用等情況下起着至關重要的作用。

在我們買電腦的時候,經常會聽到幾核幾線程,那個究竟是什麼呢?多核指的是CPU 芯片上都具有多個的處理器或内核。多核芯片在其上有效地承載了多個個微型芯片,每個微型芯片都有自己的獨立CPU。

存儲設備

計算機基礎知識講解第三講(計算機入門必讀-計算機組成)4

自頂向下,頂層的存儲訪問速率高,但是價格成本也貴。

1.寄存器

存儲器的頂層是 CPU 中的寄存器,集成在cpu中,其材料和cpu相同,速度在所有存儲介質中最快,但是價格昂貴。

2.高速緩存

其速度介于寄存器和内存之間,當應用程序需要從内存中讀取去相關數據時,系統會先檢查其所需但數據是否在高速緩存中,如果命中高速緩存,就從中獲取,如果沒有,則從内存中獲取。它們存在但意義就是為了平衡CPU處理速度與内存讀寫但速度差異。為了更好的處理這種差異,往往在架構中存在着多級緩存的設計.

3.主存

也就是我們常說的内存,又叫RAM(Random Access Memory),它的特點就是易失性,也就是斷電以後其數據内容會丢失。速度快于硬盤,但次于高速緩存。

4.硬盤

目前市場上比較常見但也是機械硬盤和固态硬盤。

機械硬盤主要由磁盤盤片、磁頭、主軸與傳動軸等組成,數據就存放在磁盤盤片中。大家見過老式 的留聲機嗎?留聲機上使用的唱片和我們的磁盤盤片非常相似,隻不過留聲機隻有一個磁頭,而硬盤是上下雙磁頭,盤片在兩個磁頭中間高速旋轉。

計算機基礎知識講解第三講(計算機入門必讀-計算機組成)5

也就是說,機械硬盤是上下盤面同時進數據讀取的。而且機械硬盤的旋轉速度要遠高于唱片(目前機械硬盤的常見轉速是 7200 r/min),所以機械硬盤在讀取或寫入數據時,非常害怕晃動和磕碰。另外,因為機械硬盤的超高轉速,如果内部有灰塵,則會造成磁頭或盤片的損壞,所以機械硬盤内部是封閉的,如果不是在無塵環境下,則禁止拆開機械硬盤。

什麼是磁道呢?每個盤片都在邏輯上有很多的同心圓,最外面的同心圓就是 0 磁道。我們将每個同心圓稱作磁道(注意,磁道隻是邏輯結構,在盤面上并沒有真正的同心圓)。硬盤的磁道密度非常高,通常一面上就有上千個磁道。但是相鄰的磁道之間并不是緊挨着的,這是因為磁化單元相隔太近會相互産生影響。

那扇區又是什麼呢?扇區其實是很形象的,大家都見過折疊的紙扇吧,紙扇打開後是半圓形或扇形的,不過這個扇形是由每個扇骨組合形成的。在磁盤上每個同心圓是磁道,從圓心向外呈放射狀地産生分割線(扇骨),将每個磁道等分為若幹弧段,每個弧段就是一個扇區。每個扇區的大小是固定的,為 512Byte。扇區也是磁盤的最小存儲單位。

柱面又是什麼呢?如果硬盤是由多個盤片組成的,每個盤面都被劃分為數目相等的磁道,那麼所有盤片都會從外向内進行磁道編号,最外側的就是 0 磁道。具有相同編号的磁道會形成一個圓柱,這個圓柱就被稱作磁盤的柱面。

硬盤的大小是使用"磁頭數 x 柱面數 x 扇區數 x 每個扇區的大小"這樣的公式來計算的。其中,磁頭數表示硬盤共有幾個磁頭,也可以理解為硬盤有幾個盤面,然後乘以 2;柱面數表示硬盤每面盤片有幾條磁道;扇區數(Sectors)表示每條磁道上有幾個扇區;每個扇區的大小一般是 512Byte。

硬盤還有接口的概念。機械硬盤通過接口與計算機主闆進行連接。硬盤的讀取和寫入速度與接口有很大關系。大家都見過大禮堂吧,大禮堂中可以容納很多人,但是如果隻有一扇很小的門,那麼人是很難進入或出來的,這樣會造成擁堵,甚至會出現事故。機械硬盤的讀取和寫入也是一樣的,如果接口的性能很差,則同樣會影響機械硬盤的性能。

目前,常見的機械硬盤接口有以下幾種:

  • IDE 硬盤接口(Integrated Drive Eectronics,并口,即電子集成驅動器)也稱作 "ATA硬盤" 或 "PATA硬盤",是早期機械硬盤的主要接口,ATA133 硬盤的理論速度可以達到 133MB/s(此速度為理論平均值)。
  • SATA 接口(Serial ATA,串口),是速度更高的硬盤标準,具備了更高的傳輸速度,并具備了更強的糾錯能力。目前已經是 SATA 三代,理論傳輸速度達到 600MB/s(此速度為理論平均值)。
  • SCSI 接口(Small Computer System Interface,小型計算機系統接口),廣泛應用在服務器上,具有應用範圍廣、多任務、帶寬大、CPU 占用率低及熱插拔等優點,理論傳輸速度達到 320MB/s。

固态硬盤和傳統的機械硬盤最大的區别就是不再采用盤片進行數據存儲,而采用存儲芯片進行數據存儲。固态硬盤的存儲芯片主要分為兩種:一種是采用閃存作為存儲介質的;另一種是采用DRAM作為存儲介質的。目前使用較多的主要是采用閃存作為存儲介質的固态硬盤,如圖所示:

計算機基礎知識講解第三講(計算機入門必讀-計算機組成)6

輸入輸出系統

輸入輸出系統涉及的内容比較複雜,重點在于IO設備如何與主機交互信息數據的控制方式以及響應的接口功能和組成。

I/O設備于主機交換信息的有五種方式,程序查詢,中斷,DMA,I/O通道方式和I/O處理機方式,重點是前三種。

程序查詢方式:其是cpu通過程序不斷的輪詢I/O設備是否已經做好準備,從而控制I/O設備與主機交換信息。其通過在IO設備内部接口設置一個用來标志是否準備就緒的狀态标記,CPU通過輪詢這種狀态标記來實現相互之間的信息交換。過程如下圖:

計算機基礎知識講解第三講(計算機入門必讀-計算機組成)7

中斷方式:中斷方式是一種IO設備主動要求CPU的暫停目前的處理工作而去處理其任務的一種方式,其減少來cpu輪詢所帶來的開銷,但是其硬件電路設計和軟件中斷程序上要相對複雜。流程圖如下:

計算機基礎知識講解第三講(計算機入門必讀-計算機組成)8

DMA(直接存儲訪問):中斷方式雖然消除了程序查詢方式中輪詢帶來的消耗,但是CPU在響應中斷請求後必須中斷當前的程序,并且為了完成IO設備與主機的信息交換,還不得不占用一些CPU的寄存器,同樣是消耗的一種。在DMA方式中,主存與IO設備有一條數據通路,主機與IO設備做信息交換時候無需中斷服務程序,即DMA 方式下,CPU依舊可以處理服務程序,進一步提高了CPU的使用效率。 其原理圖如下:

計算機基礎知識講解第三講(計算機入門必讀-計算機組成)9

總線設備

計算機各個部件之間的連接方式有兩種,一種是分散連接,即各個部件通過單獨的連接方式,另一種是總線連接,也就是各個部件連接到一個公共通信線路上去。随着計算機設備越來越多,總線連接方式在這個大背景下應運而生。

總線連接方式按照連接設備可以分為片内總線和系統總線,片内總線主要指cpu芯片内部,寄存器與寄存器,寄存器與邏輯運算單元(ALU)之間的連接。系統總線指cpu,存儲設備,以及IO設備等各個大部件之間的信息傳輸線連接。

重點在于系統總線,其又細分為數據總線,地址總線和控制總線。

數據總線:顧名思義,數據總線是用來在各個設備之間傳輸數據信息的。其為雙向傳輸總線,數據總線的條數稱為數據總線的寬度,如果數字總線寬度為8位,指令字長16位,那麼,cpu在取指令階段,必須訪問兩層主存。

地址總線:地址總線主要用來傳輸數據總線上的源數據或者目的數據在主存單元的地址,比如,你需要從存儲器讀入一個數據,cpu需要将此數據所在的存儲單元的地址發送到地址總線上去。同理,如果你想要輸出一個數據到設備上去,這時候,你不僅需要把數據發送到數據總線,你同時也要把設備的地址送到地址總線上去。地址總線上的代碼總是用來指明cpu将要訪問的存儲單元或者IO設備的地址。其為單向傳輸的。

控制總線:由于無論是地址總線還是數據總線,其被挂在其上的所有設備所共享,那麼就需要控制總線來控制其上的各個設備部件的使用權,因此,控制總線是用來傳輸各種控制信息的傳輸線,同時,它還其着監視各個部件狀态的作用。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved