Intel 8086
维基百科,自由的百科全书
8086是一個由Intel於1978年所設計的16位元微處理器晶片,給了x86架構興起開端。在短短之後,Intel 8088就推出了,擁有一個外部的8位元匯流排,允許便宜的晶片用途。它是以8080和8085(它與8080有組合語言上的原始碼相容性)的設計為基礎,擁有類似的暫存器集合,但是擴充為16位元。匯流排界面單元(Bus Interface Unit)透過6位元組預存(prefetch) 的貯列(queue)餵指令給執行單元(Execution Unit),所以取指令和執行是同步的–一種 pipelining 的原始形式(8086 指令長度變化從 1 到 4 位元組)。
它擁有四個16位元一般的暫存器,也能夠當作八個8位元暫存器來存取,以及四個16位元索引暫存器(包含了堆疊指標)。資料暫存器通常由指令隱含地使用,針對暫存值需要複雜的暫存器配置。它提供64K 8 位元的輸出輸入(或32K 16 位元)埠,以及固定的向量中斷。大部分的指令只能夠存取一個記憶體位址,所以其中一個運算子必須是一個暫存器。運算結果會儲存在運算子中的一個。
它也有4個記憶體區段(segment) 暫存器,可以從索引暫存器來設定。區段暫存器可以讓CPU利用奇怪的方式存取記憶體的1MB。在現今有區段的處理器中,8086 把區段暫存器左移 4 位元然後把它加上去位址。大部分的人都認為這是一個很不好的設計,因為這樣的結果是會讓各區段有重疊。儘管這樣對組合語言而言大部分被接受(也甚至有用),可以完全地控制區段,但是在語言中,讓使用指標 (像是 C 程式語言) 變得困難。它導致指標的高效率表示變得困難,且有可能產生兩個指向同一個地方的指標擁有不同的位址。更壞的是,這種方式產生要讓記憶體擴充到大於1MB的困難。而80286的定址方式改變讓記憶體擴充較有效率。
處理器的執行時脈速度介於4.77(在原先的IBM PC)和10 MHz.
一般的執行週期時間 (預估):
- 加法: 3–4 (暫存器), 9+EA–25+EA (記憶體存取)
- 乘法: 70–118 (暫存器), 76+EA–143+EA (記憶體存取)
- 搬移: 2 (暫存器), 8+EA–14+EA (記憶體存取)
- 進程跳躍: 11–15, 18+EA (記憶體存取)
- 遠程跳躍: 15, 24+EA (記憶體存取)
EA: 計算有效位址的時間,範圍是5—12個週期
8086沒有包含任何的浮點指令,但是可以連接到數學輔助處理器來增加它的能力。Intel 8087是標準版本,但是製造商像是Weitek隨即提供更高效能的選擇性。
8086的複製產品有NEC V20、V25和V30處理器。
[编辑] 使用8086的微電腦
第一個以8086為基礎的商業微電腦是Mycron2000。
IBM Displaywriter文字處理機也使用8086。在大部分顯要的所有微處理器中,IBM PC使用了更窄的記憶體匯流排版本的8086也就是Intel 8088。
[编辑] 外部連結
Intel 微處理器 4004 | 4040 | 8008 | 8080 | 8085 | 8086 | 8088 | iAPX 432 | 80186 | 80188 | 80286 | 80386 | 80486 | i860 | i960 | Pentium | Pentium Pro | Pentium II | Celeron | Pentium III | XScale | Pentium 4 | Pentium M | Pentium D | Pentium Extreme Edition | Xeon | Core | Core 2 | Itanium | Itanium 2 (斜體 表示非 x86 處理器) |
Article based on Intel 8086 at FOLDOC, used with permission.