linux內核筆記(二)微機計算機組成結構


一個系統有四個基本組成部分:

  • 輸入部分:接收系統的數據(鍵盤等)
  • 處理中心:處理(cpu)
  • 能源部分:處理需要的硬件資源(內存等)
  • 輸出部分:顯示給用戶(顯示器等)

計算機系統分為:

計算機系統分為軟件系統硬件系統 ,兩者相互依存
硬件:計算機的可見部分,物質,可摸得着的。(人的器官)
軟件:控制硬件操作和動作的指令流。(大腦思維)

微型計算機組成原理:

一個傳統微型計算機硬件組成結構:
cpu通過
地址線:內存或I/O設備的地址(讀寫的具體位置)
數據線:cpu和內存或I/O設備之間提供數據傳輸的通道
控制線:讀 和 寫
內部總線:地址線和數據線都是32位 因此地址空間范圍是2的32次方 從0到4GB
和其他部分進行數據通信.
中斷控制器:intel8259A
DMA控制器:intel8237A
定時控制器:intel8253定時芯片
鍵盤控制器intel8042芯片與鍵盤中的掃描電路進行通信

I/O端口尋址和訪問控制方式

I/O端口和尋址

cpu要訪問I/O接口控制器或控制卡上的數據和狀態信息,需要找到他們的地址。這種地址就稱為I/O端口或簡稱端口
端口地址的設置方式:統一編址獨立編址

  • 端口統一編址:I/O接口控制器將所有端口歸入存儲器尋址地址空間范圍。(存儲器映像地址,用訪問內存的指令)
  • 端口獨立編址:I/O控制器和控制卡的尋址空間單獨作為一個獨立的地址空間對待。(專門的I/O指令來訪問端口)

I/O接口數據傳輸控制方式:

  • 程序循環查詢方式:cpu通過程序中循環查詢指定設備控制器的狀態來判斷是否可以與設備進行數據交換。缺點:特別耗費CPU寶貴時間
  • 中斷處理方式:需要有中斷控制器的支持相當於cpu中斷當前的程序去執行相應的I/O中斷處理服務過程,完成后然后去執行以前的程序
  • DMA傳輸方式:直接存儲器訪問用於I/O設備與系統內存之間進行批量數據傳送,整個過程需要使用專門的DMA控制器來進行而無需CPU插手,這種操作效率很高

主存儲器、BIOS和CMOS存儲器

主存儲器(內存)

以前的DOS操作系統流行年代,640K或1MB內存容量基本上能滿足普通應用程序的運行都采用Intel32位CPU,即都是PC/AT計算機。因此CPU的物理內存尋址范圍已經高達4GB.
當計算機上電初始化,物理內存被設置從地址0開始的連續區域。除了地址0xA0000到0xFFFFF(640K到1M共384K)和0xFFFE0000到0xFFFFFFFF(4G處的最后一64K)范圍以外的所有內存都可以操作系統內存。這兩個特定范圍被用於I/O設備和BIOS程序。
假設我們的計算機中有16MB的物理內存,
那么在linux0.1x系統中,0--640K將被作用存放內核代碼和數據。
640k--1M之間的384K仍然保留用作圖中指明的用途。
0xA0000開始的128K用作顯示內存緩沖區,,隨后部分用於其他控制卡的ROMBIOS或其映射區域。
0xF0000到1M范圍用於高端系統ROMBIOS的映射區。
1M--16M將被內核用於作為可分配的主內存區
另外高速緩存區和內存虛擬盤也會占用內核代碼和數據后面的一部分內存區域,該區域通常會跨越640K--1M的區域。

基本輸入/輸出程序BIOS

存放在ROM中的系統BIOS程序主要用於計算機開機時執行系統的各部分的自檢,建立起操作系統需要使用的各種配置表,例如中斷向量表,硬盤參數表,提供硬件設備接口服務。由於BIOS的這些服務不具備可重入性(即程序不可並發運行)。
開機時:cpu將段寄存器CS設置為0xF000其段地址則被設置為0xFFFF0000,段長設置為64K IP被設置為0xFFF0,因此cpu代碼指針指向0XFFFFFFF0處,即4G空間最后一個64J的最后16字節處(ROMBIOS存放的位置)
BIOS里會存放一條jmp指令跳轉到BIOS代碼中64KB范圍內的某一條指令執行
最后:BIOS就會從硬盤或其他塊設備把操作系統引導程序加載到0x7c00處,並跳轉到這個地方繼續執行引導程序。

CMOS存儲器

CMOS(Complementary Metal Oxide Semiconductor,互補金屬氧化物半導體)存儲器來存放計算機的實時時鍾信息和系統硬件配置信息。
CMOS的內存地址空間在基本內存地址空間之外,需要使用I/O指令來訪問

中斷控制器

兩個級聯的8259A可編程中斷控制芯片組成一個中斷控制器,用於實現I/O設備的中斷控制數據存取方式,並且為15個設備提供獨立的中斷控制功能,

DMA控制器

DMA控制器的主要功能是通過讓外部設備直接與內存傳輸數據來增強系統的性能,它由機器上的Intel 8237芯片或其兼容芯片實現。通過對DMA控制器進行編程,外設與內存之間的數據傳輸能在不受CPU控制的條件下進行。因此在數據傳輸期間,CPU可以做其他事情。

定時/計數器

用於處理計算機中的精確時間延遲。該芯片提供了3個獨立的16位計數器通道。每個通道可工作在不同的工作方式下,並且這些工作方式均可以使用軟件來設置。

鍵盤控制器

當按一個鍵被按下時,鍵盤發送的掃描碼稱為接通碼
當松開一個鍵時,被稱為斷開碼

串行控制卡

  • 通信協議:計算機設備與計算機設備之間的語言(有效數據長度的格式:幀)
  • 幀信息包括:起始同步信息和傳輸的實際數據和校驗信息
  • 串行通信:指在線路上以比特位數據流一次一個比特進行傳輸的通信方式。包括異步(以字符為單位)和同步串行(多個字符或字節組成的序列作為一個幀數據進行傳輸)兩種類型。他們之間的主要區別在於傳輸時同步的通信單位或幀的長度不同。
  • 異步串行傳輸格式

顯示控制

硬盤控制(外存儲設備,用磁性介質來保存信息)





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM