Professional Documents
Culture Documents
Riz-1401-2-2
Riz-1401-2-2
جلسه دوم
1
بررسی ریزپردازنده 8086
• با توجه به اینکه 8086مبنای اصلی ریزپردازندههای اینتل بوده است ،لذا این
ریزپردازنده مورد بررسی قرار میگیرد.
2
معماری داخلی ریزپردازنده 8086
• واحد اجرایی
شامل رجیسترهای عمومی و
رجیسترهای خاص ،اپراتورها،
رجیستر پرچم و ALU
3
مفهوم معماری Pipelineدر ریزپردازنده 8086
• معماری غیر خطلولهای
در این نوع معماری تا دستوری به طور کامل اجرا نشده باشد ،دستور بعدی اجرا
نمیشود .منظور از اجرای یک دستور مراحل برداشت دستور ،Fetchرمزگشایی از
دستور Decodeو اجرای Executeآن است.
• معماری خطلولهای
در این نوع معماری ،دستور اول که در حال اجراست ،دستور دوم برداشت میشود.
افزایش سرعت از مزایای این معماری است.
4
آشنایی با رجیسترهای ریزپردازنده 8086
5
آشنایی با حافظه سگمنت
• تعریف سگمنت:
6
انواع سگمنت
• کد سگمنت )(CS
7
حافظه کد سگمنت
• برای اجرای یک برنامه 8086 ،دستورالعمل (کد عمل و
عملوند) را از قطعه کد برمیدارد .آدرس محل این قسمت
از قطعه کد با دو رجیستر CSو IPمشخص میشود که
به آن آدرس منطقی گفته میشود.
8
آدرس فیزیکی
• در آدرس منطقی به عدد اول سمت چپ ،رجیستر سگمنت و به
عدد دوم سمت راست ،آدرس تفاوت مکان میگوئیم.
9
مثال 1
• اگر CS=2500و IP=95F3بیابید:
الف) آدرس منطقی
ب) آدرس تفاوت مکان
ج) آدرس فیزیکی
د) محدوده پایین قطعه کد
ه) محدوده باالی قطعه کد
10
1 پاسخ مثال
CS:IP 2500:95F3 )الف
IP )ب
25000 + )ج
95F3
2E5F3
12
پاسخ مثال 2
CS:IP → الف) 3499:2500
ب) IP
34990 + ج)
2500
36E90
14
قطعه اضافی (اکسترا سگمنت)
• ESقطعه ای است که با نام قطعه اضافی مورد استفاده
قرار میگیرد .گرچه در بسیاری از برنامههای معمولی این
قطعه به کار نرفته است ،ولی استفاده از آن برای عملیات
رشتهای اساسی است.
15
نقشه حافظه در کامپیوترهای IBM
16
محاسبه ظرفیت حافظه RAMدر کامپیوترهای IBM
17
پشته چیست و چرا الزم است؟
PUSH AX
PUSH DI
PUSH DX
3 پاسخ مثال
AX =24B6 H وDX = 5F93 H ، DI = 85C2 H ،SP = 1236 H •
مثال 4
• با فرض ،SP = 18FA Hمحتوای پشته و رجیسترها را
پس از اجرای دستورات زیر تعیین کنید.
POP CX
POP DX
POP BX
4 پاسخ مثال
POP CX
POP DX
POP BX
آدرس فیزیکی پشته
پشته ،یکی از چهار قطعه یا سگمنت داخل حافظه است و •
برای دسترسی به آن آدرس فیزیکی الزم است که از
آدرس منطقی SS:SPساخته میشود.
در ریزپردازندههای 80x86باالی پشته آخرین مکان •
اشغال شده است.
SPدر اینجا ،آدرس تفاوت مکان به شمار میرود. •
BPرجیستر دیگری است که میتواند به عنوان آدرس •
تفاوت مکان بهکار رود ،اما این رجیستر کاربرد بسیار
خاصی دارد.
مثال 5
• اگر SS =3500 Hو SP=FFFF Hبیابید:
الف) آدرس منطقی
ب) آدرس تفاوت مکان
ج) آدرس فیزیکی
د) محدوده پایین قطعه پشته
ه) محدوده باالی قطعه پشته
5 پاسخ مثال
SS:SP = 3500:FFFF H )الف
SP = FFFF H )ب
35000 )ج
FFFF
44FFF
30
تمرین
(1فرض کنید که آدرس فیزیکی برای یک مکان از حافظه،
0046CHباشد .اگر CS=0020Hباشد ،آدرس تفاوت مکان
چقدر خواهد بود؟
)2اگر دستورالعملی از آدرس فیزیکی 389F2Hبا CS=2700برداشت
شود ،آیا محدوده قطعه در آن منظور شده است یا خیر؟ اگر نه چه مقداری
باید به CSنسبت داده شود در صورتی که IPبرابر 1282Hباشد.
)3اگر SP=24FCHباشد ،آدرس تفاوت مکان پشته برای درج داده
چیست؟
31
تمرین
)4فرض کنید BX=F43CH ،AX=3291H ،SP = FF2EHو
CX = 1100Hباشد ،محتوای حافظه پشته و اشارهگر پشته پس از
اجرای دستورات زیر را تعیین کنید.
PUSH AX
PUSH BX
PUSH CX
)5فرض کنید آدرس فیزیکی خانه حافظهای در ریزپردازنده 8086برابر
3A200 Hاست .حداقل دو آدرس منطقی پیدا کنید که این آدرس
فیزیکی را تولید کنند.
32