إنتل 8086

إنتل 8086
وحدة المعالجة المركزية

معالج إنتل 8086
أُنتج: من 1978 إلى 1998

إنتل 8086 عبارة عن معالج من 16 بت صُمم من قبل شركة إنتل، واستغرق تصميمه بين أوائل عام 1976 إلى أواسط عام 1978.[1][2][3] وهو معالج يتعامل مع خانة بطول 16-bits (يتم التعامل 16-bit في المرة الواحدة). بعد ذلك وفي سنة 1979 طرح المعالج 8088 وهو مشابه للمعالج 8086 من ناحية التركيب الداخلي ولكنه مختلف عنه في التعامل العام الخارجي حيث يتم فيه التعامل الخارجي بخانة طولها 8-bits بينما يتعامل المعالج 8086 باستخدام نبضة سريعة وبالتالي فان أداءه أفضل (زيادة سرعة النبضة تعنى زيادة التردد وبالتالي نقصان الزمن اللازم لتنفيذ أمر محدد ويتم تعريف سرعة المعالج بتحديد التردد الأقصى الذي يعمل به وتقاس وحدة التردد بالميجاهيرتز MHz).

قامت شركة IBM باختيار المعالج 8088 لبناء الحاسب الشخصي IBM PC وذلك لسهولة التعامل معه بالإضافة إلي رخص التكلفة حيث كان من المكلف في ذلك الوقت بناء الحاسب على المعالج 8086 ذات الـ16-bit وذلك بسبب ارتفاع تكلفة بناء نظام بوحدات مساعده تتعامل مع كلمة بطول 16-bit في ذلك الزمن.

يتعامل المعالجان 8086 و8088 بنفس التعليمات وهما يمثلان نقطة البداية التي بدأت منها المعالجات الجديدة والتي يتم استعمالها في أجهزة الحاسب الشخصية وبالتالي فان البرامج التي تعمل على المعالجين 8086 و8088 ما زالت صالحة للعمل في المعالجات الجديدة وهو ما أسميناه بالتوافقية في البرامج.

المسجلات في المعالج

المسجلات

يتم تخزين البيانات داخل المعالج في المسجلات، ويتم تقسيم المسجلات إلى:

مسجلات بيانات: ويتم فيها التعامل مع البيانات من حيث التخزين وإجراء العمليات الحسابية والمنطقية.

مسجلات عناوين: ويتم فيها تخزين العناوين المختلفة.

مسجل الحالات: وهو يحتوي على حالة المعالج بعد تنفيذ أمر محدد.

ويحتوي المعالج على عدد 14 مسجل وسنقوم في الجزء التالي بتوضيح أسماء ووظيفة كل مسجل.

مسجلات البيانات DX,CX,BX,AX

يتم استخدام هذه المسجلات الأربعة في التعامل مع البيانات داخل المعالج ويمكن للمبرمج التعامل مباشرة مع هذه المسجلات. وبالرغم من أن المعالج يستطيع أن يتعامل مع بيانات في الذاكرة إلا أن التعامل مع المسجلات يكون أسرع بكثير من التعامل مع الذاكرة (يلزمه عدد اقل من النبضات) وبالتالي نفضل دائماً التعامل مع المسجلات لسرعتها. وهذا سبب زيادة عدد المسجلات في المعالجات الحديثة.

يمكن التعامل مع كل من هذه المسجلات على أنه وحده واحدة بحجم 16-BITS أو على وحدتين كل واحدة بسعة 8-BITS إحداهما العليا HIGH والثانية المنخفضة LOW مثلا يمكن التعامل مع المسجل AX على انه مسجل بحجم 16-BITS أو التعامل مع النصف العلوي (HIGH) AH على انه مسجل 8-BITS والمسجل المنخفض AL (LOW) على أنه مسجل 8-BITS . وبالمثل مع المسجلات D،C،B وبالتالي يصبح لدينا 8 مسجلات من النوع 8-BITS أو أربعة مسجلات من النوع 16-BITS .

بالرغم أن المسجلات الأربعة ذات استخدامات عامه GENERAL PURPOSE REGISTERS بحيث يمكن استخدامها في أي استخدامات عامه إلا أن لكل مسجل استخداماً خاصاً نتناوله في الجزء التالي:

1-المسجل (Accumulator) AX

يعتبر المسجل AX هو المسجل المفضل للاستخدام في عمليات الحساب والمنطق ونقل البيانات والتعامل مع الذاكرة وموانئ الإدخال والإخراج. واستخدامه يولد برامج أقصر ويزيد من كفاءة البرنامج. حيث يجب مثلا في عمليه ضرب رقمين وضع أحد الرقمين فيه مع وضع القيمة المطلوب إخراجها إلي ميناء خروج محدد فيه ثم تتم قراءه القيمة التي يتم إدخالها من ميناء خروج محدد فيه دائما. وعموما يتم التعامل مع المسجل AX على أنه أهم المسجلات الموجودة في المعالج.

