8086/8088CPU的基本結構與其工作原理

2021-01-18 物理小白菜

之前,我們給出了計算機系統模型,它並不特別針對某一種具體的計算機系統,只是為讀者快速搭建一個深入計算機系統底層的框架。並且,在上一章中,著重介紹的是整個計算機系統的基本組成以及它的工作原理。由於CPU是計算機系統中的核心部件,機器指令的執行是由它來完成的,因此,細化理解CPU的基本結構以及它的工作原理成為學習指令系統的基礎。本章將針對8086/8088CPU晶片,介紹其基本構成與工作原理,為學習下一章的80868088CPU指令系統做好準備。讀者應當注意,這一章的內容組織與之前所學習的不同,一方面,它著重介CPU這一個功能模塊的結構和原理,而不是整個計算機系統;另一方面,它針對的是特定型號的CPU晶片,而不是一般化的模型。

CPU

8086、8088兩種CPU晶片的區別主要在於數據引腳的數量,也即它們所連接的數據總線寬度。8086能夠連接16位數據總線,一次總線操作最多可以讀取一個字(在80868088中為16位)的數據量,而8088隻能連接8位數據總線,一次總線操作最多只能讀取一個字節(8位)。但這兩種CPU晶片的內部結構幾乎是完全一致的,CPU內部能夠並行處理的最大二進位位數都是一個字。接下來我們將了解8086/8088CPU晶片的基本結構與它們的工作原理。想要知道晶片的基本結構即工作原理,我們需要知道以下六點。1.基本的流水線結構從圖4.1.1可以看到,CPU內部結構分為BIU和EU兩個功能模塊。其中BIU的全稱為 Bus Interface Unit,即總線接口單元,其主要功能是實現CPU與系統總線的信號連接、數據交換。所有與總線操作相關的時序過程都由BIU模塊執行,其中最頻繁的是內存單元、埠的數據讀寫操作;所有有關物理地址的計算機過程也由BIU完成。EU的全稱為Execute Unit,即執行單元,它的主要功能為解釋並執行指令。將CPU分為兩個功能模塊的目的在於讀取指令與執行指令這兩個步驟能夠在時間上重疊,從而基本實現流水線結構。

2.指令隊列

指令隊列這一部件位於BIU模塊,它具有多個字節的存儲單元。每次BU模塊啟動讀取下一條指令的操作後,將所讀取到的指令(字節數隨不同指令而變化)暫存在指令隊列中。只要總線出現空閒,BIU模塊就會自動啟動讀取指令的時序操作,直到指令隊列填充滿為止。位於EU中的控制器會將指令隊列中的機器指令操作碼欄位讀取出來,並解碼生成相應控制信號,從而執行指令。指令隊列中的機器指令被讀取的順序按照先進先出FIFO的隊列結構原則,最先由BIU保存在指令隊列中的指令,最先被EU讀出執行。應當注意,讀取指令這一時序過程與執行指令無關,它是由BIU自動啟動的,因而指令隊列與我們後面將要介紹的寄存器組不同,它們不能被機器指令訪問。換言之,我們在設計彙編語言程序時,不能操作指令隊列,它是由CPU自動管理的。

3.控制器控制器位於CPU的EU模塊,它是CPU的控制中心,無論是作用於CPU內部的控信號,還是CPU發送到系統總線的控制信號,幾乎全部在這裡產生,而產生控制信號的依據則來源於對機器指令操作碼欄位的解碼。由於本教材只說明CPU工作的基本原理,因此指令解碼器的原理與設計方法請讀者參閱《計算機組成原理》相關教材。控制器按照機器指令規定的時序產生控制信號,如果控制信號需要發送到控制總線,則控制器將這些控制信號傳送到BU模塊的總線控制邏輯這一部件,由總線控制邏輯將控制信號傳遞到控制總線。4.地址加法器地址加法器位於BIU模塊,它的功能是由邏輯地址計算物理地址,並最終由該器件將物理地址傳送到BIU的總線控制邏輯,再由總線控制邏輯將物理地址傳送到地址總線。在說明地址加法器的運算原理前,我們將先說明邏輯地址的概念,以及CPU對內部存儲器的分段管理方式。我們已經說明了8086/8088CPU能支持的地址總線寬度以及物理地址範圍,8086/8088CPU能支持的地址總線寬度為20位,對於內部存儲器而言,其尋址範圍為1M字節,而訪問埠時僅使用地址總線的低16位,因而埠尋址範圍為64K字節。在CPU內部,所有寄存器的二進位位數最大為16位,因此,沒有哪一個寄存器能夠存放20位的物理地址。那麼,我們如何在CPU內部表達外部存儲單元的物理地址呢?為了協調CPU內外地址位數的差異,8086/8088CPU採用了對存儲器的分段管理方式,並使用邏輯地址為CPU內部的物理地址表達形式。首先,解釋段的概念,一個段是指位於內部存儲器中的一塊連續存儲空間,它由物理地址連續的多個字節單元構成。那麼,何謂邏輯地址?它與物理地址的關係又是怎樣的呢?邏輯地址由兩個16位的地址分量構成,其中一個為段基址,另一個為偏移量,兩個分量均為無符號數編碼。邏輯地址轉換為物理地址運算過程可表示:

