回覆列表
-
1 # 使用者1964061510246
相關內容
- 8086cpu功能上分為幾個部分?
- 求一個程式,微機原理,8086組合語言,實現一個簡單實用功能,如時鐘顯示?
- 現代彙編教材還是基於8086,對理解當今CPU(如i9)有幫助嗎,還是教程太滯後?
- 用8086組合語言實現兩個無符號32位二進位制數相加,並顯示結果。注:輸入、輸出都採用10進位制形式?
- 舉例說明8086中20位物理地址生成過程?
- 說明8086的指令週期、匯流排週期和時鐘週期的區別和關係?
- 計算機中8086是什麼意思?
- 8086或8088cpu的資料與地址匯流排是分別獨立存在的還是分時複用的?
- 8086微處理器由哪幾部分組成?各部分的功能是什麼?
- 8086系統中的儲存器為什麼要採用分段結構?有什麼好處?
Intel8086是一個由Intel於1978年所設計的16位元微處理器晶片,給了x86架構興起開端。不久,Intel8088就推出了,擁有一個外部的8位元匯流排,允許便宜的晶片用途。它是以8080和8085(它與8080有組合語言上的原始碼相容性)的設計為基礎,擁有類似的暫存器集合,但是擴充為16位元。匯流排介面單元(BusInterfaceUnit)透過6位元組預存(prefecth)的貯列(queue)喂指令給執行單元(ExecutionUnit),所以取指令和執行是同步的–一種pipelining的原始形式(8086指令長度變化從1到4位元組)。 Intel8086擁有四個16位元一般的暫存器,也能夠當作八個8位元暫存器來存取,以及四個16位元索引暫存器(包含了堆疊指標)。資料暫存器通常由指令隱含地使用,針對暫存值需要複雜的暫存器配置。它提供64K8位元的輸出輸入(或32K16位元)埠,以及固定的向量中斷。大部分的指令只能夠存取一個記憶體位址,所以其中一個運運算元必須是一個暫存器。運算結果會儲存在運運算元中的一個。 Intel8086有四個記憶體區段(segment)暫存器,可以從索引暫存器來設定。區段暫存器可以讓CPU利用奇怪的方式存取記憶體的1MB。在現今有區段的處理器中,8086把區段暫存器左移4位元然後把它加上去位址。大部分的人都認為這是一個很不好的設計,因為這樣的結果是會讓各區段有重疊。儘管這樣對組合語言而言大部分被接受(也甚至有用),可以完全地控制區段,但是在語言中,讓使用指標(像是C程式語言)變得困難。它導致指標的高效率表示變得困難,且有可能產生兩個指向同一個地方的指標擁有不同的位址。更壞的是,這種方式產生要讓記憶體擴充到大於1MB的困難。而80286的定址方式改變讓記憶體擴充較有效率。 處理器的執行時脈速度介於4.77(在原先的IBMPC)和10MHz.8086沒有包含任何的浮點指令,但是可以連線到數學輔助處理器來增加它的能力。Intel8087是標準版本,但是製造商像是Weitek隨即提供更高效能的選擇性。 第一個以8086為基礎的商業微電腦是Mycron2000。 IBMDisplaywriter文字處理機也使用8086。在大部分顯要的所有微處理器中,IBMPC使用了更窄的記憶體匯流排版本的8086也就是Intel8088。