Intel 8086: Revizyonlar arasındaki fark
[kontrol edilmiş revizyon] | [kontrol edilmiş revizyon] |
İçerik silindi İçerik eklendi
Teacher0691 (mesaj | katkılar) düzeltme, yazış şekli: tamsayı → tam sayı AWB ile |
Teacher0691 (mesaj | katkılar) düzeltme AWB ile |
||
25. satır:
'''8086''' makina dili 8008, 8080 ya da 8085 ile kod uyumluydu, yani bu cihazlar için yazılmış makina dili kodları çok az ya da hiç elle düzeltme gerektirmeksizin otomatik olarak optimize edilmemiş 8086 koduna dönüştürülebiliyordu. Bunu olanaklı kılabilmek için programlama modeli ve komut seti kaba olarak 8080 tabanlıydı. Ancak 8080 ve 8085'in aksine 8086 tasarımı sadece bazı temel 16-bit kabiliyetleri değil tüm 16-bit işlem desteği sunmaktaydı.
İşaretli tam sayılar için tam işlem desteği, adres tabanı + ofset adresleme, kendi-kendini tekrarlayan işlemler için eklenen yeni tip komutlar [[:en:Zilog Z80|Z80]] tasarımı ile benzeşmekteydi<ref>[http://www.pcworld.com/article/146957/birth_of_a_standard_the_intel_8086_microprocessor.html Birth of a Standard: The Intel 8086 Microprocessor. Thirty years ago, Intel released the 8086 processor, introducing the x86 architecture that underlies every PC-Windows, Mac, or Linux-produced today], PC World, June 17, 2008</ref>, ancak 8086 için hafifçe genelleştirilmişti. [[Pascal (programlama dili)|Pascal]] ve [[:en:PL/M|PL/M]] gibi [[:en:nested function|
Komut seti ve üst seviye mimari tasarım neredeyse hiç [[CAD]] desteği kullanılmadan, eşzamanlı olarak çip üzerinde çalışan dört mühendis ve 12 tasarımcı tarafından yaklaşık 3 ay içinde tamamlandı. 8086, MC68000 ve diğer rakiplerine oranla daha az mikrokod kullanan sıralı yapıdaydı. ''Rasgele mantık'' kapıları ve mikrokod karışımı kullanmaktaydı ve ''depletion load nMOS'' teknolojisi kullanılarak geliştirilmişti. İçerisinde yaklaşık 20,000 aktif [[transistör]] (tüm [[ROM]] ve [[:en:Programmable logic array|PLA]] blokları da sayılırsa 29,000) bulunmaktaydı. Kısa süre içinde Intel'in asıl olarak [[SRAM]] ürünleri için geliştirdiği yeni ve daha rafine bir üretim prosesi olan [[:en:HMOS|HMOS]] (Yüksek performanslı MOS) teknolojisi ile üretilmeye başlandı. Bipolar [[RAM]] hızındaki [[MOSFET|MOS]] teknolojili SRAM'ler bu dönemde Intel'in önemli ürün kategorilerindendi. Daha sonra üretim prosesi HMOS-II, HMOS-III ve en sonunda pille beslenen tasarımlar için tamamen statik [[CMOS]] teknolojine dönüştürüldü ve Intel'in [[CMOS|CHMOS]] teknolojisi ile üretilmeye başlandı. Çipin boyutu 33 mm² ve minimum eleman boyutu 3.2 μm idi.
49. satır:
=== Flags ===
8086 has a 16 [[bit]] [[flag register]]. Out of these, 9 are active, and indicate the current state of the processor. These are — [[Carry flag]], [[Parity flag]], [[Auxiliary flag]], [[Zero flag]], [[Sign flag]], [[Trap flag]] , [[Interrupt flag]] , [[Direction flag]]
=== Segmentation ===
73. satır:
=== Performance ===
Although partly shadowed by other design choices in this particular chip, the multiplexed bus limited performance slightly; transfers of 16-bit or 8-bit quantities were done in a four-clock memory access cycle (which was faster on 16-bit, although slower on 8-bit quantities, compared to typical contemporary "8-bit" CPUs). As instructions varied from 1 to 6 bytes, fetch and execution were made [[Concurrency (computer science)|concurrent]] (as it remains in today's x86 processors): The ''bus interface unit'' fed the instruction stream to the ''execution unit'' through a 6 byte prefetch queue (a form of loosely coupled [[pipelining]]), speeding up operations on [[processor register|registers]]
Execution times for typical instructions, in clock cycles (see 8086 [[manual]]s or [[MASM|MASM 5.0]] manuals, for instance):
91. satır:
[[Dosya:Intel 8086 block scheme.svg|thumb|405px|''Simplified block diagram over Intel 8088 (a variant of 8086); 1=main registers; 2=segment registers and IP; 3=address adder; 4=internal address bus; 5=instruction queue; 6=control unit (very simplified!); 7=bus interface; 8=internal databus; 9=ALU; 10/11/12=external address/data/control bus.'']]
As can be seen from these tables, operations on registers and immediates were fast (between 2 and 4 cycles), while memory-operand instructions and jumps were quite slow; jumps took more cycles than on the simple [[Intel 8080|8080]]
* Loosely coupled fetch and execution units are efficient for instruction prefetch, but not for jumps and random data access (without special measures).
* No dedicated address calculation adder was afforded; the microcode routines had to use the main ALU for this (although there was a dedicated ''segment'' + ''offset'' adder).
* The address and data buses were [[multiplexing|multiplexed]], forcing a slightly longer (33~50%) bus cycle than in typical contemporary 8-bit processors.
However, memory access performance was drastically enhanced with Intel's next generation chips. The [[Intel 80186|80186]]
=== Floating point ===
|