段基址=段基值 * 16

物理地址=段基址+偏移量

首先,16位的段基址左移4位,低位補充4個0,相當於乘以24,得到20位的段基址。段基址為20位,已經可以理解為物理地址,但它僅是一個段的起始地址,要使CPU能夠定位段內的所有內存單元,那麼必須在段基址的基礎上加上偏移量。偏移量的含義為距離段基址的偏移字節數。偏移量指定不同,那麼所訪問的內存單元也就不同。應當注意,20位的段基址與16位的偏移量相加,是低位對齊的加法,加法結果即為20位物理地址。我們還應當注意,任意指定一個確定的邏輯地址,那麼經過式(4.1.1)轉換後得到的物理地址是唯一的,換言之,給定一個邏輯地址,就能唯一地定位一個內存單元。但是相反的轉換過程並不能得到唯一的結果,給定一個物理地址,我們並不能得到唯一的段基址、偏移量分解,好在這種逆轉換在系統內是沒有用途的,地址加法器也只實施由邏輯地址到物理地址的轉換那麼,既然在CPU內部使用的是邏輯地址,相應地,我們在進行彙編語言程序設計時所使用的內存單元地址也就是邏輯地址,而非物理地址。物理地址僅在CPU執行總線操作時出現,換言之,物理地址存在於程序的執行階段,而非程序的設計階段。對埠地址而言,由於其僅使用地址總線的低16位,因此,邏輯地址等同於物理地址,我們不去區分它們地址加法器所完成的操作就是將邏輯地址轉換為物理地址後,提交給總線控制邏輯。這樣的地址轉換可能發生在BU讀取指令時,也可能發生在EU執行指令時,還可能發生在其他的時序過程中。最後,讀者也許會問:段基值與偏移量分別保存在CPU的什麼位置呢,它們是怎樣計算得到的呢?CPU中提供了一個段寄存器組,段基值就是由這一組16位段寄存器提供的。而偏移量的獲取方式則豐富得多,也複雜得多,它們既可以來自於機器指令中的位移量欄位,也可以來自於指令指針寄存器,或者有幾種分量相加而得到。有關偏移量的獲取方式,我們將在以後分析尋址方式時詳細討論。

地址

5.運算器運算器位於CPU的EU模塊,用於完成機器指令要求的算術運算、邏輯運算功能,是CPU內的運算中心,最大支持雙操作數運算,例如兩個操作數相加或相減等,它除了完成機器指令指定的數據運算外,還可用於生成邏輯地址中的偏移量分量。若為數據運算,其操作數可能來源於數據寄存器、內存單元、指令中的立即數;若為偏移量運算,其操作數均解釋為偏移量分量,來源於地址指針寄存器、指令中的位移量。如果機器指令有這樣的要求,運算器會將運算過程和運算結果的某些性質按照標誌位的形式保存到標誌寄存器。有關運算器的詳細原理,我們將在第5章學習基本指令系統時體會到6.總線控制邏輯總線控制邏輯位於BIU模塊,用於控制在適當的時刻向總線傳遞相應信號,或從總線上接受相應信號,CPU只能通過總線控制邏輯才能與系統總線實現信號交互。由於總線控制邏輯是CPU自動進行管理的,我們的指令沒辦法直接操作該器件,因此在這裡不詳述其原理,讀者可參閱《計算機組成原理》相關教材。