2-المسجل (Base Register) BX

يستخدم المسجل BX في عنونه الذاكرة حيث تتطلب بعض العمليات التعامل مع الذاكرة بمؤشر محدد ويتم تغيير قيمه المؤشر لإجراء عمليه مسح لجزء محدد من الذاكرة كما سنرى فيما بعد.

3-المسجل (Count Register) CX

يتم استخدام المسجل CX كعداد للتحكم بعدد مرات تكرار مجموعه محدده من التعليمات.كذلك يتم استخدامه في تكرار عمليه دوران مسجل لعدد محدد من المرات.

4-المسجل (Data Register )DX

يتم استخدامه في عمليات الضرب والقسمة كذلك يتم استخدامه كمؤشر لموانئ الإدخال والإخراج عند استخدام عمليات الإدخال والإخراج.

مسجلات المقاطع CS, DS, SS, ES

يتم استخدام هذه المسجلات لتحديد عنوان محدد في الذاكرة. ولتوضيح وظيفة هذه المسجلات يجب في البداية توضيح طريقة تنظيم الذاكرة.

نعلم أن المعالج 8088 يتعامل مع 20 إشارة عناوين (ناقل العناوين Address Bus يحتوي على 20 إشارة) وبالتالي يمكن مخاطبة ذاكرة تصل إلى 2 20 = 1,048,576 أي 1 Mbytes .

ونجد أن عناوين أول 5 خانات في الذاكرة هي :

                                   00000 h           =           0000 0000 0000 0000 0000
                                   00001 h            =           0000 0000 0000 0000 0001
                                   00002 h            =           0000 0000 0000 0000 0010
                                   00003 h            =           0000 0000 0000 0000 0011
                                   00004 h            =           0000 0000 0000 0000 0100

ولأن العناوين في الصورة الثنائية تكون طويلة جداً فمن الأسهل التعامل مع العناوين بكتابتها في الصورة السداسية عشر وبالتالي يكون عنوان أول خانة في الذاكرة هو 00000h وعنوان آخر خانة هو FFFFFh .

مما سبق يتضح أن العنوان يتكون من 20 خانة بينما كل المسجلات الموجودة داخل المعالج ذات طول مقداره 16 خانة فقط مما يجعل مخاطبة الذاكرة كلها مستحيلة باستخدام مسجل واحد فقط (لاحظ أن المسجل الواحد باستطاعته مخاطبة ذاكرة تصل إلي 64 Kbytes فقط) ونتيجة لظهور هذه المشكلة تم تقسيم الذاكرة إلي مجموعة من المقاطع Segments كل مقطع بسعة 64 K Bytes كما سنوضح في الجزء التالي.

أنماط العنونة

لتوضيح أنماط العنونة المستخدمة بدأ من سلسلة 80x86، سنستخدم التعليمة MOV :

8086 mov instruction

  • نمط عنونة السجل register addressing mode
  • نمط العنونة الفوري immediate addressing mode
  • نمط العنونة المباشر direct addressing mode
  • نمط المسجل غير المباشر indirect register addressing mode
  • العنونة بالقاعدة مع الفهرسة base plus index addressing mode
نمط العنونة شرح مثال
نمط عنونة السجل يكون في التعليمة المصدر والوجهة destination and source عبارة عن مسجلات
معروفة في المعالج.
MOV AX,BX

سيقوم بنسخ محتوى BX إلى AX

نمط العنونة الفوري يكون المصدر عبارة عن رقم صراحة والمراد التعامل معه مباشرة. MOV AX,1004H

سيقوم بوضع القيمة 1004 السداسية عشرة في المسجل الجهة AX.

نمط العنونة المباشر يتم ذكر العنوان الفعلي(المؤلف من 16 بت ويتم بألية معينة الحصول على
العنوان الكامل المؤلف من 20 بت 

en:Physical address).

MOV AL,1000H

يولد العنوان الفيزيائي من العنوان الفعلي ثم يذهب لموقع الكلمة وينسخها للمسجل AL.

نمط المسجل غير المباشر يكون العنوان الفعلي (عنوان الإزاحة) موجود ضمن مسجل يذكر اسمه وقد يكون

أحد المسجلات التالبة :BX، BP، SI وندل على هذه الحالة تميزاً لها عن حالة عنونة السجل بأن نضع اسم المسجل ضمن قوسين [].

MOV AX,[BX]

سينسخ محتوى الذاكرة الموجود في الموقع الذي يحدده محتوى BX إلى AX.

العنونة بالقاعدة مع الفهرسة يتم فيها الحصول على العنوان الفعلي عير جمع قيمة الإزاحة إن وجدت مع