這就是CPU的基本原理及其運行的原理

相關焦點

  • 8086CPU中文資料匯總(8086引腳圖及功能_工作原理及應用電路)
    CLK為CPU提供基本的定時脈衝信號。8086CPU一般使用時鐘發生器8284A來產生時鐘信號,時鐘頻率為5MHz~8MHz,佔空比為1:3。   ⑾VCC電源輸入引腳。   8086CPU採用單一+5V電源供電。   ⑿GND:接地引腳。   ⒀MN/MX/(minimum/maximum):最小/最大模式輸入控制信號。
  • 8086的一些答案
    1. 8086/8088為什麼採用地址/數據引線復用技術?考慮到晶片成本,8086/8088採用40條引線的封裝結構。40條引線引出8086/8088的所有信號是不夠用的,採用地址/數據線復用引線方法可以解決這一矛盾,從邏輯角度,地址與數據信號不會同時出現,二者可以分時復用同一組引線。
  • 第二章 8086微處理器
    5、8088是準16位處理器,其指令系統與8086完全兼容,CPU內部結構仍為16位,但外部數據總線是8位。6、為了充分使用總線以提高程序執行速度,被設計成兩個獨立功能部件:執行部件EU和總線接口部件BIU。
  • 四十年的輪迴:關於8086K的前世今生
    2018年6月8日,英特爾為了紀念8086處理器的誕生,發布了最新的第八代酷睿 i7-8086K處理器。至此,8086與8086K完成了40年的輪迴。前世:X86架構處理器的鼻祖,隨後於1979年又生產了低成本簡化版的8086——8088。
  • 有史以來最具影響力的晶片:42年歷史的8086裸片拆解分析
    英特爾8086微處理器是在42年前的上個月推出的, 我們為此款晶片製作了一些高解析度的裸片以示紀念。8086是有史以來最有影響力的晶片之一。它開創了x86體系結構,該體系結構如今仍佔據著臺式機和伺服器計算的主導地位。下圖是8086的裸片照片。在這張照片中,可以看到晶片的金屬層,大部分遮住了其下的矽片層。
  • 加力燃燒室的工作原理與基本結構
    基本工作原理渦輪後再噴油燃燒的可能性:從壓氣機流入燃燒室的空氣除了少部分參與燃燒以外,大部分空氣充當摻混和冷卻的功用。因此,渦輪出口燃氣中含有70%左右的未參加燃燒的空氣,故而可能再和噴入的燃油進行燃燒。
  • 硬體歷史學堂:開創時代的 Intel 8086 處理器
    為了推動這個項目在預定時間完成,當時的設計團隊在位於加州聖克拉拉縣沃爾什大道的一處租用的設施內星夜兼程,工作了許許多多的夜晚和周末。晶片最終按時於1978年6月上市。史無前例的開創    8086是第一款16位處理器,並且使用了能提供全新層次的性能與靈活性的開創性的架構。
  • 2018年自考《微型計算機原理及應用》試題
    (    )2、在8086CPU構成的微機系統中,數據可以存放在幾個不連續的段中。(  )3、DMA方式不能實現內存與接口之間數據的直接交換。(   )4、8086 的可屏蔽中斷不受IF標誌位的影響,但需要從數據線上讀取中斷類型碼。(   )5、構成一個最小8086 CPU的微機系統只需8086、8282、8286就夠了。
  • 彙編語言指令的基本形式
    這次我們將正式進入8086/8088CPU指令系統的學習。首先我們給出8086/8088CPU中彙編指令的基本格式。由於彙編指令格式是由機器指令格式演化而來的,因此,儘管我們沒有直接討論機器指令,讀者也能體會到機器指令的構成。構成彙編指令的基本元素包括操作助記符與操作數(或操作數地址)。
  • 2、認識計算機核心,CPU是如何工作的,了解CPU結構及工作原理
    1、CPU的外形及結構CPU是整個計算機系統的核心部件,外部結構如下圖所示。CPU看上去非常簡單,是一個矩形片狀物體。其中間凸起部分是CPU核心,它一般是一片指甲大小的、薄薄的矽晶片,在這塊小小的矽片上,密布著數以千萬計的電晶體,它們相互配合協調,完成各種複雜的運算和操作。
  • 什麼是CPU的寄存器
    在8086/8088CPU的指令集中,大多數指令會使用CPU內部的寄存器,並且這些寄存器都是各不相同的,每個寄存器都有自己特殊的功能。因此,理解CPU中各寄存器的功能是進一步學習指令系統的前提條件。本節將結合4.1節對80868088CPU內部結構與工作原理的分析,集中介紹這兩種CPU晶片的寄存器組。
  • 四十年來感謝有你,i7-8086K零售版盒裝簡易開箱!
    他的名字叫作8086。    1978年的6月8日,第一種X86構架設計的處理器intel 8086面世。這塊小小,還不到50個針腳的爬蟲樣處理器,在當時引發了不小震驚,從設計到最終產品的面世用了僅不到三個月。而這個小小的處理器,不僅兼容了以往Intel的8008,8080,8085處理器,還帶來了不小的性能提升。
  • 42年前的Intel 8086處理器高清照來了 蘋果想取代不容易
    在x86歷史上,Intel在1978年推出的8086處理器是鼻祖,正式奠定了x86生態,Intel為此開發了新的兼容指令,以後升級的話之前的代碼還能繼續用,這在當時可是劃時代的成就,x86兼容了數十年的代碼就是從此而來。
  • 英特爾發布40周年紀念版i7-8086K,並準備抽取全球8086幸運用戶贈送
    40周年的紀念版處理器——i7-8086K。  40年前的8086——x86架構處理器的鼻祖  1978年,英特爾發布了首個基於x86架構設計的16位處理器——8086,從第一版的指令集到頂層的體系結構,8086僅用時3
  • 吸塵器的結構及工作原理.
    2)按功能分類:乾式吸塵器、乾濕兩用吸塵器、旋轉刷式地毯吸塵器、打蠟吸塵器等。①Ⅰ類:僅基本絕緣,若損壞即有觸電危險,殼體都接地。②Ⅱ類:雙重絕緣(基本絕緣,保護絕緣),不用接地。③Ⅲ類:額定電壓低於42V,有隔離變壓器或蓄電池供電,用於火車、汽車、船舶等。4)推桿式:自下而上,依次為吸嘴、電動機、風機、濾塵器和集塵器等部件。其主要特點是使用方便,操作者不必彎腰。
  • x86架構鼻祖 英特爾8086處理器高清圖片曝光
    近日,推特用戶發布了一組x86架構處理器鼻祖——英特爾8086處理器的高清照片。8086處理器是英特爾在42年前(1978年)發布的首個基於x86架構設計的16位處理器,從第一版的指令集到頂層的體系結構,8086僅用時3個月。
  • 揚聲器的結構和工作原理
    1、揚聲器的結構本文引用地址:http://www.eepw.com.cn/article/201807/384649.htm揚聲器有許多種類,但其基本的工作原理是相似的,均是一種將電信號轉換為聲音信號進行重放的元件。
  • 處理器體系結構――了解CPU的基本原理
    一、物理結構在你了解你的CPU如何工作以前,你應該知道它是由什麼製成的。CPU是由數百萬在顯微鏡下才能看得見的電晶體,經過化學的和照相平板印刷的過程,蝕刻到一塊磨光了的只有你拇指甲蓋大小的矽片上而形成的。那些微小的電晶體用來存儲表示0、1的電荷,而0、1則構成了計算機所能使用的二進位語言。
  • 「數字世界」基本的工作原理
    導讀:重磅系列文章《數字孿生——一半是火焰,一半是海水》第三篇之「數字世界」基本的工作原理。首先回顧並評述了數據孿生概念的起源,其次回顧並評述了各大工業軟體巨頭是如何定義和使用數字孿生的,之後從「數字世界」基本的工作原理角度重新審視了數字孿生,在前述工作的基礎上給出了個人關於數字孿生的觀點,並對想進入該領域的後來者給出了本人的忠告。本系列文章的寫作,得到了e-works數位化企業網總編黃培博士的鼓勵,並給出了寶貴的意見,在此表示衷心的感謝!。