المسجل BX أو BP مع مسجل الفهرسة DI أو SI.

MOV AX,[Bx+DI+2]

انظر أيضا

وصلات خارجية

  • Intel 8086 microprocessor family
  • المسجلات في المعالج 8086

مراجع

  1. ^ "معلومات عن إنتل 8086 على موقع academic.microsoft.com". academic.microsoft.com. مؤرشف من الأصل في 2020-04-14.
  2. ^ "معلومات عن إنتل 8086 على موقع id.loc.gov". id.loc.gov. مؤرشف من الأصل في 2020-04-14.
  3. ^ "معلومات عن إنتل 8086 على موقع catalogue.bnf.fr". catalogue.bnf.fr. مؤرشف من الأصل في 2019-06-23.
  • ع
  • ن
  • ت
  • ع
  • ن
  • ت
Discontinued
BCD oriented (4-بت)
pre-x86 (8-بت)
  • 8008 [الإنجليزية] (1972)
  • 8080 (1974)
  • 8085 [الإنجليزية] (1977)
Early إكس 86 (16-بت)
x87 (external FPUs)
8/16-bit databus
8087 (1980)
16-bit databus
80187
80287
80387SX
32-bit databus
80387DX
80487
أي إيه-32 (32-بت)
إكس86-64 (64-bit)
تانية
CISC
iAPX 432
RISC
i860
i960
StrongARM
XScale
  • ع
  • ن
  • ت
حاليا
أي إيه-32 (32-بت)
إكس86-64 (64-bit)
EPIC
  • Itanium
  • ع
  • ن
  • ت
قوائم
  • Atom
  • Celeron
  • Core
    • 2
    • i3
    • i5
    • i7
    • M
  • Itanium
  • Pentium
    • Pro
    • II
    • III
    • 4
    • D
    • M
    • Dual-Core
  • Xeon
  • ع
  • ن
  • ت
مرتبطة
  • Chipsets
  • PCHs
  • SCHs
  • ICHs
  • PIIXs
  • GPUs
  • Codenames
  • GMA
  • HD and Iris Graphics
  • ع
  • ن
  • ت
قائمة بمعمارية وحدة المعالجة المركزية إنتل [الإنجليزية]
P5
800 nm
P5
600 nm
P54C
350 nm
P54CS
P55C
250 nm
Tillamook
P6 / Pentium M /
Enhanced Pentium M
500 nm
P6
350 nm
P6
Klamath
250 nm
Mendocino
Dixon
تونغا
Covington
Deschutes
Katmai
Drake
Tanner
180 nm
Coppermine
Coppermine T
Timna
Cascades
130 nm
Tualatin
Banias
90 nm
Dothan
Stealey
Tolapai
Canmore
65 nm
Yonah
Sossaman
NetBurst
Core / Penryn
65 nm
Merom-L
Merom
Conroe-L
Allendale
Conroe
Kentsfield
Woodcrest
Clovertown
Tigerton
45 nm
Penryn
Penryn-QC
Wolfdale
Yorkfield
Wolfdale-DP
Harpertown
Dunnington
Bonnell / Saltwell
45 nm
Silverthorne
Diamondville
Pineview
Lincroft
Tunnel Creek
Stellarton
Sodaville
Groveland
32 nm
Cedarview
Penwell
Cloverview
Berryville
Centerton
Nehalem / Westmere
45 nm
Clarksfield
Lynnfield
Jasper Forest
Bloomfield
Gainestown (Nehalem-EP)
Beckton (Nehalem-EX)
32 nm
Arrandale
Clarkdale
Gulftown (Westmere-EP)
Westmere-EX
ساندي بريدج / Ivy Bridge
32 nm
ساندي بريدج
Sandy Bridge-E
Gladden
22 nm
Ivy Bridge
Ivy Bridge-EP
Ivy Bridge-EX
Haswell / Broadwell
22 nm
Haswell
14 nm
Broadwell
Silvermont / Airmont
22 nm
Valleyview
Tangier
Anniedale
14 nm
Cherryview
Skylake/Kaby Lake/Cannonlake
14 nm
Skylake
Kaby Lake
10 nm
Cannonlake
  • أيقونة بوابةبوابة إلكترونيات
  • أيقونة بوابةبوابة تقانة المعلومات
  • أيقونة بوابةبوابة عقد 1970
  • أيقونة بوابةبوابة علم الحاسوب
ضبط استنادي: وطنية عدلها في ويكي بيانات
  • المكتبة الوطنية الفرنسية (BnF)
  • المكتبة القومية الإسرائيلية (J9U)
  • مكتبة الكونغرس (LCNAF)
  • قاعدة البيانات الوطنية التشيكية (NLCR AUT)