Solution Architecture Computer - Farsi
Solution Architecture Computer - Farsi
Solution Architecture Computer - Farsi
موريس مانو
به پیوست مجموعه تستهای برگزیده فصلبندی شده و پاسخ تشریحی
تقديم به ...
تقديم به ساحت مقدس حضرت وليعصر (عج) و همه كساني كه به رسم ادب اين
اوراق را تورق ميكنند.
گرچه از آن مستغنياند
مروتي
پيشگفتار نويسندگان
درس معماری كامپیوتر به عنوان يكک مبثكپ پايكهای رشكته مهندسكي و علكوم
كامپیوتر و ساير رشتههای مرتبط مطرح است .بكه طكوری ككه رونكد طراحكي و
ساخت سیستمهای كامپیوتری را از تركیب مباحپ نرمافزاری و برنامهنويسكي و
مباحپ سختافزاری مدارهای منطقي و ديجیتال بازگو مينمايد.
كتاب حاضر به بررسي و حل مسائل درس معمكاری ككامپیوتر براسكاس كتكاب
معماری كامپیوتر «پروفسور موريس مكانو» ترجمكهی «دكتكر قكدرت سكپیدنام»
ميپردازد .در ضمن سؤاالت چهار گزينهای برگزيده فصلهای كتكاب معمكاری
كامپیوتر به همراه پاسخ تشريثي آنها نیز به كتاب پیوست شده است.
سه فصل ابتدايي كتاب معمكاری ككامپیوتر مكوريس مكانو مشكتمل بكر مباحكپ
مدارهای منطقي و ديجیتال است كه كتاب حاضر به تشريح مسائل اين سه فصل
نیز پرداخته است .بنابراين اين كتاب ميتواند بكرای مكرور و تسكلط بكر مباحكپ
مدارهای منطقي و ديجیتكال بكه عنكوان مقدمكه و پیشنیكاز طراحكي و معمكاری
كامپیوتر استفاده گردد.
منبع اصلي مجموعكه حاضكر جكزوه راهنمكای حكل مسكهله ()Solution Manual
پروفسور موريس مانو است .اگرچه در بسیاری از مسائل و راهحلها اين راهنما
دارای نقص اشتباههای مثاسباتي و اشتباههای منطقي بوده و يا اينكه تنها دارای
جواب آخر بودهاند؛ كه در كتكاب حاضكر اقكدام بكه رفكع ايكن اشكتباهها شكده و
توضیثات الزم در جوابها داده شده و الگوريتمها روشهای حل و شكلهای
ابتكاری بكار بردهايم .البته امیدواريم خوانندگان مثترم با مطالعكه دقیكو و كامكل
كتاب نويسندگان ايكن مجموعكه را نسكبت بكه نقصهكا كمبودهكا اشكتباههای
احتمالي و نامفهوم بودن مطالب آگاه نمايند.
با تشکر و آرزوی موفقیت ،مروتی -کاظمی
/ 8معماري كامپيوتر
A B C A.B.C ' A.B.C 'A 'B 'C 'A' B' C
1 1 1 1 4 4 4 4 4
1 1 4 1 4 4 4 1 4
1 4 1 1 4 4 1 4 4
1 4 4 1 4 4 1 1 4
4 1 1 1 4 1 4 4 4
4 1 4 1 4 1 4 1 4
4 4 1 1 4 1 1 4 4
4 4 4 4 1 1 1 1 1
1ـ2ـ جدول درستي تابع ORانحصارس (تابع فرد) سه مت هره را بسازيد:
x A BC
حل :ابتدا ORانثصاری Aو Bرا بدست آورده و سپس ORانثصاری حاصكل آن
را با Cمثاسبه ميكنیم.
A B C A B C
A B C AB A BC
9 / معماري كامپيوتر
1 1 1 1 1
1 1 4 1 4
1 4 1 4 4
1 4 4 4 1
4 1 1 4 4
4 1 4 4 1
4 4 1 1 1
4 4 4 1 4
:ـ عبارات زير را با جبر بول ساده كنهد3ـ1
AB AB' )ب A+AB )الف
A'B ABC' ABC )د A'BC AC )ج
:حل
(الف A AB A(1 B) A
:حل
(الفAB A CD CD' AB AC D D' A B C
(ب BC' A'D AB' CD' ABB'C A'AB'D BCC'D' A'CD'D 0
0 0 0 0
: ـ با قضهه دمورگا نشا دههد5 ـ1
A A 'B A 'B' 1 )ب (A B)' A' B' ' 0 )الف
:حل
/ 01معماري كامپيوتر
1 1 1 1
1 1 4 4
1 4 1 1
1 4 4 1
4 1 1 1
4 1 4 4
4 4 1 1
4 4 4 4
= تعداد گیتهای تشكیلدهنده6
)ج
F xy 'z x ' y 'z xyz
y 'z x x ' xz y y '
y 'z xz
)د
x y z y 'z xz y'x xz
1 1 1 1 1 1
1 1 4 4 1 4
1 4 1 1 1 1
1 4 4 1 1 1
4 1 1 1 1 1
4 1 4 4 4 4
4 4 1 1 1 1
4 4 4 1 4 4
)هك
/ 02معماري كامپيوتر
حل:
ب) الف)
د) ج)
حل:
الف)
ب)
/ 04معماري كامپيوتر
ج)
د)
1ـ11ـ عبارات زير را )1به صورت جمع حاصلضربها و )2به صورت ضرب
حاصل جمعها ساده كنهد:
AC' B'D A'CD ABCD ب) الف) x 'z ' y'z ' yz ' xy
حل :ابتدا جدول كارنو هر ككدام از توابكع را رسكم ككرده سكپس حاصلضكربها و
حاصلجمعها را بدست ميآوريم.
الف)
' = F xy zحاصل جمع حاصل ضرب
F' x 'z y'zحاصل ضرب حاصل جمع
F x z ' y z '
معماري كامپيوتر 01 /
ب)
الف)
1ـ12ـ تابع بولي زير را به شيل ضرب حاصل جمعها بـا نقشـه چهـار مت هـره
ساده كنهد .نمودار منطقي را
ب) با گیتهای NORرسم كنید. OR-AND الف) با گیتهای
F 2, 3, 4, 5, 6, 7,1114
, ,15
حل:
الف)
معماري كامپيوتر 01 /
1ـ13ـ تـابع بـولي Fرا همـراه بـا حـابت بياهمهـت dبـه شـيل )1جمـع
حاصلضربها و )2ضرب حاصلجمعها ساده كنهد.
F w, x, y, z
F m 0,12
, , 3, 7, 8,10
F d 5, 6,1115
,
حل :با توجه به توضهحات سوال 11همهن فصل داريم:
/ 08معماري كامپيوتر
1ـ14ـ با جدول 2ـ 1عبارت بولي ( Sجمع) خروجي يك تمام جمعكننـده بـه
شيل جمع حاصل ضربها را بدست آوريد .سپس با دسـتيارسهاس جبـرس نشـا
دههد كه Sميتواند به صورت ORانحصارس سه مت هره بها شود.
S xyz
حل :با توجه به جدول درستي NORانحصارس،
x yz
1ـ15ـ يك مدار ترتهبي به نام تابع اكثريت به اين صورت تعريف ميشـود كـه
هر گاه مقدار مت هرهاس ورودس ،1بهشتر از ورودسهاس 1باشند ،خروجي 1اسـت،
در غهر اين صوزت خروجي 1است .تابع اكثريت سه ورودس را طراحي كنهد.
حل :جدول درستي را تشكیل داده و مقادير مورد نیاز را به تابع تخصیص مكيدهیم
سپس سادهسازی انجام ميدهیم.
معماري كامپيوتر 09 /
Full adder خروجيهكای AوB با دقت در توابع Aو Bتشكیل شكده در مييكابیم
ميباشند.
1ـ17ـ نشا دههد كه يك فلهپ فالپ JKرا با قـرار داد يـك وارونگـر بـهن
ورودسهاس Jو Kميتوا به يك فلهپ فالپ Dتبديل كرد.
حل:
طبو جداول تثريک فلیپ فالپها و با توجه به شكل زير:
D
داريم:
D 0 J 0, K 1 Q 0زماني كه
معماري كامپيوتر 20 /
D 1 J 1, K 0 Q 1زماني كه
1ـ 18ـ با اطالعات موجود در جدول مشخصه فلهپ فالپ JKدر جدول شيل
2ـ( 1ب) جدول تحريك را براس فلهپ فالپ JKبه دست آورده و جواب خـود را
با جدول 3ـ 1مقايسه كنهد.
حل :با توجه به جدول مشخصه فلیپ فالپ JKجكدول درسكتي را بكه شككل زيكر
تشكیل ميدهیم:
Q t 1 Qt Q t 1
J K
J K
zB
الف) دياگرام منطقي مدار را رسم كنید.
ب) جدول حالت را برپا كنید.
حل:
مشخص ميكنند كه فلیپ فالپ پیشنهادی از نوع Dاست. DB , DA الف)
ب)
حالت فعلي ورودیها حالت بعدی خروجي
A B x y A B Z
1 1 1 1 1 1 1
معماري كامپيوتر 21 /
1ـ21ـ يك پايهن شمارنده دو بهتي طراحي كنهـد .ايـن مـدار ترتهبـي داراس دو
باشد ،حالـت فلهـپ فـالپ ت ههـر x 0 فلهپ فالپ و يك ورودس xاست .وقتي
نميكند .وقتي x 1باشد ،ترتهب حابت 11 ، 11 ،11 ،11و 11و تيرار آ است.
حل :از فلهپ فالپ JKاستفاده ميكنهم كه هر دو حالـت toggleو no-changeرا
دارد.
)(down counter شمارنده پايین رونده
/ 24معماري كامپيوتر
1ـ21ـ يك مدار ترتهبي با دو فلهپ فـالپ JKو دو ورودس Eو xطراحـي كنهـد.
اگر E 0باشد ،مدار بدو توجه به مقدار xدر هما حالت ميماند .وقتي E 1و
x 1است ،مدار به دنباله حابت از 11به ، 11بـه ، 11بـه 11و 11و تيـرار آ
باشد .مدار به حالت انتقالي 11به ، 11بـه ، 11 x 0 وارد ميشود .وقتي E 1و
به 11و 11و تيرار آ وارد ميشود.
حل :اين مدار يک شمارنده پايین و باالرونده است ) E .(up-down counterدر اينجكا
نقش فعالكننده ) (Enableرا دارد.
ورودس
حالت فعلي ورودسها حالت بعدس
فلهپ فالپها
A B E X A B JA KA JB KB
1 1 1 1 1 1 1 x 1 x
1 1 1 4 1 1 1 x 1 x
1 1 4 1 4 4 4 x 4 x
1 1 4 4 1 4 1 x 4 x
1 4 1 1 1 4 1 x x 1
1 4 1 4 1 4 1 x x 1
1 4 4 1 1 1 1 x x 4
1 4 4 4 4 1 4 x x 4
4 1 1 1 4 1 x 1 1 x
4 1 1 4 4 1 x 1 1 x
4 1 4 1 1 4 x 4 4 x
4 1 4 4 4 4 x 1 4 x
4 4 1 1 4 4 x 1 x 1
معماري كامپيوتر 21 /
4 4 1 4 4 4 x 1 x 1
4 4 4 1 4 1 x 1 x 4
4 4 4 4 1 1 x 4 x 4
حال توابع ورودی فلیپ فالپها را به ترتیب بدست ميآوريم:
/ 26معماري كامپيوتر
حل:
الف) معكوسكننده:
12
هر معكوسكننده 6پین دارد. 6 گیت
2
ب) گیت ORانثصاری دو ورودی:
12
دو ورودی 3پین دارد. XOR 4 گیت
3
ج) گیت ORسه ورودی:
12
سه ورودی 1پین دارد. OR 3 گیت
4
د) گیت ANDچهار ورودی:
12
چهار ورودی 5پین دارد. AND 2 گیت
5
معماري كامپيوتر 21 /
3ـ يك دييدر 5به 32را با چهار دييدر 3به 8داراس ورودس تواناساز و يـك
دييدر 2به 4بسازيد .از بالك دياگرام مشابه شيل 4ـ 2استفاده كنهد.
حل :از ديكدر 6به 1به منظور فعالسازی هر كدام از ديككدرهای 3بكه 8اسكتفاده
ميشود.
/ 28معماري كامپيوتر
-4نمودار منطقي يك دييدر 2به 4را فقط با گهـت NORرسـم كنهـد .ورودس
تواناساز را نهز در نظر بگهريد.
ورودی NOR حل :در حالت كلي برای ساخت گیت NOTاز گیتهای NANDو
به پايههای متصل به هم اين گیتها متصل ميشود.
-5دييدر شيل 3ـ 2را ت ههر دههد طورس كه مدار اگر E 1باشد فعال و اگـر
E 0باشد ،غهرفعال باشد .جدول درستي را براس نوع ت ههر يافته رسم كنهد.
حل :در صورت سوال بايست شكل 3ك 6ذكر شود كه اشتباهاً 6ك 6ذككر شكده بكود.
امكانپذير است. E اين كار با حذف گیت NOTمتصل به ورودی
جدول درستي به شكل زير است:
E A1 A0 D0 D1 D2 D3
1 X X 4 4 4 4
4 1 1 1 4 4 4
4 1 4 4 1 4 4
4 4 1 4 4 1 4
4 4 4 4 4 4 1
6ـ نمودار منطقي يك انيدر با هشت ورودس و سه خروجي ،كه جدول درستي
آ در جدول 2ـ 2آورده شده را رسم كنهد .وقتي تمام ورودسها 1باشند خروجـي
چهست؟ اگر فقط ورودس Dبرابر 1باشد ،خروجي چهست؟ روشي پهشـنهاد دههـد
كه اين دو حالت را متمايز كند.
حل :با توجه به جدول 6ك 6داريم:
/ 11معماري كامپيوتر
A2A1A0 باشكد خروجيهكای D0 1 اگر همهی ورودیها برابر 1و يا اگكر فقكط
برابر 111خواهد بود.
برای تمايز بین اين دو حالت ميبايست يک خروجي اضافه برای تشخیص حكالتي
كه همه ورودیها 1باشند در نظر بگیكريم و آن را بهـت invalidبنكامیم .ايكن بیكت را
ميتوان از طريو NORهمه ورودیها بدست آورد.
7ـ يك مولتي پليسر 16به 1را با دو مولتي پليسر 8به 1و يك مولتي پليسـر
2به 1بسازيد .براس هر سه مولتي پليسر از بالك دياگرام استفاده كنهد.
بكرای انتخكاب S2 S1 S0 مينكامیم .از سكه بیكت S3 S2 S1 S0 حل 1 :بیكت ورودی را
بكرای انتخكاب S3 ورودی متناظر در مولتي پلكسكر 8بكه 4اسكتفاده مكيكنیم .از بیكت
ورودی مورد نظر به وسیلهی مولتي پلكسر 6به 4استفاده ميكنیم .پس داريم:
معماري كامپيوتر 10 /
8ـ بالك دياگرام يك مولتي پليسر را رسم كنهد و كاركرد آ را با جدول تابع
توضهح دههد.
حل :برای مولتي پلكسر 1به 4داريم:
Dual البته در صورت سوال كتاب التین بالك دياگرام يک مولتي پلكسر دوگانـه (
)MUXدرخواست شده است كه داريم:
9ـ يك گهت ANDدو ورودس را در ثبات شيل 7ـ 2جاس دههد و خروجي اين
گهت را به ورودسهـاس سـاعت همـه فلهـپ فالپهـا وصـل كنهـد .ييـي از
پالسهاس ساعت را از مولد پالس ساعت دريافت ميكنـد. AND ورودسهاس گهت
ورودس ديگر گهت ،ANDكنترل بار شد موازس را فراهم ميكنـد .كـاركرد ثبـات
جديد را شرح دههد.
حل:
معماري كامپيوتر 11 /
4است امكان بار موازی رجیستر فراهم ميآيد و ”“parallel load زماني كه ورودی
زماني كه اين ورودی 1است خروجي گیت 1 ANDشده و اطالعات رجیستر به طور
تضمین شده نگهداری خواهد شد .يعنكي بكا تغییكر احتمكالي و اشكتباهي ورودیهكای
I0 I3 بارگذاری صورت نميگیرد.
11ـ هدف گهت بافر در ورودس ساعت ثبات شيل 8ـ 2چهست؟
حل :با توجه به توضیثات صفثهی 56كتاب اين گیكت تكوان دريكافتي الزم را از
مولد ساعت كاهش ميدهد .هر گاه پالس ساعت فقط به ورودی يكک گیكت در عكو
چند گیت وصل شود توان كمتری الزم است ولي چنانچه اين گیت بافر مورد اسكتفاده
قرار نگرفته و پالس ساعت مستقیما به هر چهار ورودی وصكل شكود .تكوان بیشكتری از
مولد پالس اخذ خواهد شد .ساختمان اين بافر ميتواند به صورت زير باشد.
-11به ثبات داراس اميا بار شد مـوازس در شـيل 8ـ ،2اميـا ورودس
پاككننده را اضافه كنهد.
حل:
/ 14معماري كامپيوتر
12ـ مقدار اولهه محتواس يك ثبات 1111است .ثبات شش بار با ورودس سـرس
111111به راست شهفت داده ميشود .محتواس ثبات پس از هر شهفت چهست؟
حل:
بیتهای ورودی رجیستر 1بیتي
4 4414
1 4441
4 1444
4 4144
1 4414
4 1441
4144
13ـ فرق بهن انتقال سرس و موازس چهست؟ با يك شـهفت رجهسـتر داراس بـار
معماري كامپيوتر 11 /
شد موازس توضهح دههد چگونه ميتوا ورودس سرس را بـه خروجـي مـوازس و
برعيس تبديل كرد.
حل:
انتقال سريال :در هر زمان يک بیت انتقال به وسیله شیفت
انتقال موازس :هر تعداد بیت به صورت همزمان
ورودی سری از طريو شیفت به خروجي موازی تبكديل شكده و ورودی مكوازی از
طريو بار موازی به خروجي سری از طريو شیفت تبديل ميشود .نیاز به يک شكمارنده
برای تعیین تعداد بیت «مثالً 8بیت در هر كلمه» وجود دارد.
14ـ شمارنده حلقوس يك شهفت رجهستر شـيل 9ــ 2ميباشـد كـه خروجـي
سرس اش به ورودس سرس آ وصل شده است .با شروع از حالت اولهه ،1111رشته
حابت چهار فلهپ فالپ را پس از هر شهفت نشا دههد.
شود داريم: حل :اگر شیفت رجیستر به راست فر
1000 0100 0010 0001
15ـ يك شهفت رجهستر چهار بهتي دو طرفه با ويژگي بـار شـد مـوازس طبـ
شيل 11ـ 2در يك مدار مجتمع ،بستهبندس شده است.
الف) بالك دياگرام مدار مجتمع را با تمام ورودسها و خروجيها رسم كنهد .دو
پايه براس منبع ت ذيه قرار دههد.
ب) با دو مدار مجتمع بالك دياگرام يك شهفت رجهستر 8بهتي با ويژگـي بـار
شد موازس را رسم كنهد.
حل:
الف)
/ 16معماري كامپيوتر
ب)
ب)
16ـ در شمارنده دودويي ده بهتي ،چند فلهپ فـالپ در شـمارش بعـدس مـتمم
ميشوند.
ب) 1144444444 الف) 4114411444
معماري كامپيوتر 11 /
حل :در هر مورد عدد با عدد 1111111114جمع دودويي ميشود و تعداد متممها
حساب ميشود.
الف) 1مورد 4114411444 + 1111111114 = 4114414111
ب) 5مورد 1144444444 + 1111111114 = 14111111111
17ـ اتصابت بزم بهن چهار شمارنده دودويي چهار بهتي با بـار شـد مـوازس
(شيل 12ـ )2براس ايجاد يك شمارنده دودويي 16بهتي با بار شد موازس را نشا
دههد .براس هر شمارنده چهار بهتي از يك بالك دياگرام استفاده كنهد.
حل :نكته مهم در اين سؤال آن است كه در رابطه با گسترش شمارندهها بیت نقلكي
خروجي هر مرحله (شمارنده) به فعالساز شكمارش مرحلكه «شكمارنده» بعكدی متصكل
و Clockدر همه شمارندهها مشترك هستند. Clear Load ميشود و بیتهای
18ـ نشا دههد كه چگونه يك شمارنده دودويي با بار شد موازس شيل 12ـ2
را ميتوا به يك شمارنده تقسهم بر Nتبديل كرد.
(يعني شمارندهاس كه از 1111تا Nشمرده و به 1111باز گردد).
به عنوا يك حالت خاص ،مدار يك تقسهم بر 11را با شيل 12ـ 2و يك گهت
ANDخارجي رسم كنهد.
حل :زماني كه لفظ تقسیم بر Nگفته ميشود .مفهوم اين است كه مثتوای شكمارنده
/ 18معماري كامپيوتر
پیش رفته و بعد از آن 1111به رجیستر Loadميشود. N 1 از 1111تا خود
طبو اين توضیثات در اين سؤال داريم :شمارنده از 1111تا 4114پیش رفته و بعكد از
آن دارای 1111ميشود.
پس:
19ـ واحدهاس حافظه زير با تعداد كلمات در تعداد بهتها مشخص شدهاند .در
هر مورد چند خط آدرس و چند خط داده ورودس ـ خروجي نهاز است.
64k 8 )2 2k16 الف)
4G 64 )4 16M 32 ج)
حل:
2K16 211 16 44خط آدرس الف) 46خط داده
64K 8 216 8 46خط آدرس ب) 8خط داده
16M 32 224 32 61خط آدرس ج) 36خط داده
4G 64 232 64 36خط آدرس د) 61خط داده
21ـ تعداد بايتهايي را كه ميتوا در حافظههاس مسـلله 19ــ 2ذخهـره كـرد
مشخص كنهد.
معماري كامپيوتر 19 /
حل:
2K 16 4K byte 4096 bytes الف)
ب) 64K 8 64K byte 216 bytes
23ـ يك تراشه 4196×8 ROMبهتي داراس دو ورودس تواناساز بوده و بـا منبـع
ت ذيه 5ولت كار ميكند .چند پايه براس بسته مدار مجتمع نهاز است؟ بالك دياگرام
آ را رسم و پايانههاس ورودس و خروجي را نامگذارس كنهد.
حل:
4096 8 212 8 8خط داده «خروجي» 46 +خط آدرس
پین = 61دو پین منبع تغذيه برای ACCو زمین +دو ورودی تواناساز
بدين ترتیب بسته مدار مجتمع را رسم و پايانهها را نامگذاری ميكنیم :
معماري كامپيوتر 40 /
1011102 32 8 4 2 46
11101012 64 32 16 4 1 117
1101101002 256 128 32 16 4 436
2ـ اعداد زير را ،كه پايههايشا مشخص شده به دهدهي تبديل كنهد.
(50)4
حل:
با توجه به ارزش ارقام در پايه مربوطه:
121213 34 2 33 32 2 3 1 81 54 9 6 1 15151
!
تقسیم را تا جايي ادامه ميدهیم كه خارج قسمت از مبنای مورد نظكر ( )6ككوچكتر
شود.
: 44441144114دنباله
: 41144114444معكوس دنباله
همانند مثال اول داريم:
673 10 512 128 32 1 29 27 25 20 1010100012 2
)(1010100001
حل :با توجه به اينكه 16توا چهارم 2است ،هر رقم مبناس 16معادل 4رقـم
مبناس 2است كه با جايگزيني ارقام عدد با معادل دودويي آ داريم:
همچنین با توجه اينكه 8توان سوم 6است هر سه رقم مبنای 6معادل يک رقم مبنای
8است پس با جايگزيني از سمت راست داريم:
111 100 111 010 011 111 000 010
كه معادل است با
74723702
و x 8باشـد، x5 برابر x2 10x 31 0 6ـ اگر جواب معادله درجه دوم
پايه عددها چهست؟
حل:
x2
10x 31 x 5 x 8 10
r
r 13
/ 44معماري كامپيوتر
7ـ مقدار همه بهتهاس يك ثبات 12بهتي كه عدد 215دهدهي را نگه ميدارد:
الف) به دودويي:
11010
10000 26 16 10
101010
ب) 1111ـ 11111
11010
10011
101101
26-13=13
ج) 111111ـ 111
000100
010000
1010100
()4 – 48 = -44
-101100 همانند سؤال قبل نهاز به متمم 2داريم.پس متمم 2ميشود
هما طور كه ميدانهم در صورتي كه حاصل منفي باشـد ،بـه صـورت مـتمم 2
بدست ميآيد.
17ـ اعمـال حسـابي ( )+71( + )+81و ( )-71( + )-81را بـا نمـايش اعـداد
دودويي به شيل متمم 2عالمتدار انجام دههد .هشت بهت براس نمايش هر عدد بـه
همراه عالمت آ بيار بريد .نشا دههد كه در هر دو مورد سـرريز ر ميدهـد ،دو
نقلي آخر نامساوس اند و عالمت وارو ميشود.
حل:
70 01000110 70 10111010
80 01010000 80 10110000
150 10010110 150 010101010
در محاسبه سمت چپ ،جواب بزرگتر از +127است.پس جواب منفي و سرريز
ر داده است.
در محاسبه سمت راست ،جواب كوچيتر از -128است.پس جواب مثبت و
سرريز ر داده است.
18ـ اعمال حسابي زير را براس اعداد دهدهي مشخص شده با استفاده از نمايش
متمم 11عالمتدار براس اعداد منفي انجام دههد.
الف) 638 785
638 9362
785 0785
147 0147
ب) 638 185
638 9362
185 9815
823 9177
كه نهاز به متمم گهرس دارد.
معماري كامپيوتر 49 /
19ـ يك عدد دودويي ممهز شناور 36بهتي داراس 8بهت همراه عالمت براس نما
و 26بهت همراه عالمت براس مانتهس است .مانتهس يك كسـر نرمـال شـده اسـت.
اعداد مانتهس و نما به فرم مقدار عالمتدار هستند .بزرگتـرين و كـوچيترين عـدد
مثبتي كه با اين شيل ميتوا نشا داد ،به جز صفر ،كدامند؟
بزرگترين (1–2–26) ×2+255 :
بزرگترين (2–1) ×2-255 :
21ـ عدد 46/ 5 10را به صورت يك عدد دودويي ممهز شناور 24بهتي نشـا
دههد .مانتهس كه كسر نرمال شده است 16بهت و نما 8بهت دارند.
4605 32 8 4 2 0/ 5 25 2322 21 21 101110/12
=46.5
پس داريم:
1414441411111111
00000110 6
8بیت نما
21ـ كد گرس گاهي كد بازتابي گفته ميشود زيرا مقدار بهتها در دو طرف هـر
يك از توا هاس ، 2بازتاب ييديگرند ،مثالً همانگونه كه در جدول 5ـ 3مالحظـه
ميشود ،مقدار سه بهت كم ارزش در دو طرف خطي كه بهن 7و 8كشهده ميشـود
بازتاب ييديگرند .با استفاده از اين ويژگي كد گرس به دست آوريد:
الف) اعداد كد گرس براس 16تا 31به عنوا ادامه جدول5-3
ب)كد گرس افزوني 3براس اعداد دهدهي 11تا 19به عنوا ادامه جدول 6ـ 3
/ 11معماري كامپيوتر
حل:
الف:
Decimal Gray Code
16 11000
17 11001
18 11011
19 11010
20 11110
21 11111
22 11101
23 11100
24 10100
25 10101
26 10111
27 10110
28 10010
29 10011
30 10001
31 10000
نيته :يك روش ساده براس بدست آورد كدگرس يك عـدد دودويـي بـه ايـن
صورت است:
از سمت چپ شروع كرده ،اولهن رقم را عهناً مينويسهم و براس رقمهـاس بعـدس
ORانحصارس رقم عدد اصلي و رقم سمت چپ آ را در نظر ميگهريم.
مثال:
10110 1011001
دودويي
11101 1110101
گرس
پس ابتدا افزوني 3را مثاسبه كرده و سپس كدگری آن را برای سكتون بعكد بدسكت
معماري كامپيوتر 10 /
ميآوريم.
كدگری
دهدهي افزوني 3
افزوني 3
/ 12معماري كامپيوتر
4411 4141
5
4414 4144
41
4441 4114
44
4444 4111
46
41111 44111
43
41114 44114
41
41141 44144
45
41144 44141
46
41411 44441
44
41414 44444
48
41441 44414
45
41444 44411
61
44111 41411
10000110101100
23ـ ده رقم BCDرا با تواز زوج در سمت چپ آ (در كل پنج بهـت در هـر
رقم) نشا دههد .اين كار را با تواز فرد تيرار كنهد.
حل:
دهدهي BCDبا توازن زوج BCDبا توازن فرد
معماري كامپيوتر 11 /
26ـ مدارهاس يك سازنده تواز سه بهتي و بررسي كننده تواز چهـار بهتـي را
با استفاده از بهت تواز زوج بدست آوريد (مداراهاس شيل 3ـ 3تواز فـرد را بـه
كار بردهاند).
حل:
Eror x y z p و p x y z
اين مدارها همانند شيل 3ـ 3هستند با اين تفاوت كه حبابهـاس متممسـاز را
در خروجي خود ندارند.
معماري كامپيوتر 11 /
/ 16معماري كامپيوتر
T1 : R5 R1
معماري كامپيوتر 11 /
T3 :R 5 R 3
متغیرهای زمان دو به دو منثصراند .يعني در هر زمان معین فقط يک متغیر 4است
در حالي كه سه متغیكر ديگكر 1هسكتند .بكالك ديكاگرامي رسكم كنیكد ككه نشكاندهنده
پیادهسازی سختافزاری انتقال ثباتي باشد .اتصاالت الزم برای چهار متغیر زمانبندی بكه
را نیز نشان دهید. R5 خطوب انتخاب مولتي پلكسر و ورودی بار كردن ثبات
S0 و S1 حل :جكدول درسكتي را بكا توجكه بكه توضكیثات سكؤال آمكاده مكيكنیم:
ورودیهای انتخاب MUXهستند.
T0 T1 T2 T3 S1 S0 Load
S1 T2 T3
S0 T1 T3
Load T0 T1 T2 T3
پس مدار به شكل زير خواهد بود:
/ 18معماري كامپيوتر
3ـ عبارت كنترل شرطي زير را با دو عبارت انتقال ثباتي با توابـع كنتـرل نشـا
دههد:
ديكدر
2*4
فعال ساز
/ 61معماري كامپيوتر
6ـ يك كامپهوتر ديجهتال داراس سهستم گذرگاه مشترك براس 16ثبات 32بهتـي
است .گذرگاه با مولتي پليسر ساخته شده است.
الف) در هر مولتي پليسر چند ورودس انتخاب وجود دارد.
ب) اندازه مولتي پليسر چهست.
ج) چند مولتي پليسر در گذرگاه است.
معماري كامپيوتر 60 /
حل:
الف) 1خط ورودی برای مولتي پلكسر برای انتخاب يكي از 46رجیستر
ب) مولتي پلكسر 46×4
ج) 36مالتي پلكسر
7ـ عبارت هاس زير انتقال را در يك حافظه را مشخص ميكنند .در هـر حالـت
عمل حافظه را توضهح دههد.
ب) M AR R 3ج) R 5 M R 5 الف) R2 M AR
حل:
نوشككته R2 الككف) مثتككوای موجككود در حافظككه بككه آدرس ARخوانككده شككده و در
ميشود.
در خانه حافظه به آدرس ARنوشته ميشود. R3 ب) مثتوای رجیستر
R5 خوانكده شكده و در R5 ج) مثتوای موجود در حافظه بكه آدرس موجكود در
«آدرس مورد نظر از حافظه» از بین ميرود. R5 نوشته ميشود .در ضمن مقدار قبلي
8ـ بالك دياگرام سختافزارس را رسم كنهد كه عبارت هاس زير را پهادهسـازس
مي كند.
x yz : AR AR BR
كه در آ ARو BRدو ثبـات nبهتـي ،و xو yو zمت هـر هـاس كنترلـي هسـتند.
گهتهاس منطقي را براس توابع كنترلي قرار دههد (.توجـه شـود سـمبل +در بخـش
كنترل ،عمل ،ORو در ريز عمل جمع به معني بعالوه است)
حل:
/ 62معماري كامپيوتر
9ـ سختافزارس را نشا دههد كه عبارت زير را پهادهسـازس كنـد .بـراس تـابع
كنترل گهتهاس منطقي و براس شمارنده دودويي با ورودس تواناساز شمارش ،بالك
دياگرام را قرار دههد.
در نظر بگهريد. R2 و R1 11ـ عبارت انتقال ثباتي زير را براس دو ثبات 4بهتي
xT : R1 R1 R2
R2 اضافه ميشود اگر x 1باشد يكا R1 به R2 هر بار كه T 1است يا مثتوای
باشد .دياگرامي رسم كنید كه پیادهسكازی سكختافزاری x 0 انتقال مييابد اگر R1 به
دو عبارت را نشان دهد .برای دو ثبات 1بیتي يک جمعكننكده 1بیتكي و يكک مكولتي
را انتخاب ميكند از بكالك ديكاگرام اسكتفاده R1 پلكسر چهار تايي 6:4كه ورودیها به
كنید .در نمودار نشان دهید ككه متغیرهكای كنترلكي xو Tچگونكه ورودیهكای مكولتي
را انتخاب ميكنند. R1 پلكسر و ورودی بار كردن ثبات
حل:
6×4كه برای انتخكاب هكر ككدام از 1بیكت Mux در ارتباب با Muxاستفاده شده 1
ورودیها به صورت همزمان استفاده ميشود و يک Quad Muxرا تشكیل ميدهد.
11ـ با يك شمارنده 4بهتي با بـار شـد مـوازس ماننـد شـيل 11ــ 2و يـك
جمعكننده 4بهتي مانند شيل 6ـ ،4يك بـالك ديـاگرام رسـم كـرده و چگـونگي
پهادهسازس عبارتهاس زير را نشا دههد.
x :R1 R1 R2 اضافه كن R1 را به R2
يک ثبات 1بیت است. R2 يک شمارنده با بار شدن موازی و R1 كه
حل:
Ctrl Unit شده است yو xطبو طراحكي نكته مهم در اين سؤال آن است كه فر
Increment را در نظكر نگیكريم ميبايسكت ورودی همزمان 4نميشوند .اگر اين فر
شمارنده را به شكل زير طراحي كنیم.
Incr. yx
12ـ مدار جمع ـ تفري كننده شيل 7ـ 4داراس مقدارهاس زير براس ورودس مـد
معماري كامپيوتر 61 /
Mو ورودسهــاس داده Aو Bاســت ،در هــر حالــت ،مقــدارهاس خروجــي
C4 , S4 , S0 ,S1 ,را تعههن كنهد. S2 , S3
13ـ يك مدار ترتهبي كاهنده چهار بهتي را با چهار مدار تمام جمعكننده بسازيد.
حاصل كنیم ميتكوانیم بكه F.A حل :برای اينكه خروجي A 1را از مدار شامل 1
روش زير عمل كنیم:
A 1111مكمل A 1 A 1 6
Carry in
14ـ فرض كنهد كه مدار چهار بهتي شيل 9ـ 4در يك مدار مجتمع قـرار گرفتـه
از اين نوع را براس ساختن يـك مـدار حسـابي 8 IC باشد .اتصابت بزم براس دو
بهتي نشا دههد.
حل :برای گسترش از 1بیت به 8بیت مدار حسابي موارد زير انجام ميشود:
4ك اتصال رقم نقلي خروجي ICاول به رقم نقلي ورودی ICدوم
IC به انتخاب كنندههای هر دو گروه MUXها در دو S1 و S0 6ك اتصال
3ك اتصال رقم نقلي ورودی به رقم نقلي ورودی ICاول
پس:
معماري كامپيوتر 61 /
B 15ـ يك مدار حسابي با يك مت هر انتخاب Sو دو خـط ورودس nبهتـي Aو
تولهـد Cin طراحي كنهد .مدار چهار عمل حسابي زير را با توجه بـه نقلـي ورودس
ميكند .بالك دياگرام را براس دو مرحله اول مدار رسم كنهد.
S
Cin 0 Cin 1
/ 68معماري كامپيوتر
حل :طبو موارد گفته شده جدول درستي را تشكیل ميدهیم به قسمي كه وضكعیت
مشخص كند كه چه ورودیهايي به F.Aوصل شوند. Cin دو پايه Sو
S Y1 Y2
Cin
1 1 A B A B جمع
1 4 A 1 افزايش
A 1
4 1 A 4 كاهش
A 1
4 4 A تفريو
B AB
طبو نتايج باال از طريو MUXبه F.Aداده ميشود .پس: Y2 همیشه Aو Y1 پس
معماري كامپيوتر 69 /
16ـ مدار تركهبي كه هر يك از 16تابع منطقي جدول 5ـ 4را انتخاب و تولهـد
مي كند رسم كنهد.
حل :با توجه به جدول ميتوان بكا اسكتفاده از 1×4 MUXهكر ككدام از Fهكا را بكا
مكدار بكه شككل F1 و F0 توجه به ورودی yو xتعیین كرد .برای نمونه قسمت تولیكد
زير خواهد بود:
) F2نیكز بكه همكین ترتیكب سكاخته خواهنكد شكد؛ يعنكي ورودی - F15 بقیه Fهكا (
MUXهای مربوب به آنها همان yو xبرای انتخاب و مقادير ايستای Fiدر جدول 5ك 1
كتاب است.
17ـ يك مدار ديجهتال كه چهار عمل منطقي ORانحصـارس NOR ،انحصـارس،
را انجام دهد طراحي كنهد .دو مت هر انتخاب بيـار بريـد .ديـاگرام NAND NORو
منطقي يك مرحله نمونه را نشا دههد.
حل:
/ 11معماري كامپيوتر
بنابراين:
A 11011001 A 11011001
B 00100100 XOR ب) XOR B 10110100 الف)
A B 11111101 A B 01101101
حل :توجه شود كه عالمت « و » به معني اجراس همزما است .پس در رابطكه بكا
عبارت (الف) نميتوان يک رجیستر را همزمان مكمل و يا صفر كرد.
در رابطه با عبارت (ب) نميتوان دو مقدار را در يک رجیستر به صكورت همزمكان
انتقال داد.
در رابطه با عبارت (ج) نميتوان همزمان رجیستر PCرا افزايش داد و مقدار ARرا
در آن قرار داد.
/ 14معماري كامپيوتر
ب) قالب كلمه دستورالعمل را ترسیم و تعداد بیت در هر قسمت را معین كنید.
4 4 6 48 بیت = 36
I opcode Register Address
IR الف) خواندن مقدار حافظه بر روی گذرگاه و بار شدن آن در
IR M AR
PC TR ب) انتقال مقدار TRبه PCبه واسطه گذرگاه
ج) قرار گرفتن مقدار ACروی گذرگاه نوشتن مقدار در حافظه و بار شدن آن در
DR AC , M AR AC : DR
د) جمع كردن مقدار DRبا AC AC DR : AC
4ـ انتقال ثباتهاس زير قرار است در سهستم شيل 4ـ 5اجرا شـوند .بـراس هـر
S0 و S1 , S2 انتقال )1( :مقدار دودويي كه بايد بـه ورودسهـاس انتخـاب گـذرگاه
اعمال شود را تعههن كنهد؛ ( )2ثباتي كه كنترل LDآ بايد فعال شود (اگـر وجـود
دارد)؛ ( )3عمل نوشتن يـا خوانـد حافظـه (اگـر نهـاز اسـت)؛ و ( )4عمـل در
/ 16معماري كامپيوتر
حل:
توضهح قسمت (د) :توجه كنید كه اين دو عمكل همزمكان ميتواننكد انجكام پذيرنكد
چون يكي از گذرگاه استفاده كرده و ديگری نیاز به گذرگاه ندارد .همچنین با توجه بكه
حساس بر لبه بودن ثباتها و در نظر گرفتن زمان انتشار مقدارهای نامعتبر (در اثر تغییر
مقدار همزمان) در ثباتها ثبت نميشود.
5ـ توضهح دههد كه چرا ههچيك از ريزعملهاس زير نمي تواند در طـول يـك
پالس ساعت در سهستم شيل 4ـ 5اجرا شود .رشته ريز عمل هاس بزم براس انجام
عمل را تعههن كنهد.
الف) PC : IR M PCمستقهماً نميتواند آدرس را براس حافظه فراهم كند،
آدرس بايد به ARمنتقل شود:
AR PC
IR M AR
ب) AC AC TRعمل جمع بايد با DRانجام شود TR .بايد به DRمنتقل شود.
DR TR
AC AC DR
معماري كامپيوتر 11 /
DR DR + AC
ج) ( ACتغییر نميكند)
AC حاصل جمع به ACمنتقل ميشود (نه .)DRهمچنین برای نگكه داشكتن مقكدار
بايد آن را به صورت موقت در ( DRيا )TRذخیره كنیم( :با توجه به قسمت (د) سكؤال
)1
AC DR , DR AC
AC AC DR
AC DR , DR AC
6ـ قالب هاس دستور كامپهوتر پايه شيل 5ـ 5و لهست دستورهاس جدول 2ـ5
را در نظر بگهريد .براس هر يك از دستورهاس 16بهتي ،كد معادل جهار رقمي مبناس
شانزده را نوشته و به زبا ساده بگويهد اين دستور چه كارس انجام ميدهد.
الف)
0001 0000 0010 0100
1024 16
ADD 024 16
ADD 024 AC با M 024 جمع مقدار خانه
ب)
1 011 0001 0010 0100
B124 16
I ST 124 16
STAI 124 M M124 AC ذخیره
ج)
0111 0000 0010 0000
702016
Re gister INC ACافزايش
7ـ كدام دو دستور براس 1كـرد فلهـپ فـالپ Eدر كـامپهوتر پايـه بـه كـار
ميروند؟
حل:
براس 1كرد فلهپ فالپ Eابتدا بايد آ را پاك كنهم و سپس آ را متمم كنهم:
/ 18معماري كامپيوتر
حل:
E 9ـ محتواس ACدر كامپهوتر پايه عدد مبناس شانزده A937است و مقدار اولهـه
برابر 1است .محتواس AR ، PC ، E ،ACو IRدر مبناس 16پس از اجـراس دسـتور
CLAچهست؟ عمل قبل را 11بار با هر يك از دستورالعملهاس دسترسي به ثبـات
معماري كامپيوتر 19 /
تيرار كنهد .مقدار اولهه PCرا عدد مبناس شانزده 121فرض كنهد.
حل:
دقت كنید كه در دستور SNAچون ACمنفي است و شرب برقرار است يک واحكد
به مقدار PCاضافه شده است( .دستور بعد اجرا نميشود).
11ـ دستورالعملي در آدرس 121كـامپهوتر پايـه داراس ، I 0كـد عملهـاتي
ANDو آدرس 183است (تمام ارقام در مبناس 16است) .كلمـه حافظـه واقـع در
است .در طـول سـهيل A937 آدرس 183داراس عملوند B8F2و محتواس ACهم
دستور محتواس ثباتهاس زير را در پايا فاز اجرا تعههن كنهد AC , DR, AR, PC :و
.IRمسأله را شش بار براس دستورالعمل دسترسي به حافظه ديگرس تيرار كنهد.
حل:
11ـ محتواس ثباتهاس IR , DR , AR, PCو SCدر مبناس شانزده كـامپهوتر پايـه
/ 81معماري كامپيوتر
وقتي كه دستور غهرمستقهم ISZدريافت و اجرا شود چهسـت؟ مقـدار اولهـه PCرا
7FFدر نظــر بگهريــد .محتويــات حافظــه در آدرس 7FFبرابــر EA9Fميباشــد.
برابـر C35 هم 0C35ميباشد .محتويات حافظـه A9F محتويات حافظه در آدرس
FFFFميباشد .پاسخ را به صورت جدولي با 5ستو با هر ستو براس يك ثبـات،
و هر سطر براس يك سهگنال زما بندس تههه كنهد .محتواس هر ثبـات را پـس از لبـه
مثبت هر پالس ساعت نشا دههد.
حل:
است (تمام اعـداد در مبنـاس شـانزده). 3AF در كامپهوتر پايه PC 12ـ محتواس
است .محتواس حافظـه آدرس 3AFبرابـر 932Eميباشـد. 7EC3 محتويات ACهم
محتواس حافظه در آدس 32Eبرابر 09ACو در آدرس 9ACهم 8B9Fاست.
الف) دستورالعملي كه در گام بعد دريافت و اجرا ميشود چهست؟
حلI :و ريز عمل از روس بهت ها مشخص ميشود.
9 1001
ADD I 32E
I 1 ADD
حافظه
3AF 932E
32E 09AC
9AC 8B9F
معماري كامپيوتر 80 /
SC 0000
13ـ فرض كنهد كه شش دستور دسترسي به حافظه در كامپهوتر پايه در جـدول
است .فـرض T4 4ـ 5با جدول زير تعويض شوند EA .آدرس مؤثر واقع در ARدر
كنهد كه جمعكننده و مدار منطقي شيل 4ـ 5ميتواند عمـل XORرا انجـام دهـد.
. AC AC DRبعالوه فرض كنهد كـه جمعكننـده و مـدار منطقـي نميتواننـد
مستقهماً تفري را انجام دهند .تفري بايد بـه كمـك ميمـل 2انجـام شـود .دنبالـه
بـه بعـد T4 عبارت انتقال ثباتي بزم براس اجراس هـر دسـتور لهسـت شـده را ا ز
مشخص كنهد .دقت كنهـد كـه هـهچ ت ههـرس در ACنبايـد ر دهـد مگـر اينيـه
دستورالعمل ت ههرس را در آ معهن كند .شما ميتوانهد با اسـتفاده از TRمحتويـات
ACرا موقتً ذخهره و يا محتويات ACو DRرا با هم جابجا كنهد.
دستورالعملهای دسترسي به ثبات را تغییر دهیم كه نیاز به ديكد كردن خواهد داشت.
65536*16 15ـ واحد حافظه كامپهوتر پايه در شـيل 13ــ 5را بـا يـك حافظـه
جايگزين كنهد .اين حافظه آدرس 16بهتي نهاز دارد .قالب دستورالعمل دسترسي بـه
حافظه در شيل ( 5ـ 5الف) براس I 1ثابت مي ماند و بخش آدرس در ميا هاس
1تا 11قرار دارد .اما وقتي I 0است (آدرس مستقهم) آدرس دستورالعمل بـا 16
بهت در كلمه ديگرس كه به دنبال دستور آمده داده مي شود .ريز عمـل هـاس زمـا
اگر نهاز باشد) ت ههر دههد تا با اين پهيربندس هماهنگ باشد. T4 (و T3 , T2 هاس
حل:
در حالت آدرسدهي مستقیم جلوگیری ككرده و از آن T3 اين طراحي از هدر رفتن
برای آدرسدهي 46بیتي استفاده كرده كه حافظهی بزرگتری را پشتیباني ميكند.
معماري كامپيوتر 81 /
پ) دنبايه ريز عمل ها برای دريافت يک دستور دسترسي به حافظه را لیست كنید و
شروع كنید. T0 سپس عملوند را در DRقرار دهید .از سیگنال زماني
معماري كامپيوتر 81 /
BUN 2300
ب) دو دستور آخر برنامه خروجي چهست؟ فعال كرد وقفهها
0 انشعاب بدو شرط با آدرس غهرمستقهم
ION 0
BUN I
19ـ عبارت انتقال ثباتي براس ثبات Rو حافظه در يـك كـامپهوتر مطـاب زيـر
است (Xها توابع كنترل هستند و به طور تصادفي ر ميدهند).
كلمه حافظه را در Rبنويس X'3 X1 : R M AR
21ـ دنباله عمل هايي كه بايد روس فلهپ فالپ Fانجام شوند (در كامپهوتر پايه
به كار نرفته) با عبارت انتقال ثباتي تعههن شدهاند.
XT3 : F 1 4در Fنشانده شود.
yT1 : F0 Fبا 1پاك شود.
ZT2 : F F F مكمل
WT5 : F G مقدار Gرا به Fانتقال بده
در غیر اين صورت مثتوای Fنبايد تغییر يابد .ديكاگرام منطقكي مربكوب بكه اتصكال
گیتهايي كه توابع كنترل و ورودیهای فلیپ فالپ Fرا تشكیل ميدهند رسم كنید .از
يک فلیپ فالپ JKاستفاده كرده و تعداد گیتها را حداقل كنید.
حل:
با توجه به جدول تثريک J , JKبايد در حالتهای setيا مكمل يا انتقال از Gفعال
باشد پس داريم:
معماري كامپيوتر/ 91
22ـ مدار كنترل گهتي ورودس نوشـتن در حافظـه را در كـامپهوتر پايـه بدسـت
آوريد.
حل:
از جدول 6ك 5داريم:
M AR XX
Write D3 T4 D5 T4 D6 T6 RT1
/ 92معماري كامپيوتر
JK 23ـ مدار منطقي كامل وقفه را در كامپهوتر پايه نشا دههد .از فلهپ فـالپ
استفاده كنهد و گهتها را به حداقل برسانهد.
حل:
از جدول 6ـ 5داريم:
(جدول 7ـ 5را ببهنهـد) بدسـت آوريـد .نشـا x2 24ـ عبارت بولي را براس
ميتواند با يك گهت ANDو يك گهت ORتولهد شود. x2 دههد كه
معماري كامپيوتر 91 /
حل:
خروجي PCرا روی گذرگاه قرار ميدهد. x2
RT0 : TR PC
D5 T4 : M AR PC
x2 R 'T0 RT0 D5 T4 R ' R T0 D5 T4
كه .R+R'=1
25ـ عبارت بولي براس يك مدار گهتي كه شـمارنده SCرا پـاك كنـد بدسـت
آوريد .دياگرام منطقي آ را رسم نموده و نشـا دههـد كـه چگونـه خروجـي بـه
ورودسهاس INCو CLRاز شمارندهس SCوصل ميشـود ( .شـيل 6ــ .)5تعـداد
گهتها را حداقل نمايهد.
حل:
از جدول 6ك 5داريم:
CLR SC RT2 D7 T3 I' I D0 D1 D2 D5 T5 D3 D4 T4 D6T6
/ 94معماري كامپيوتر
معماري كامپيوتر 91 /
143 HLT
حل:
ابتدا ترتیب اجرای دستورالعملها را مطابو روبرو خواهیم داشت:
1- CLA
2- ADD 016
3- AND 017
4- HLT
و IRدر اين ترتیب اجرا به صورت زير خواهد بود. PC حال رجیسترهای ACو
كد شانزده شانزدهي دستورالعملهای كامپیوتر در جدول 4ك 6كتاب موجود است.
2ـ برنامه زير لهستي از دستورالعملها در مبناس شانزده است .كامپهوتر با شـروع
از آدرس 111دستورالعملها را اجرا ميكند .محتـواس ACو كلمـه حافظـه درو
آدرس 113هنگامي كه كامپهوتر متوقف مي شود چهست؟
حل :با استفاده از جدول «4ك »6دستورالعملها را بدست ميآوريم.
مكان ”“Hex دستورالعمل دستورالعمل
100 5103 BSA 103
101 7200 CMA
102 7001 HLT
103 0000 101
104 7800 CLA
105 7020 INC
106 C103 BUN 103 I
مككان 414در آدرس BSA در ارتباب با اجرای دستورالعملها دسكتورالعمل 413
413به عنوان آدرس برگشت ذخیره شده و PCاز آدرس 411اجكرای برنامكه را ادامكه
ميدهد .پس ترتیب اجرای دستورالعملها به صورت زير خواهد بود:
AC مقدار
*
FFFE
0000
معماري كامپيوتر 91 /
0001
تعريف شده براس كامپهوتر پايه استفاده شود؟ پاسخ خود توضهح دههد.
حل :بله؛ استفاده از Iبه عنوان آدرس سمبلیک دو صورت ميتواند داشته باشد.
]دستورالعمل[ (4 I
شكود .در عبكارت I 6اول در عبارت I 4ميتوانكد يكک آدرس سكمبولیک فكر
آدرس سمبلیک و Iدوم بیت غیرمستقیم ) (Indirect Refrenceرا نشان ميدهد.
5ـ اگر سطرس از كد برنامه داراس شبه دستورالعمل ORGيا ENDباشد ،عنوا
نهز داشته باشد ،در مرور اول اسمبلر (شيل 6ـ )1چه ر خواهد داد .فلوچارت را
ت ههر دههد تا در صورت رخداد باب په ام خطا در بر داشته باشد.
حل :عباراتي مانند ORGيا ENDدر كد اسمبلي كامپیوتر پايه نبايكد در مرورهكا بكه
و ORG شوند .بكرای اينككه تمكايز بكین عبكارات مثكل ENDو عنوان ” “Labelفر
عنوانها ” “Labelبرقرار باشد تا ORGو ENDتشكخیص داده شكوند تغییكرات زيكر را
برای كشف خطا در مرور اول انجام ميدهیم.
معماري كامپيوتر 99 /
ب) بديهي است مثالً كد دودويي عدد 35در مبنای 6با ككد نوشكته شكده در بكاال
متفاوت است.
35 10 0000 0000 0010 00112
35 FFDD 16
7ـ الف) جدول سمبل آدرس تولهد شده براس برنامـه جـدول 13ــ 6در حـهن
مرور اول اسمبلر را بدست آوريد.
ب) برنامه ترجمه شده را به شانزده شانزدهي بنويسهد.
حل :الف) برنامه جدول (43ك )6برنامه سمبلیک برای جمع 411عدد اسكت .طبكو
فلوچارت ارائه شده برای مرور اول اسمبلر داريم:
LOP 415 10010 FF9C16
ADS 41B 75 10 0048 16
PTR 41C 23 10 0017 16
NBR 41D
CTR 41E
SUM 41F
(بالك آغاز شده به وسهله سمبل) گاهي براس رزرو BSSN 8ـ شبه دستورالعمل
Nكلمه حافظه براس گروهي از عملوندها به كار ميرود .مثالً سطر
A , BSS10
به اسمبلر اطالع ميدهد كه بالكي از ( 11دهدهي) ميا را بـا شـروع از ميـا
Dimensionدر فرتر است. )A(10 متناظر با سمبل Aخالي بگذارد .اين مشابه جمله
فلوچارت شيل 1ـ 6را براس پردازش اين شبه دستور ت ههر دههد.
حل :برای اينكه رزرو 41كلمه حافظه در الگوريتم مرور اول اسمبلر ككامپیوتر پايكه
“Locationقبل و بعد 41عدد باشكد. ”Counter صورت پذيرد ميبايست فاصله مقادير
بنابراين تغییرات زير را در فلوچارت مرور اول انجام ميدهیم:
/ 012معماري كامپيوتر
9ـ فلوچارت شيل 2ـ 6را ت ههر دههد كه اگر يك دستور سمبولهك با برچسـب
تعريف نشده باشد ،يك پهام خطا در بر گهرد.
حل :فلوچارت 6ك 6مربوب به مرور دوم اسمبلر ككامپیوتر پايكه اسكت .طبكو سكؤال
تغییر زير را در فلوچارت انجام ميدهیم:
11ـ نشا دههد كه چگونه جدول هاس MRIو non – MRIميتوانند در حافظـه
ذخهره شوند.
حل :شیوه تنظیم دستورات دسترسي به حافظه و ساير دستورات در جكداول MRIو
non MRIمانند زير خواهد بود:
الف) ذخیره جدول دستورات دسترسي به حافظه)MRI(:
برای مثال برای دستور ADDكه يک دستور دسترسي به حافظه است داريم:
ADD (مقدار)
Memory word symbol Hex
4 A D 14 11
6 D space 11 61
مقدار ()Value مقدار به شانزده شانزدهي
CMA
Memory word symbol Hex
4 C M 13 53
6 A space 14 61
مقدار ()Value مقدار به شانزده شانزدهي
11ـ برنامه اسمبلي (معادل دودويي دستورالعملها) تولهد شده به وسهله كامپايلر
را براس عبارت شرطي زير بدست آوريد:
ابتدا عمل تفريو را انجام داده سپس با استفاده از دسكتورالعملهای مقايسكه و گكذر
انشعابهای الزم را انجام ميدهیم :دو نمونه از برنامكههايي SZA مانند SNAو SPAو
كه به عنوان راه حل به ذهن ميرسند :برنامه 4سمت چپ و 6سمت راست.
LDA B
CMA LDA B
INC CMA
ADD A / انجام عمل تفريو INC
ADD A
SNA
SPA / بودن AC گزار در صورت مثبت BUN NUM30
BUN NUM10 / (A-B) < 0 SZA
SZA BUN NUM10
BUN NUM30 / (A-B) > 0 BUN NUM20
BUN NUM20 / (A-B) = 0
/ 014معماري كامپيوتر
توجه كنید برنامههای فوق اشكال اساسي در برقراری شربهای مورد نظر دارند .در
كنید A B 0چون ) (A-Bعدد مثبت نیست (در برنامكه ())4 هر دو برنامه فر
برنامه به NUM10پرش خواهد كرد .همچنكین در برنامكه ( )6چكون ) (A-Bعكدد منفكي
نیست برنامكه بكه لیبكل NUM30پكرش خواهكد ككرد .در هكر دو حالكت A B 0
شناسايي نخواهد شد .راه حل كه اين مشكل را نداشته باشد مانند زير است:
LDA B
CMA
INC
ADD A
SPA
BUN ZeroOR Equal / (A-B) < = 0
BUN NUM 30 / (A-B) > 0
ZeroOREual , SZA
BUN NUM 10 / (A-B) < 0
BUN NUM 20 / (A-B) = 0
12ـ الف) توضهح دههد كه اجراس برنامه زير چه كارس انجـام ميدهـد .مقـدار
ميا CTRوقتي كه كامپهوتر متوقف ميشود چهست؟
ب) جدول سمبلهاس آدرس بدست آمده در مرور اول اسمبلر را بنويسهد.
ج) كد شانزده شانزدهي ( )Hexبرنامه ترجمه شده را بنويسهد.
كد برنامه
ORG 100
CLE
CLA
STA CTR
LDA WRD
SZA
BUN ROT
BUN STP
ROT , CIL
SZE
BUN AGN
BUN ROT
AGN , CLE
ISZ CTR
SZA
معماري كامپيوتر 011 /
BUN ROT
STP , HLT
CTR , Hex 0
WRD , Hex 62C1
END
حل:
الف) اين برنامه تعداد رقمهای 4موجود در عدد ذخیره شكده در مككان ( WRDدر
اينجا 62C1شانزده شانزدهي( را ميشمارد .پس داريم:
62C1 = (0110 0010 1100 0001) 2
تعداد 4های موجود در 6 = WRD
بنابراين CTRخواهد بود000616 :
ب) و ج)
حل :در ارتباب با مقدار شمارنده ميبايست فاصله دهدهي 511تا 5FFرا در مبنای
46مثاسبه كنیم.
0 F 16
16 16 256 10
0 F 16
حل :در اين روش ضكرب طبكو صكورت سكؤال عكدد دوم در شكمارنده قكرارداده
ميشود و عدد اول با خودش جمع ميشود تا بعد از رسیدن شمارنده باالرونده به عكدد
1حاصلضرب آماده باشد.
دلیل استفاده از شمارنده باالرونده در برنامههای اسمبلي اين است كه دسكتورالعمل
5 4
قابل استفاده برای چک كردن پايان شمارنده ISZاست .پس داريم( :برای مثال
B A
)
LDA A
SZA
BUN NZR
HLT
NZR , CMA
INC
STA CTR
CLA
LOP , ADD B
ISZ CTR
BUN LOP
HLT
A, DEC 4
B, DEC 5
CTR , HEX 0
END
15ـ برنامه ضرب جدول 14ـ 6مقداردهي اولهه نشده است .پس از ييبار اجراس
برنامه ،ميا CTRمقدار صفر ميگهرد .نشا دههد اگر برنامه دوبـاره از ميـا 111
بار تيرار خواهد شد .دسـتورهاس بزم بـراس مقـداردهي 65536 شروع شود ،حلقه
اولهه برنامه را اضاف كنهد.
حل :با توجه به برنامه جدول 41ك 6كه برنامه ضكرب دو عكدد مثبكت اسكت اولكین
باری كه برنامه اجرا ميشود شمارنده از -8تا 8 1بار ميشمارد تا 8بار حلقكه اجكرا
شده و 8بار شیفت اجرا شود .اگر برنامه دقیقاً دوباره از آدرس 411تكرار اجكرا شكود
يعني مقادير متغیرها حفظ شود با توجكه بكه اينككه از دسكتور ISZاسكتفاده ميشكود و
يک متغیر 46بیتي است بكرای اينككه دوبكاره 1شكود CTR همچنین با توجه به اينكه
/ 018معماري كامپيوتر
شمارش شمارش
CTR: -8 0 0 ……….
8بار 65536بار
اجرای اول اجرای دوم
همچنین متغیر Pنیز حاصلضرب در اجرای قبلي الگوريتم باقي خواهد مانكد .بكرای
رفع اين اشكال CTRو Pرا مقداردهي اولیه ميكنیم:
16ـ برنامهاس براس ضرب دو عـدد مثبـت بـدو عالمـت 16بهتـي بنويسـهد و
حاصلضرب آنها را به صورت يك عدد بدو عالمت بـا دقـت مضـاعف بدسـت
آوريد.
“doubleتوضیح داده شده ”precision حل :در كتاب جمع دو عدد با دقت مضاعف
است در رابطه با برنامه ضرب دو عدد مثبت بدون عالمت 46بیتي چون نتیجكه عمكل
ضرب حداكثر 36بیتي خواهد بود بنابراين برای MultipliCandبه دلیل نیاز بكه شكیفت
به چپ و همینطور برای حاصلضرب جزيي ” “Partial Prodactمتغیرهای 36بیتكي اخكذ
خواهد شد .يعني برای 5هر كدام از اين دو مقدار ما به دو كلمه از حافظه نیاز خواهیم
معماري كامپيوتر 019 /
داشت.
بنابراين در جمع حاصلضرب جزيي با MultipliCandاز جمع بكا دقكت مضكاعف و
از شیفت به چكپ در دو مككان از حافظكه اسكتفاده MutipliCand برای شیفت به چپ
خواهیم كرد.
همچنین شمارنده ما به جای -46 -8مقداردهي خواهد شد.
LOP , CLE
LDA
CIR
STA
SZE
BUN One
BUN Zero
One , LDA XL جمع با دقت مضاعف
ADD PL
STA PL X Pو
CLA
CIL مانند جدول 45ك 6در كتاب
ADD XH
ADD PH
STA PH
CLE
Zero , LDA XL
CIL X شیفت به چپ با دقت مضاعف
STA XL
LDA XH
با ارزشتكرين بیكت XLرا بكه E «بیت
CIL كم ارزشترين بیت XHانتقال ميدهد».
STA XH
ISZ CTR
BUN LOP
HLT
17ـ برنامهاس براس ضرب دو عدد عالمتدار بنويسـهد .اعـداد منفـي ابتـدا بـه
صورت متمم 2عالمتدار نشا داده ميشوند .حاصلضرب بايد با دقت ساده باشـد
و در صورت منفي بود هم ،به صورت متمم 2عالمتدار نشا داده شود.
حل:
X Multipli Cand
/ 001معماري كامپيوتر
×
Y Multiplier
Result
در عبارت باال بثپ بسیار مهم اصالت بیتهای Multiplierاست زيرا 1و 4بكودن
اين بیت ها جمع موجود در الگوريتم ضرب را درگیر كرده و نتیجه را تغییر خواهد داد.
بنابراين سعي ما در مثبت بودن Yيعني Multiplierاست.
بنابراين:
اگر Yمثبت باشد همان ضرب معمولي انجام خواهد شد.
اگر Yمنفي باشد هر دو Yو Xرا مكمل 6كرده تا Yمثبكت شكود .سكپس ضكرب
معمولي انجام ميشود.
پس:
نكته در ارتباب با مقدار اولیه شمارنده CTR = -7لثاظ شده است .دلیل ايكن اسكت
يعني با ارزشترين بیت (بیت عالمت) 1اسكت. Y7 كه چون نهايتاً Yمثبت است بیت
پس با 4بار شیفت ضرب حاصل خواهد شد.
18ـ برنامهاس بنويسهد كه دو عدد با دقت مضاعف را از هم تفري كند.
معماري كامپيوتر 000 /
)A B A (B
بنابراين بعد از مكمل 6كردن BLو BHدر عین حفظ رقكم نقلكي جمكع بكا دقكت
”“Temp مضاعف را انجام مي دهیم .دلیل ذخیره رقم نقلي در رجیستر ذخیره موقت داده
اين است كه ما به ACبرای ادامه مكمل 6كردن Bنیاز داريم.
ذخیره شود در پس:
C A-B
CLE
LDA BL
CMA
INC
ADD AL
STA AL
CLA
CIA
CIL
STA TMP
LDA BH
CMA
ADD AH
ADD TMP
STA CH
HLT
TMP , Hex 0
19ـ برنامهاس بنويسهد كه ORانحصارس منطقي دو عملونـد منطقـي را حسـاب
كند.
حل :ميدانیم:
z x y xy' x ' y
حال دو روش برای بیان عبارت براساس ANDو NOTداريكم( :بكه ايكن دلیكل ككه
دستورالعملهای ANDو CMAبرای ساخت تركیبات منطقي استفاده ميشوند).
4ك از راه جبربول:
' z xy' x ' y xy' '. x ' y '
/ 002معماري كامپيوتر
CMA
INC
ISZ SUB / افزايش اشارهگر برای دسترسي به پارامتر بعدی
ADD SUB I / پارامتر دوم جمع يا مكمل 6پارامتر اول
ISZ SUB
STA SUB
ISZ SUB
BUN SUB I
22ـ زيرروالي بنويسهد كـه هـر داده را در يـك بـالك مـتمم كنـد .در برنامـه
فراخواننده ،دو پارامتر پس از دستورالعمل BSAآمدهاست :آدرس شـروع بـالك و
تعداد كلمات بالك.
آنكه آدرس شروع 10016و تعداد كلمات حافظه 36است داريم: حل :با فر
برنامه صد زننده زير روال:
BSA CMP
Hex 100
DEC 32
ISZصرفاً برای افزايش يكک واحكد PTR ISZو CMP در دستورالعملهای باال
استفاده شدهاند.
را چهار بار به راست بچرخانـد .اگـر ابتـدا AC 23ـ زير روال بنويسهد كه Eو
محتواس ACبرابر 079C16و E 1باشد ،محتواس آنها پـس از اجـراس زيـر روال
چهست؟
حل :طبو صورت سؤال داريم:
CR4 , Hex 0
CIR
CIR
CIR
CIR
BUN CR4 I
در رابطه با مقادير داريم:
AC :079C16 0000 0111 1001 11002 , E 1
AC 1000 0011 1100 11102 , E 0 بعد از چرخش اول
AC 0100 0001 1110 01112 , E 0 بعد از چرخش دوم
AC 0010 0000 1111 00112 , E 1 بعد از چرخش سوم
AC 1001 0000 01111 0111 10012 , E 1 بعد از چرخش چهارم
بنابراين بعد از اجرای زير روال:
AC 907916 , E 1
24ـ برنامه اس بنويسهد كه كاراكترهاس ورودس را بپذيرد ،هـر دو كـاراكتر را در
يك كلمه فشرده كند و پشت سر هم در بافر حافظه ذخهره نمايد .اولهن آدرس بـافر
40016و اندازه آ 51210است .اگر بافر سرريز كند كـامپهوتر بايسـتي متوقـف
مي شود.
«جدول 61ك 6كتاب» دريافكت و فشكرده IN2 شود كه زير روال به اسم حل :فر
كردن دو كاراكتر در يک كلمه را بر عهده دارد.
/ 006معماري كامپيوتر
25ـ برنامهاس بنويسهد كه دو كاراكتر در ميا WRDرا باز كنـد .و آنهـا را در
بهتهاس 1تا 7از ميا هاس CH1و CH2ذخهره كند .بهت 9تا 15بايد صفر باشد.
AC حل :ابتدا زير روال به نام SR8را تعريف ميكنیم كه 8بار مثتويكات رجیسكتر
را به راست شیفت ميدهد .ميتوانیم قبل از هر بار شیفت CLEانجام دهیم و يا بعد از
ANDكنیم تا نیمه بااليي رجیستر 1باشد. 00FF 8بار شیفت چرخشي مثتوا را با
SR8 , Hex 0
CIR
CIR
CIR
CIR
CIR
CIR
CIR
CIR
BUN SR8 I
برای برنامه اصلي داريم:
LDA WRD
AND MS1 / AND With 00FF
STA CH1
معماري كامپيوتر 001 /
LDA WRD
AND MS2 / AND With FF00
CLE
BSA SR8
STA CH2
HLT
…WRD , Hex ,
… CH1 , Hex,
… CH2, Hex ,
MS1 , Hex 00FF
MS2 , Hex FF00
26ـ فلوچارتي را براس برنامهاس بدست آوريد كه وجود 0D( CRدر مبناس )16
را در بافر حافظه بررسي كند .بافر داراس 2كاراكتر در هر كلمه است .وقتي به كـد
CRديده شود ،برنامه آ را به بهتهاس 1تا 7ميا LNEمنتقل مي كند بدو آنيه
بهتهاس 8تا 15ت ههر كنند.
حل :كد CRدر بافر يا در كد باال و يا در كد پايین هر كلمه از بافر قرار دارد .بكرای
كد باال از ANDبا FF00و برای كد پايین از ANDبا 00FFاستفاده ميكنیم.
را از جـدول 23ــ 6بـه كـد شـانزده شـانزدهي SRV 27ـ روال سرويسدهي
معادلش ترجمه كنهد .فرض كنهد كه روال از ميا 211شروع شده باشد.
حل:
/ 008معماري كامپيوتر
28ـ يك روال سرويسدهي وقفه كه تمام عملهات بزم را انجام ميدهد بنويسهد
ولي وسهله ورودس فقط اگر ميا MODتماماً 1باشد ،سرويسدهي شـود .وسـهله
خروجي هم فقط اگر ميا MODتماماً 0باشد سرويسدهي شود.
حــل :هماننككد برنامككه سككرويسدهي جككدول 63ك ك 6بككا ايككن تفككاوت كككه هنگككام
FFFF16بكودن MODبررسكي ISZ سرويسدهي به وسكیله ورودی بكا دسكتورالعمل
16بودن SZA ميشود .و هنگام سرويسدهي به وسیله خروجي با دستورالعمل
MODبررسي ميشود.
SRV , STA SAC
CIR
009 / معماري كامپيوتر
STA SE
LDA MOD
ISZ
BUN NXT / MOD FFFF
SKI
BUN NXT
INP
OUT
STA PT1 I
ISZ PT1
NXT , LDA MOD
SZA
BUN EXT / MOD
SKO
BUN EXT
LDA PT2 I
OUT
ISZ PT2
EXT , …..
6-63 ادامه برنامه مانند جدول
/ 021معماري كامپيوتر
1 1000
فركانس هر پالس ساعت 9
106 10 MHz
100 10 100
اگر ثبات داده كنترل استفاده نشود:
10 40 40 90 nsحداقل زمان
CAR ROM )Max (Micro operations , sequencer
Clockنیز نداريم .فركانس برابكر اسكت 2 كه در اين صورت يک فاز داريم و نیاز به
با:
1
فركانس هر پالس ساعت 1101 MHz
90 109
5ـ سهستم شيل 2ـ 7از يك حافظه كنترلي 1124كلمهاس و هر كلمه 32بهتـي
استفاده ميكند .ريز دستورالعمل داراس سه مهدا است .مهدا ريز عملها 16بهتي
است.
الف) مهدا آدرس انشعاب و مهدا انتخاب چند بهتي هستند؟
پس به 11بهت آدرس نهاز داريم.
= 6×36حافظه كنترل
6 41 46
انتخاب آدرس ريز عمل
ب) اگر 16بهت وضعهت وجود داشته باشد ،چنـد بهـت منطـ انشـعاب بـراس
انتخاب يك بهت وضعهت بزم است؟
حالت 16 24 1بیت :
ج) چند بهت براس انتخاب ورودس مالتي پليسر باقي مانده است؟
6-1=6 بیت
6ـ حافظه كنترل شيل 2ـ 7داراس 4196كلمه 24بهتي است.
الف) در ثبات آدرس كنترل چند بهت وجود دارد؟ = 212 24حافظه كنترل
معماري كامپيوتر 021 /
9ـ توضهح دههد كه چگونه با يك حافظه فقط خواندني ميتوا عمل نگاشت از
كد دستورالعمل به آدرس ريز دستورالعمل را انجام داد .مزيت اين روش نسبت بـه
روش شيل 3ـ 7چهست؟
حل :با استفاده از ROMمانند شكل زير كه در آن nتعداد بیت كد عمل و mتعداد
بیت آدرس حافظه كنترل است ميتوان اين كار را انجام داد به اين صكورت ككه در هكر
آدرس شروع روال مربوب به آن در حافظه كنترل قرار داده شده باشد و ROM خانه از
بیتهای كد عمل به ورودی ROMمتصل باشد.
مزيت اين روش استفاده بهتر از حافظه كنترل و عدم نیاز به پكرش بكرای روالهكای
طوالني است (آدرس شروع هكر روال الزم نیسكت مضكربي از تكوان 6باشكد و عكددی
دلخواه است).
nورودی 2n m
خروجيm
مالتي پليسر نهاز داريم؟ آيا راه
11ـ چرا در پهيربندس كامپهوتر شيل 4ـ 7به دوROM
ديگرس براس انتقال اطالعات از چند منبع به يك مقصد مشترك وجود دارد؟
حل :زيرا در هر مرحلكه ورودیهكای DRو ARبايكد از بكین ورودیهكای موجكود
انتخاب شود و برای اين كار به مالتي پلكسر نیاز داريم .پس دو مالتي پلكسر يكي بكرای
DRو ديگری برای ARنیاز است .راههای ديگر برای اين كار استفاده از بافر سه حالتكه
يا مدار گیتي (معادل يک مالتي پلكسر) ميباشد.
11ـ با استفاده از جدول 1ـ ،7براس ريز اعمال زير ،محتواس 9بهت مهـدا ريـز
عمل را مشخص كنهد.
الف)
AC AC 1 , DR DR 1
ب)
DR AC , AC DR
:حل
F1 F2 F3
)الف
011 110 000 INCAC INCDR NOP
000 100 101 NOP READ INCPC )ب
100 101 000 DRTAC ACTDR NOP )ج
ARTPC PC AR F3 110
(ج DRTAC AC DR F1100 . استفاده ميكنندF1 غیرممكن هر دو از
WRITE M AR DR F1 111
حل:
اگر I 0باشد عملوند در ريز دستورالعمل اول خوانده شده و در ريز دستورالعمل
دوم به ACاضافه ميشود.
INDR2 اگر I 1باشد آدرس مؤثر در DRقرار ميگیرد و كنتكرل برنامكه بكه روال
ميرود .زير روال INDR2بايد عملوند را در DRقرار دهد:
INDR2 : DRTAR U IMP NEXT
READ U RET
14ـ در زير ريز برنامه سمبلهك يك دستورالعمل در كامپهوتر بخش 3ــ 7آمـده
است
ORG 40
NOP S JMP FETCH
NOP Z JMP FETCH
NOP I CALL INDRCT
ARTPC U JMP FETCH
باشد كاری انجام AC 0 يا AC 0 همانطور كه ميبینیم ريز برنامه در صورتي كه
I 1 نميدهد و به روال FETCHپرش ميكنكد .در غیكر ايكن صكورت AC0اگكر
باشد ابتدا روال INDRCTرا فراخواني ميكنكد تكا آدرس مكؤثر بدسكت آيكد و سكپس
مثتوای ARرا در PCقرار ميدهد (انشعاب اگر ACمثبت و غیر صفر باشد).
( EAآدرس مؤثر استif AC 0 then PC EA ).
ب) چهار ريز دستورالعمل را به فرم معادل دودويي آنها تبديل كنید.
معماري كامپيوتر 021 /
15ـ كامپهوتر بخش 3ـ 7داراس ريز برنامه دودويي زير است.
آدرس ريز برنامه دودويي
61 11111111111111111111
61 11111111111111111111
62 11111111111111111111
63 11111111111111111111
الف) آن را به ريز برنامه سمبلیک مطابو جدول 6كك 4ترجمكه كنیكد FETCH( .در
آدرس 61و INDRCTدر آدرس 64است).
(الف
60: CLRAC , COM U JMP INDRCT
61: WRITE, READ I CALL FETCH
62: ADD, SUB S RET )63(NEXT
63: DRTAC, INCDR Z MAP 60
ب) تمام اشكاالتي را كه با اجرای اين ريز برنامه در كامپیوتر پیش ميآيد بنويسید.
INDRCT : 61نميتوان همزمان ACرا پاك كرد و متمم كرد .همچنین با پكرش بكه
كنترل برنامه به خط 64بر نميگردد.
: 64نميتوان همزمان در حافظه نوشكت و از آن خوانكد .همچنكین CALLهماننكد
RETوجود ندارد. FETCH JMPعمل ميكند زيرا در پايان
S : 66نميتوان همزمان جمع و تفريو انجام داد .همچنین RETبكدون توجكه بكه
اجرا ميشود.
MAP : 63بدون توجه به Zو 61اجرا ميشود.
/ 028معماري كامپيوتر
16ـ دستورات زير را به كامپهوتر بخـش 3ــ 7اضـافه كنهـد ( EAآدرس مـؤثر
است) :برنامه سمبلهك را براس هر روال مطاب جدول 2ـ 7بنويسهد( .توجه كنهد كه
مقدار ACنبايد ت ههر كند مگر اين كه دستورالعمل ،يك ت ههـر در ACرا مشـخص
نمايد).
سمبل كد عمل شيل سمبلهك شرح
AND 1111 AC AC M EA AND
SEQ 1111 if AC MEA then PC PC 1 گذر در صورت برابرس
حل:
19ـ نشا دههد كه چگونه خروجيهاس 5و 6دييـدر F3در شـيل 7ــ 7بـه
شمارنده برنامه PCوصل ميشوند.
حل :از جدول 4ك 4داريم:
F3 101 5 PC PC 1
21ـ نشا دههد كه چگونه يك مهدا 9بهتي ريز عمل در ريـز دسـتورالعمل را
ميتوا به زير مهدا هايي تقسهم كرد تا 46ريز عمل را مشخص نمايند؟ چنـد ريـز
عمل ميتوا در يك ريز دستورالعمل مشخص كرد؟
حل:
ريز عمل را مشخص كند. 25 -1(NOP)=31 يک زير میدان 5بیتي ميتواند
ريز عمل را مشخص كند. 24 1 15 يک زير میدان 1بیتي ميتواند
بیت 5 + 1 = 5
34 + 45 = 16 ريز عمل
/ 012معماري كامپيوتر
ب) تعداد بهت ها را در هر مهدا كلمـه كنترلـي مشـخص كنهـد و يـك طـرح
رمزگذارس كلي را ارائه نمايهد.
46ثبات به چهار بیت برای انتخاب نیاز دارد 36 .عمل ALUبكه 5بیكت و 8عمكل
شیفت به 3بیت برای انكد كردن عمل نیاز دارند .برای هر عمل به سه ثبات نیاز داريم.
را نشا دههد. R 4 R 5 R6 ج) بهتهاس كلمه كنترل ريز عمل
22ـ فرض كنهد كه منط ورودس تواليگر ريز برنامه شيل 8ـ 7چهـار ورودس
را داراست .عملهات اجرا شده در L و S0 , S1 و ( Tتست) و سه خروجي I0 , I1 , I2
واحد در جدول زير لهست شده است .يك مدار منطقي ورودس با استفاده از حداقل
تعداد گهتها طراحي كنهد.
حل:
/ 014معماري كامپيوتر
23ـ يك افزايشگر تركهبي 7بهتي براس تواليگر ريز برنامه شيل 8ـ 7طراحي
كنهد (شيل 8ـ )4با اضافه كرد يك ورودس كنترلي Dافزايشگر را ت ههـر دههـد.
وقتي D 0است ،مدار يك واحد افزايش مييابد ،ولي وقتي D 1است مـدار دو
واحد افزايش مييابد.
حل:
الف) افزايشگر تركهبي 7بهتي:
انحصارس OR 24ـ بهن MUX2و مدار منطقي ورودس در شيل 8ـ 7يك گهت
قرار دههد .ييي از ورودسهاس گهت از خروجي آزمايشي مـالتي پليسـر وارد مـي
شود .ورودس ديگر گهت از بهتي با نام ( Pبه معنـي قطبهـت) در ريـز دسـتورالعمل
حاصل از حافظه كنترلي ميآيد .خروجي گهت به ورودس Tدر مدار منطقي ورودس
متصل ميشود .كنترل قطبهت Pچه كارس انجام ميدهد؟
حل:
Pبرای تعیین قطبیت بیت وضعیت انتخاب شده به كار ميرود.
2ـ سهستم شيل 2ـ 8داراس تأخهرهاس زماني زير اسـت 31ns :بـراس انتشـار در
21nsتأخهر در دييدر مقصـدياب و 11ns , ALU 81ns ،MUXبراس عمل جمع در
معماري كامپيوتر 011 /
براس ورود داده به ثبات مقصد ،حداقل سهيل زماني براس استفاده به عنـوا پـالس
ساعت چقدر است؟
حل :طبو مدار مدار ALUبه نتیجه خروجي MUXها بستگي دارد .همچنین نوشتن
در رجیستر مقصد به خروجي ALUنیاز دارد .طبو صورت سؤال:
خروجي ALUدر ) 411(nsآماده است.
خروجي ديكدر در ) 61(nsآماده است.
Max 100, 20 100
پس 30 80 10 120 n sec
آماده شده است. ALU در حقیقت خروجي ديكدر حین تشكیل خروجي
3ـ كلمه كنترلي را كه بايد به پردازشگر شيل 2ـ 8اعمال شود تـا ريـز اعمـال
زير را پهاده سازس كند ،مشخص كنهد.
R1 R2 R 3 الف)
R4 R4 ب)
R5 R5 1 ج)
R6 shLR1 د)
R 7 input هـ)
حل :جدول زير را تشكیل ميدهیم:
دستورالعمل SELA SELB SELD OPR كلمه كنترل دودويي
4ـ ريز عملهات اجراشونده در پردازشگر شيل 2ـ 8را وقتي كه كلمات كنترل
14بهتي زير اعمال ميشود معهن كنهد.
الف) 11111111111111
ب) 11111111111111
ج) 11111111111111
د) 11111111111111
هـ) 11111111111111
حل :روند جواب اين سؤال عكس روند جواب سؤال قبل است .يعني با داشتن
كلمه كنترل دودويي ميبايست دستورالعمل مناسب را بنويسیم .پس جدول زير را
تشكیل ميدهیم.
كلمه كنترلي دودويي SELA SELB SELD OPR ريز دستورالعمل
(الف 114 141 144 11414 R1 R2 R3 SUB R 3 R1 R2
(ب 111 111 111 1111 Input Input None TSFA Output Input
( 141 141 141 14411ج R2 R2 R2 XOR R2 R2 R2
(د 111 114 111 11141 Input R1 None ADD Output Input R1
(هك 444 411 144 41111 R7 R4 R3 SHRA R 3 Shr R 7
باشد .چند تعداد داده در sp 000000 5ـ فرض شود در پشته شيل 3ـ، 8
پشته وجود دارد اگر:
الف) FULL 1 , EMPTY 0
حل:
الف) پشته با 61داده پر شده است.
ب) پشته خالي است (دادهای در پشته وجود ندارد)
معماري كامپيوتر 019 /
6ـ پشته طورس سازما يافته است كه همهشه SPبه ميا بعدس خالي در پشته
اشاره مينمايد اين به آ معني است كه مقدار اولهه SPدر شيل 4ـ 8ميتواند
4111بوده و اولهن داده در پشته در ميا 4111از پشته ذخهره شود .براس اعمال
pushو popعملهات جزيي بزم را بنويسهد.
حل :در هر زمان stack pointerبه خانه خالي باالی دادهها اشاره ميكند .پس:
push :1 M SP DR pop: 1 SP SP 1
2 SP SP 1 2 DR M SP
7ـ عبارات محاسباتي را از مهانوندس به RPNتبديل كنهد.
A*B*C*D E*F الف)
ب) A*B A* B*D C*E
F* G H
ابتكدا درخكت عبكارت براسكاس RPN حل :در تبديل عبارات میانوندی به عبارات
اولويت پايین به باال را رسم كرده و سپس پیمايش Postorderانجام مكيدهیم( .پیمكايش
postابتدا فرزند سمت چپ سپس فرزند سمت راست و سپس پكدر را پیمكايش order
ميكند).
مثال:
3 2* 5 8
پیمايش
3258+*+
به همین ترتیب برای اين سؤال داريم:
(الف AB*CD*EF*
ASC با توجه به سؤال هر گاه عمل writeصورت ميپذيرد .يک واحد به شكمارنده
اضافه ميگردد و هر گاه عمل Readصورت ميپذيرد يک واحد از شمارنده ASCككم
ميگردد.
پس:
)Write : I F(full=0
M WC DR
WC WC 1
ASC ASC 1
Read : IF empty 0
DR M RC
RC RC 1
ASC ASC 1
از دو پرچم fullو emptyبرای چک كردن پر يا خالي بودن صف استفاده ميشود.
پس:
Op-code Address
G H*K
الف) با استفاده از كامپهوتر با ثباتهاس عمومي و دستورات سه آدرسه
ب) با استفاده از كامپهوتر با ثباتهاس عمومي و دستورات دو آدرسه
ج) با استفاده از كامپهوتر نوع انبارهاس با دستورات يك آدرسه
د) با استفاده از كامپهوتر با ساماندهي پشته با دستورات صفر آدرسه
حل :ابتدا فرم RPNرا با توجه به مباحپ مطرح شده به دست ميآوريم .سپس طبو
موارد گفته شده عمل ميكنیم.
فرم RPN : AB CDE*F * GHK* /
ADD
DIV
POP X
13ـ واحد حافظه كامپهوتر 256Kكلمـه 32بهتـي دارد .كـامپهوتر داراس قالـب
دستورات چهار مهداني است :مهدا كد عملهاتي ،مهـدا روش آدرسدهـي بـراس
هفت روش موجود ،مهدا آدرس ثبات براس انتخاب ييي از 61ثبات پردازشگر ،و
آدرس حافظه ،قالب دستور و تعداد بهتها در هر مهدا را اگر دستور در يك كلمه
حافظه باشد معهن كنهد.
حل:
معماري كامپيوتر 041 /
مقدار 511را محاسبه كنهد ،سپس نشا دههد كـه مقـدار دودويـي در PCبعـالوه
آدرس نسبي محاسبه شده در قسمت (ب) برابر عدد دودويي 511است.
حل :در خانه 411هستیم PC 751 حال بكا چكه آدرس نسكبي بايكد بكه آدرس
511برويم؟
الف)
:آدرس نسبي 500 751 251
ب)
-251 =2's complement (251) = 111100000101
ج)
PC 7510010 11101111
10001000
OR : 10011100
10101010
10111110
XOR : 10011100
10101010
00110110
21ـ عدد 16بهتي 1111111111111111مفروض است .چه عملي بايـد انجـام
داد تا:
الف) 8بهت اول 1شود.
ب) هشت بهت آخر 1شود.
ج) هشت بهت وسط ميمل شود.
A = 1001101011001101 شود حل :فر
(AND الف) برای 1كردن تعكدادی از بیتهكا از عملگكر ANDاسكتفاده مكيكنیم.
A 1001101011001101مكانهای بدون تغییر 4و مكانهای مورد نظر برای )Mask
مكانهای بدون تغییر 1و مكانهای مورد نظر بكرای 4شكدن 4در نظكر ميگیكريم.
پس:
OR A,0000 00001111 1111
ج) برای مكمل كردن تعدادی از بیتها از عملگر XORاستفاده ميكنیم.
مكانهای بكدون تغییكر 1و مكانهكای مكورد نظكر بكرای مكمكل ككردن 4در نظكر
ميگیريم پس:
XOR A , 0000 1111 1111 0000
22ـ يك ثبات 8بهتي داراس مقدار 11111111است و بهت نقلي نهـز 1اسـت.
هشت عمل شهفت موجود در جدول 9ـ 8را روس آنها پهاده كنهد .هر بار مقدار اولهه
عدد داده شده باب باشد.
حل :داده اولیه 1444414 :و Carry 1داريم:
( SHR :00111101شیفت به راست منطقي)
( SHL : 11110110شیفت به چپ منطقي)
( SHRA : 00111101شیفت به راست حسابي)
( SHLA : 11110110شیفت به چپ < تغییر بیت عالمت رخداد سرريز
حسابي)
( ROR : 10111101چرخش به راست)
( ROL : 11110110چرخش به چپ)
( RORC : 10111101چرخش به راست با نقلي)
( ROLC : 11110111چرخش به چپ با نقلي)
23ـ اعداد عالمت دار روبرو را به شيل اعداد دودويـي را بـه صـورت 8بهـت
نمايش دههد -83 ،و +83و -63و +63
الف) جمع 83 63 را به دودويي انجام و نتهجه را تفسهر كنهد.
68 83 را به دودويي انجام و نشـا دههـد كـه سـرريز ر ب) تفري
/ 011معماري كامپيوتر
ميدهد.
ج) عدد دودويي -68را ييبار به راست شهفت دههد و مقدار شهفت داده شـده
را به دهدهي بدست آوريد.
د) عدد دودويي -83را ييبار به چپ شهفت دههد و ببهنهد آيـا سـرريز وجـود
دارد يا نه؟
حل :اعدادمنفي را مكمل 6خواهیم كرد.
83 :01010011
68 :01000100
83 :10101101
68 :10111100
الف)
83 10101101
68 01000100
15 11110001
ب) تشخیص سريز با XORكردن دو رقم نقلي آخر صورت ميپذيرد.
68 83 68 83
68 10111100
83 10101101
01101001
با توجه به دو رقم نقلي آخر سرريز رخداده است.
ج)
68 : 1011100 11011110 : 34
د)
83 : 10101101 01011010 : 166
بیت عالمت تغییر كرده است .پس سريز رخداده است.
24ـ نشا دههد مدارس كه خرجي 1را در شيل 8ـ 8چـك ميكنـد ، ،يـك
گهت NORاست.
معماري كامپيوتر 010 /
ميبايست بیان كنید كه تک تک بیتهای ALU حل :برای تشخیص 1بودن جواب
جواب 1هستند.
')Z = F'0+F'1+F'2+F'3+ F'4+F'5+F'6+F'7 = (F0+F1+F2+F3+ F4+F5+F6+F7 :NOR
25ـ يك كامپهوتر 8بهت داراس يك ثبات Rاست .مقادير بهتهاس وضعهت Cو
Sو Zو ( Vشيل 8ـ ) 8را پس از اجراس هر يك از دستورات زيـر معـهن كنهـد.
مقدار اولهه Rدر هر مورد 72در مبناس شانزده است .اعداد زير نهز در مبناس شانزده
هستند.
را با Rجمع كنهد. C6 الف) عملوند بالفصل
ب) عملوند بالفصل 1Eرا با Rجمع كنهد.
را از Rكم كنهد. 9A ج) عملوند بالفصل
د) Rرا با XOR , Rنمايهد.
حل :متذكر ميشويم مواردی كه رخداد سرريز را موجكب ميشكوند فعكالً جمكع و
منها و شیفت حسابي به راست هستند .برای يافتن مقدارها دو رقم نقلي آخر مثاسبه و
بیت عالمت مثاسبه اهمیت دارند.
01110010
01110010
+ 00011110 ب) الف)
11000110
10010000
00111000
C 0 ,S 0 , Z 1 , V 0
26ـ دو عدد بدو عالمت توسط رابطه A-Bبا هم مقايسه شدهاند .بهت نقلي بـه
عنوا بهت قرض پس از مقايسـه در بهشـتر كامپهوترهـاس تجـارس در نظـر گرفتـه
A است .نشا دههد كه نسـبت انـدازه C 1 ميشود ،به طورس كه اگر A < Bباشد
طب جدول مربوط به اين مسلله و (جـدول 11ــ)8 Z نسبت به Bاز وضعهت Cو
قابل استنتاج است.
بدون عالمكت از AوB حل :طبو سؤال وضعیتهای شرطي جدول 44ك 8برای
طريو بیتهای Cو Zتعیین ميگردد(.مقايسه با ))(A-B
پس داريم:
C 1 A B C 0 A B
Z 1A B Z 0 A B
بنابراين:
A B A B AND A B :C 0 AND Z 0 : C'Z' 1
A B A B OR A B : C 1 OR Z 1 : C Z 1
پس:
28ـ بزم است يـك مـدار ديجهتـال بـا چهـار ورودس Cو Sو Zو Vبـا 11
خروجي طراحي شود ،كه هر يك مربوط به يك شرط انشعاب در مسـلله 26ــ 8و
27ـ 8است( .حابت مساوس و نامساوس در هـر دو جـدول ييـي اسـت ).نمـودار
منطقي مدار با استفاده از دو گهت ،ORيـك XORو پـنج معيوسكننـده را رسـم
كنهد.
حل :برای طراحي مدار منطقي رابطههای گفته شده از نتايج بدست آمكده در پاسكخ
Cبكه عنككوان Z V S سكؤاالت 66و 64اسكتفاده كككرده و بكا اسكتفاده از بیتهككای
ورودی مدار را طراحي مينمايیم.
معماري كامپيوتر 011 /
ب)
در تفريو Z 0 , C 1 رقم قر
ج)
A 65 , B 132 A B BL , BLE , BNE
مخالف كوچكتر مساوی كوچكتر
31ـ برنامهاس در يك كامپهوتر دو عدد عالمتدار Aو Bرا با پهش قالب بنـدس
عمــل A-Bتصــحهح بهتهــاس وضــعهت مقايســه ميكنــد .اگــر A 01000001و
معماري كامپيوتر 011 /
B 10000100باشند.
الف) اختالف را محاسبه و نتهجه دودويي را تفسهر كنهد.
ب) مقادير بهتهاس Sو Zو Vرا معهن كنهد.
ج) دستورات انشعاب شرطي را از جدول 11ـ 8كه اتفاق ميافتد لهست كنهد.
A B A B حل A :و Bعالمتدار هستند.
A 01000001 : 65 01000001
B 10000100 : 124 01111100 الف)
AB 1011110 10111101
33ـ اختالف عمده بهن دستور انشعاب ،فراخواني و وقفه برنامه چهست؟
حل :دستورالعمل انشعاب :انشعاب به قسمتي از حافظه بدون بازگشت بكه قسكمت
قبلي
زير روال و فراخواني آن :انشعاب به زير روال و سپس بازگشت به برنامه اصلي
وقفه نرمافزاری :انشعاب بكه يكک روتكین اجكرای وقفكه «آدرس وقفكه بكه صكورت
سختافزاری مشخص ميگردد» و امكان بازگشت به برنامه اصلي
34ـ پنج مثال از وقفه خارجي و پنج مثال از وقفه داخلي را ارائه نمايهـد .فـرق
بهن وقفه نرمافزارس و فراخواني زير روال چهست؟
حل :منابع «وقفه» خارجي دستگاههای ورودی و خروجي زمانسكنجها مكدارهای
مربوب به كنترل منبع تغذيه ) (powerو ...را شامل ميشوند .پس ميتوان موارد زير را به
عنوان وقفه خارجي لیست كرد:
ك وقفه دستگاه ورودی و خروجي برای درخواست ارسال داده
ك وقفه دستگاه ورودی و خروجي برای اعالم پايان ارسال داده
ك وقفه قطع برق از منبع تغذيه
ك وقفه تايمر برای افتادن در حلقههای نامتناهي
ك وقفه انقضای زمان یک رخداد
منابع وقفه داخلی ،کاربرد غیر مجاز و اشتباه دستورات و داده ها هستند؛
مثالهايي از وقفه داخلي عبارتاند از:
”“stack overflow ك سرريز شدن رجیسترها مانند پشته
ك تقسیم بر صفر شدن در يک عبارت حسابي
ك اجرای كد عملیاتي نامعتبر
معماري كامپيوتر 019 /
ك اجرای دستورالعمل با آدرس توقیف شده «آدرس مربوب به يک پردازه ديگر در حافظه»
ك سر ریز شدن پشته
تفاوت وقفههای نرمافزاری و فراخواني زير روالها به شرح زير است:
4ك آدرس وقفهها به صورت سختافزاری مشخص ميگردد در صكورتي ككه آدرس
فراخواني زير روالها به صورت دستورالعمل در حافظه مشخص ميگردد.
رجیسكترهای پردازنكده و PC 6ك حین اجرای وقفههای نرمافكزاری مكواردی ماننكد
بیتهای وضعیت ” “PSWذخیره ميگردند و سپس بازيابي ميشوند .در حالي كه حكین
فراخواني زير روال تنها PCذخیره و سپس بازيابي ميشود.
35ـ كامپهوترس با انتقال PCو (PSWكلمه وضعهت برنامه) به يك وقفـه پاسـخ
ميدهد و سپس PSWجديدس را از ميا IADكـه توسـط آدرس وقفـه مشـخص
ميشود ميخواند .اولهن آدرس برنامه سرويس وقفه از IAD 1خوانده ميشود.
الف) رشته عملهات جزئي را براس سهيل وقفه لهست كنهد.
ب) رشته عملهات را براس بازگشت از زير روال وقفه لهست كنهد.
حل :كلمه وضعیت بیتهای برنامه ” “PSWو شمارنده دستورالعمل ” “PCذخیكره و
PSW بازيابي ميشوند .همچنین طبو ماهیت پشته كه LIFOاست در هنگام ذخیره ابتدا
و سپس PCذخیره ميشود و هنگام بازيابي ابتدا PCو سپس PSWبازيابي ميشوند.
الف)
SP SP 1
M SP PSW
SP SP 1
M SP PC
"Temp" TR IAD
PSW M TR
TR TR 1
/ 061معماري كامپيوتر
SP SP 1
PSW M SP
SP SP 1
36ــ مثالهـايي از كامپهوترهـاس داراس قالــب دسـتورات مت هـر عبارتانــد از
Intelقالب دستورات ييي از آنها را با دستورات با طول 386 IBM370و VAX11و
ثابت RISCIمقايسه كنهد.
حل :برای نمونه قالب دستورالعملهای IBM, 370در اينجا اشاره ميشود:
6نوع قالب دستورالعمل دارد به شرح زير: IBM 370
تعداد پنجره
Computer 1 : 10 6 8 10 138
Computer2 : 8 8 4 18 72
Computer 3 : 16 16 16 16 528
38ـ مثالي از يك دستور كامپهوتر RISC Iكه اعمال زيـر را انجـام دهـد ارائـه
كنهد.
الف) يك ثبات را كاهش ميدهد.
ب) يك ثبات را ميمل ميكند.
ج) عالمت محتواس ثبات را معيوس ميكند.
د) يك ثبات را 1ميكند.
/ 062معماري كامپيوتر
2ـ يينمودار فاصله ـ زما براس يك خط لوله شش قطعهاس رسم كنهد كه زما
پردازش هشت وظهفه را نشا دهد.
اگر kتعداد قطعه و nتعداد وظهفه باشد ،پس از kسهيل ساعت اجراس دسـتور
اول تمام ميشود و n 1دستور باقيمانده هر كدام در يك سهيل ساعت بـه پايـا
ميرسند .پس داريم:
تعداد سیكل ساعت مورد نیاز k n 1 62 200 1 205 سیكل ساعت
4ـ يك سهستم غهر خط لولهاس براس پردازش يك وظهفه 51nsزمـا نهـاز دارد.
هما وظهفه در يك خط لوله شش قطعهاس به يك سـهيل سـاعت 11نانوثانهـهاس
نهازمند است .نسبت افزايش سرعت خط لولـه بـراس 111وظهفـه را معـهن كنهـد.
حداكثر تسريع قابل دسترسي چقدر است؟
حل:
R5 و 15 nsبراس جمع دو عدد و قرار داد آ در R3 براس انتقال به
الف) حداقل سهيل ساعتي كه ميتوا به كار برد چقدر است؟
t p 45 5 50
حداقل t pبرابر است با حداكثر زمان انتشار قطعهها
R4 و R3 ب) يك سهستم غهر خط لولهاس ميتواند همـهن عمـل را بـا حـذف
انجام دهد .ضرب و جمع عملوندها بدو استفاده از خط لوله چقدر طول ميكشد؟
معماري كامپيوتر 061 /
t n 40 45 15 100ns
ج) تسريع عمليرد خط لوله را براس 11وظهفه و نهز براس 111وظهفـه محاسـبه
كنهد.
K=3
nt n 10 100
S 1/ 67 n 10 براس
k n 1 t p 3 9 50
100 100
S 1 96 n 100 برای
3 99 50 /
د) بهشهنه افزايش سرعت قابل دستهابي چقدر است؟
t n 100
Smax 2
t p 50
6ـ ميخواههم يك خط لوله ضرب ممهز شناور كه دو عـدد صـحهح دودويـي
هشت بهتي را ضرب ميكند طراحي كنهم .هر قطعه از تعـدادس گهـت ANDو يـك
جمعكننده دودويي شبهه به ضربكننده آرايه در شيل 11ـ 11تشيهل شده است.
الف) در هر قطعه چند گهت ANDوجود دارد و جمعكننـده بـا چـه انـدازه اس
نهاز است؟
با مراجعه به بثپ ضربكننده آرايهای در بخش 3ك 41ميبینیم كه برای هر قطعكه 8
گیت ANDو يک جمعكننده 8بیتي الزم است.
ب) چند قطعه در خط لوله است 4 :قطعه در خط لوله وجكود دارد (بكا توجكه بكه
ضربكننده آرايهای)
ج) اگر تأخهر انتشار در هر قطعه 30 nsباشد ،زما متوسط بزم براس ضرب دو
عدد ممهز ثابت در خط لوله چقدر است؟
k 4
زمان الزم برای جمع 411جفت عدد
k n 1 t p 4 99100 10300ns 10/ 3 MS
ب) چگونه ميتوا زما كل را به نصف زما محاسبه شده در قسـمت (الـف)
كاهش داد؟
قطعه 3را به دو قطعه با تأخیرهای 50 nsو 45 nsتقسیم مكيكنیم .در ايكن حالكت
داريم:
t p 50 5 55 ns
و k 5
3ك استفاده از بافر حلقه اين بافر يک فايل ثبات كوچک و سكريع اسكت ككه تثكت
نظر قطعه برداشت دستور خط لوله ميباشد .وقتي كه يک حلقه در برنامه شناسايي شود
در يک بافر حلقه به طور كامل همراه با انشعابات ذخیره ميشود .بنابراين حلقكه برنامكه
ميتواند مستقیماً و بدون دستیابي به حافظه اجرا شود .تا اينكه آخرين انشعاب موجكب
خروج از حلقه شود.
1ك پیش بیني انشعاب :يک خط لوله با پیشبیني انشعاب نتیجه حاصل از انشعاب را
قبل از اجرای آن به كمک مدارهای منطقي اضافي پیشبیني مينمايد .خكط لولكه سكپس
شروع به دريافت پیش هنگكام رشكته دسكتورات مسكیر پیشبینكي شكده مينمايكد .يكک
پیشبیني صثیح زمان تلف شده به وسیله انشعاب را از بین ميبرد.
11ـ چهار دستور رادر برنامـه زيـر در نظـر بگهريـد .فـرض كنهـد كـه اولـهن
دستورالعمل از مرحله 1در خط لوله شيل 8ـ 9آغاز شود .عملهات انجام شده در
قطعه چهار ،در چهار مرحله را مشخص كنهد.
Load R1 M 312
INC R 3 R 3 1
STORE M 314 R 3
حل:
مرحله 1
FI DA FO EX
FI DA FO
FI DA
FI
حاصلضرب داخلي وجـود دارد و چنـد سـهيل سـاعت بـراس محاسـبه مـاتريس
حاصلضرب نهاز است؟
8 60 40 72 سیكل ساعت برای هر ضرب داخلي
602 3600 تعداد ضربهای داخلي مورد نیاز =
جمع ضربهای جزئي از خط لوله (جمعكننده)
پايان دستور اول (پر شدن خط لوله)
سیكل ساعت نیاز است. 3600 72 259200 پس برای مثاسبه ماتريس به
18ـ آدرسهاس مربوط به يك آرايه 1124كلمه ،كه قرار است در حافظه شـيل
13ـ 9ذخهره شوند را تعههن نمايهد.
حل :با توجه به ساختار شكل 43ك 5آدرسهای مربكوب بكه آرايكه بكه صكورت زيكر
هستند:
0 4 8 12 .... 1020 1 6 9 .... 1021 2 6 10 .... 1022
آرايه حافظه 4 آرايه حافظه 6 آرايه حافظه 3
3 7 11 ….. 1023
آرايه حافظه 1
19ـ محاسبهاس براس پهشبهني وضع هوا به 251مهلهارد عمل ممهـز شـناور نهـاز
دارد .مسأله در يك ابر كامپهوتر با سرعت اجرايي 111مگافالپس پردازش ميشود.
چقدر زما براس انجام محاسبات طول مي كشد؟
حل:
داشت؟
حل:
111عمل را بین چهار پردازنده تقسیم ميكنیم .داريم:
400
زمان اجرا 40 4000 ns
4
با استفاده از يک پردازنده با سیكل 10 nsداريم:
40010 4000 nsزمان اجرا
معماري كامپيوتر 011 /
A B A B 1
بنابراين در صورت سؤال:
B A B A 1
بنابراين فلوچارت زير را داريم:
/ 014معماري كامپيوتر
هـ) 10111110101101
حل :با توجه به شكل 6ك 41المانهای مثاسكباتي را شكمارهگذاری ككرده و سكپس
موارد مثاسباتي داده شده در سكؤال را بكا دنبالكهای از المانهكای مثاسكباتي مشكخص
ميكنیم.
معماري كامپيوتر 011 /
با توجه به 6بیتي بودن اعداد در نمايش متمم ( )6مثدوده ظرفیت نتیجه از 26 1
نتیجه 64 پس نتايج خارج از اين مثدوده AVFرا ()4 63 تا 26است .پس
خواهد كرد.
حال داريم:
1 3 7 مسیر 45 31 76 AVF 1 الف)
1 3 7 مسیر 31 45 76 AVF 1 ب)
2 6 9 10مسیر 45 31 14 AVF 0 ج)
2 6 9 10مسیر 45 45 0 AVF 0 د)
31 45 76 2 5 7مسیر AVF 1 هك)
3ـ عمل هاس حسابي زير را با عددهاس دودويي و عـددهاس منفـي در نمـايش
متمم ( )2عالمت دار انجام دههد .براس جاس داد هر عدد همـراه بـا عالمـتش از 7
بهت استفاده كنهد .در هر حالت ،با بررسي نقلي ورودس و خروجي از بهت عالمـت
/ 016معماري كامپيوتر
نمككايش نتیجككه مككورد انتظككار در سیسككتم نمايش با سمبلهای درخواسكتي سكؤال در
رديف عبارت
سیستم مكمل ()6 مكمل ()6
0 x y if x y
6 )(+x)+(-y x y 0 x 2k 2k y
2k 2k y x if x y
0 y x if y x
3 )(-x)+(+y x y
2k 2k x 0 y
2k 2k x y if y x
1ك
x y صرفنظر از رقم نقلي رقم نقلي 2k 1 2k 1 2k 2
AB
سرريز زماني رخ ميدهد كه:
)4هر دو عدد مثبت عالمت مجموع منفي
)6هر دو عدد منفي عالمت مجموع مثبت
پس جدول زير را داريم:
AS A عالمت
BS B عالمت
مجموع TS عالمت
TS BS AS OV
پس:
OV T'S B'S AS TSBSA'S
پس مدار منطقي زير را خواهیم داشت:
معماري كامپيوتر 019 /
6 110012
9 10110
6 11001
15 01111
انثصككاری آنهككا 4 OR در ايككن عمككل دو رقككم نقل كي آخككر متفككاوت بككوده پككس
برميگرداند .در حالي كه قاعدتاً ما نبايد سرريز را داشته باشیم زيرا
نتیجه منفي است.
ب) با توجه به مثال نقض باال ما نتیجه را برای " " 0111......1شدن چكک مكيكنیم.
پس:
/ 081معماري كامپيوتر
7ـ الگوريتمي را به شيل فلوچارت براس جمع و تفري دو عدد دودويي ممهـز
ثابت وقتي كه عددهاس منفي به صورت متمم 1هستند بدست آوريد.
حل :با توجه به حل سؤال قبل و تركیب آن با الگوريتم جمع و تفريو اعكداد منفكي
متمم 6در صفثه 336كتاب فلوچارت زير را خواهیم داشكت M :و Nدو رقكم نقلكي
آخر نتیجه هستند.
عمل تفريو
خیر بلي
و به ازای n 1يعني اعكداد 4 r 2 با توجه به اينكه مبنا از 6شروع ميشود يعني
رقمي به باال اين شرب همیشه سازگاراست سرريز رخ نميدهد.
9ـ محتواس ثباتهاس Eو Aو Qو ( SCمطاب جدول 2ـ 11كتاب) را در حهن
روند ضرب دو عدد دودويي ( 1111مضـروب) و ( 11111مضـروب فهـه) نشـا
دههد .عالمتها در نظر گرفته نشدهاند.
حل :همانند روال موجود در جدول 6ك 41داريم:
E A Q SC
Q مضروب فیه در 1 11111 41414 414
44444
B جمع Qn 1 1 44444
شیفت EAQبه راست 14444 44141 411
و شیفت EAQبه راست Qn 0 11444 44414 144
جمعB Qn=1و 44444
4 11441
شیفت EAQبه راست 1 41144 14441 141
و شیفت EAQبه راست Qn 0 14114 41444 114
B و جمع Qn 1 44444
4 14111
AQ = 414114144
شیفت EAQبه راست 111
= 65110
11ـ محتواس ثباتهاس Eو Aو Qو ( SCمطـاب شـيل 12ــ )11را در حـهن
روند تقسهم (الف) 11111111بر 1111و (ب) 11111111بر 1111نشـا دههـد.
معماري كامپيوتر 081 /
11ـ نشا دههد كه جمع Bپس از عمل A B 1مقدار اولهه Aرا مي دهد .بـا
رقم نقلي پاياني چه بايد كرد؟
حل :طبو تعريف متمم ()6
معماري كامپيوتر 081 /
A B 1 A Zu B Zn A B
حال با Bجمع ميكنیم:
2K
A B B 2n A
12ـ چرا عالمت باقهمانده پس از تقسهم بايد با عالمت مقسوم ييسا باشد؟
حل :چهار حالت تقسیم با عالمتهای مختلف را برای مثال زير در نظر ميگیريم:
A R
Q
B B
52 2
10 10/ 4 )4
5 5
52 2
10 10/ 4 )6
5 5
52 2
10 10/ 4 )3
5 5
52 2
10 10/ 4 )1
5 5
با توجه به حالتهای مختلفي ميبینیم عالمت باقي مانده ( )6مانند عالمكت مقسكوم
( )56است.
13ـ يك ضربكننده آرايهاس طراحي كنهد كه دو عـدد چهـار بهتـي را در هـم
ضرب كند .از گهت ANDبراس جمعكننده دودويي استفاده كنهد.
حل :با توجه به شكل (41ك )41مدار زير را خواهیم داشت( ورودی دوم گیتهكای
بیتهای b0 , b1, b2 , b3هستند): AND
0
جمعكننده 1بیتي
جمعكننده 1بیتي
جمعكننده 1بیتي
با توجه به شككل مكيبینیم ككه در ضكرب 1بیكت در 1بیكت 46گیكت ANDو 3
J جمعكننده 1بیتي نیاز است .در حالت كلي اگكر ضربشكونده kبیتكي و ضكربكننده
عدد جمعكننده Kبیتكي ANDو J 1 تا گیت JK بیتي باشد برای ضرب آرايهای به
نیاز است.
معماري كامپيوتر 081 /
14ـ روند قدم به قدم ضرب با الگوريتم بوت را (مثل جدول 3ـ )11هنگامي كه
اعداد دودويي زير در هم ضرب ميشوند نشا دههد .فرض كنهـد ثباتهـاس پـنج
بهتي اعداد عالمتدار را نگه ميدارند .مضروب در هر دو حالت +15است.
ب) 15 13 الف) 15 13
حل :با توجه به تعريف الگوريتم ضرب Boothداريم:
4ك ضرب شونده از حاصلضرب جزيي تفريو ميشود اگر به اولكین يكک (از سكمت
راست) در ضربكننده برسیم.
6ك ضربشونده به حاصلضرب جزيي افزوده ميشود اگر بكه اولكین صكفر (در يكک
رشته صفر) در ضربكننده برسیم.
3ك حاصلضرب جزيي تغییر نميكند وقتي بیت ضربكننده با بیت قبلي مشابه باشد.
روند را برای مورد (ب) داريم:
(+15)*(-13)= -195 = (1100111101)2 جواب آخر
BR 011111 15 BR 1 10001 15 ,QR 10011 13
15ـ الگوريتمي را به شيل فلوچارت براس روش غهر بازيافتي تقسهم دودويـي
ممهز ثابت بدست آوريد.
اگر حاصل تفريكو منفكي شكود Bبكه آن nonrestoring حل :دقت كنید در روش
اضافه نميشود حاصل منفي به سكمت چكپ شكیفت مييابكد و پكس Bبكه آن اضكافه
ميشود.
در حالت restoringابتدا A-Bشده سپس با Bجمع ميشكود. A<B مثالً در حالت
مثاسكبه ميشكود امكا در حالكت 2A B يعني A-B+Bككه Aبازيكابي ميشكود پكس
مثاسبه ميشود .پس: 2A B A-B nonrestoringرا با Bجمع نميكنیم .و مستقیم
معماري كامپيوتر 089 /
16ـ الگوريتمي براس محاسبه ريشه دوم عدد دودويـي ممهـز ثابـت بـه دسـت
آوريد.
حل :اگر روبرو را داشته باشیم:
A B
/ 091معماري كامپيوتر
K
(عدد صثیح شده) بیت در نظر خواهیم گرفت. B اگر K , Aبیتي باشد برای
2
A
A از طرفي در رابطه با قضیه جذر داريم:
2
در حالت كلي داريم:
B2 R A
الگوريتم پیشنهادی به شرح زير است:
A
(عدد صثیح شده) شروع كرده و تعداد عدد را در Aپیكدا مكيكنیم .هكر از عدد
2
گاه تعداد عدد در Aبا خود عدد برابر شد عدد همان جذر Aخواهد بود .در غیكر ايكن
صورت يكي از عدد كم كرده و دوباره تست ميكنیم.
28
14 مثال :مثاسبه ريشه دوم عدد : 68
2
از 41شروع ميكنیم:
عدد تعداد در 68 نتیجه
14 2
14 2
13 2
13 2
12 2
12 2
11 2
11 2
10 2
10 2
9 3
93
8 3
83
7 4
74
6 4
64
5 5
55 52 3 28
17ـ يك عدد دودويي ممهز شناور هفت بهت براس نماس بايـاس شـدهاش دارد.
مقدار ثابت باياس 64است.
الف) لهست باياس شده تمام نماها را از -64تا +63بدست آوريد.
معماري كامپيوتر 090 /
ب) نشا دههد كه يك مقايسهگر مقدار هفت بهتي ميتواند براس مقايسـه انـدازه
نسبي دو نما بيار رود.
ج) نشا دههد كه پس از جمع دو نماس باياس شده بزم است 64را كـم كنـهم
تا مجموع نماها به شيل باياس شده بدست آيد .چگونـه ميتـوا 64را بـا جمـع
كرد مقدار متمم 2آ تفري كرد؟
د) نشا دههد كه پس از تفري دو نماس باياس شـده بزم اسـت 64را اضـافه
كنهم تا تفاضل باياس شده نماها را داشته باشهم.
حل:
الف)
e 64 63 ......... 1 0 1 ......... 62 63
27 128
ج) مشخص است بايد 61كم شود.
e1 64 e2 64 e1 e2 64 64
د) مشخص است بايد 61اضافه شود.
e1 64 e2 64 e1 e2
18ـ الگوريتمي به شيل فلوچارت براس مقايسه دو عـدد دودويـي عالمـتدار
وقتي كه عددهاس منفي به شيل متمم 2عالمتدار باشند به دست آوريد.
الف) با استفاده از عمل تفري با عددهاس متمم 2عالمتدار
ب) با مرور و مقايسه جفت بهتها از چپ به راست
حل :دقت شود هر گاه عالمت دو عدد متفاوت بود عدد كه بیت عالمكت آن صكفر
/ 092معماري كامپيوتر
19ـ مسلله 18را براس اعداد دودويي مقدار عالمتدار تيرار كنهد.
حل:
الف)
/ 094معماري كامپيوتر
21ـ فرض كنهد ،nتعداد بهتهاس مانتهس در يك عـدد دودويـي ممهـز شـناور
است .هنگامي كه مانتهسها در جمع و تفري هم رديف ميشـوند ،اخـتالف نماهـا
ممين است بزرگتر از n 1باشد .اگر اين حالت ر دهد،مانتهس با نماس كوچيتر
كالً از ثبات شهفت داده ميشود .هم رديف كرد مانتهس را در شيل (15ــ )11بـا
اضافه كرد يك توالي شمارشي كه تعداد شهفتها را ميشمارد اصالح كنهد .اگـر
تعداد شهفتها بزرگتر از n 1باشد ،بزرگترين عـدد بـراس تعهـهن نتهجـه بيـار
خواهد رفت.
شود دو عدد زير بكرای عمكل حل :اين مطلب را با يک مثال نمايش ميدهیم .فر
/ 096معماري كامپيوتر
بنابراين با استفاده از شمارنده SCو اضافه كردن حلقههای بررسي شكیفت مكانتیس
در الگوريتم شكل 45ك 41كتاب درخواست سؤال را برآورده ميكنیم.
معماري كامپيوتر 091 /
21ـ رويه هم رديف كرد مانتهسها در جمع و يا تفريـ اعـداد ممهـز شـناور
ميتواند به صورت زير بها شود:
نماس كوچـكتر را از بزرگتـر تفريـ كنهـد و مانتهسـي را كـه داراس نمـاس
كوچكتر است به تعداد تفاضل نماها به راست شهفت دههـد .نمـاس مجمـوع (يـا
تفاضل) برابر با نماس بزرگتر است .بدو استفاده از مقايسهكننده مقدارها ،با فرض
/ 098معماري كامپيوتر
نماهاس باياس شده ،و در نظـر گـرفتن اينيـه فقـط ACرا ميتـوا جابجـا كـرد،
الگوريتمي را به شيل فلوچارت براس هم رديف كرد مانتهسها و قرار داد نمـاس
بزرگتر در ACبدست آوريد.
حل:
معماري كامپيوتر 099 /
22ـ نشا دههد كه سرريز مانتهس بعد از عمل ضرب ممين نهست.
حل :از دو جنبه ميتوان اين نتیجه را بررسي كرد.
4ك مانتیسهای نرمال شكده عكدد اعشكای ككوچكتر از 4هسكتند .مكثالً 1/4114يكا
1/4414؛ از طرفي ميدانیم ضرب اعداد كوچكتر از 4همیشه كوچكتر از 4خواهد بود
بنابراين سرريز پیش نخواهد آمد و تنها زير ريز پیش خواهد آمد.
بیتي خواهد بود. 2n 6ك زماني كه دو عدد nبیتي درهم ضرب شوند نتیجه حداكثر
اين قضیه را در سؤال 8همین فصل اثبات كردهايم.
23ـ نشا دههد در تقسهم دو عدد نرمال شده ممهز شـناور بـا مـانتهس كسـرس
همواره خارج قسمت نرمال شده خواهد داد؛ به شرط اينيه قبـل از عمـل تقسـهم،
همرديف كرد مقسوم انجام شود.
حل :دقت شود هر دو مانتیسها نرمالیزه هستند.
A 0/1..........
B 0/1...........
دو شرب زير را بررسي ميكنیم:
شیفت به راست 1/.............جواب به صورت روبرو خواهد بود1) A B .
2) A B جواب به صورت روبرو خواهد بود. 0/1...........
24ـ فلوچارت شيل 17ـ 11را براس تههه باقهمانده نرمال شده ممهـز شـناور در
ACتعمهم دههد .مانتهس بايد يك كسر باشد.
حل :در تقسیم ممیز شناور داريم:
A mA 2eA 0/1xxxx eA eB
2
B mB 2eB 0/1yyyy
0/00000rrrrr eA eB
0/1zzzz 2eA eB 2
0/1yyyy
حال داريم:
/ 211معماري كامپيوتر
25ـ در الگوريتمهاس عمل هاس حسابي ممهز شناور در بخـش 5ـ 11اميـا
سرريز يا فروريز در نما ناديده گرفته ميشود.
الف) سه فلوچارت را مرور كنهد و جاهايي را كه سرريز نما مميـن اسـت ر
دهد پهدا كنهد.
ب) قسمت (الف) را براس فروريز تيرار كنهد .فروريز نما هنگـامي ر ميدهـد
كه نما از كوچيترين عددس كه بتواند در ثبات جا گهرد كمتر شود.
معماري كامپيوتر 210 /
ج) نشا دههد كه سرريز يافروريز نما ميتواند با سختافزار آشيار شود.
حل:
الف) جاهايي كه نماها اضافه ميشوند (جمع ميشوند).
جاهايي كه نماها افزايش مييابند (يكي زيادتر ميشوند).
ب) جاهايي كه نماها منها ميشوند.
جاهايي كه نماها كاهش مييابند (يكي كم ميشوند).
ج) مي توان با چک كردن رقم نقلي نهايي بعد از عمكل جمكع و رقكم نقلكي بعكد از
اعمال كاهش يا افزايش سرريز يا فروريز را آشكار كرد.
26ـ اگر نمايش عدد صحهح را بـراس مـانتهس عـددهاس ممهـز شـناور در نظـر
بگهريم ،در حهن ضرب و تقسهم با مشيالت خاصي روبرو ميشويم .اجـازه بدههـد
تعداد بهتهاس بخش مانتهس n 1باشد.
براس نمايش صحهح:
الف) نشا دههد كه اگر حاصلضرب با دقت معمولي بيار رود ،بايد n 1بـه
نماس حاصلضرب در ACاضافه شود.
ب) نشا دههد كه اگر از مقسوم با مانتهس دقت معمـولي اسـتفاده شـود ،بايـد
هنگامي كه Qبرابر 1ميشود n 1 .از نماس مقسوم كم شود.
حل :الف) ميدانیم ضرب دو عدد n 1بیتي يک عكدد حكداكثر 2 n 1بیتكي
بوجود خواهد آورد .با توجه به مفهكوم نرمكال بكودن و همچنكین ظرفیكت مكانتیس ككه
n 1بیتي است ميبايست از n 1بیت سمت راست صرف نظر ككرده و n 1
به نما اضافه كنیم.
مثال:
n 1 3 بیت
در ضرب روبرو
1112 * 1102
2 2
/ 212معماري كامپيوتر
با جمع 673با متمم 11عدد 356و چشمپوشـي 673 356 28ـ نشا دههد كه
از نقلي پاياني انجام ميشود .بالك دياگرام سه مرحله از واحد حسـابي دهـدهي را
رسم كنهد و نشا دههد چگونه اين عمل پهادهسازس ميشود .تمام بهتهـاس ورودس
و خروجي واحد حساب را لهست كنهد.
حل:
673 356 317 356 644مكمل 41
673
644
317
و نقلي 1
با استفاده از يک سويیچ Mمشخص ميكنیم تفريو يا جمع انجام ميشود بكه شككل
روبرو:
AB
/ 214معماري كامپيوتر
29ـ نشا دههد كه به جاس جمعكننده دودويي چهار بهتي پايهن رتبـه در شـيل
11ـ 11ميتوا يك تمام جمعكننده و دو نهم جمعكننده گذاشت.
حل :دقت شود زماني ميتوانیم به جای F.A.از H.A.استفاده كنیم كه يا رقكم نقلكي
ورودی نداشته باشیم و يا رقم نقلي خروجي نداشته باشیم.
با توجه به شكل 41ك 41كتاب ميتوانیم داشته باشیم:
معماري كامپيوتر 211 /
31ـ با تينهكهاس طراحي مدارهاس تركهبي ،توابـع بـولي متممسـاز 9و اعـداد
BCDشيل 19ـ 11را بدست آوريد .دياگرام منطقي آ را رسم كنهد.
حل :جدول زير را داريم:
/ 216معماري كامپيوتر
جداول ككارنو را تشككیل داده تكا مكدار منطقكي X1 , X2 , X4 , X8 طبو جدول برای
بهینه شده را بدست آوريم:
31ـ نهاز است براس دو رقم دهـدهي در كـد افزونـي ( 3جـدول 6ـ )3يـك
جمعكننده طراحي شود .نشا دههد كه تصحهح پس از جمع دو رقم بـا جمعكننـده
چهار بهتي به صورت زير است:
الف) رقم نقلي خروجي برابر نقلي تصحهح نشده است.
ب) اگر نقلي خروجي برابر 0باشد 1111 ،اضافه ميشود و نقلي حاصل از ايـن
جمع ناديده گرفته ميشود .نشا دههد كه جمعكننده افزوني 3ميتوانـد بـا هفـت
جمعكننده و دو وارونگر ساخته شود.
حل:
Dec
(جمع دو عدد)
Zتصحهح نشده Yتصحهح شده (خروجي)
0 0110 0011
1 0111 0100
2 1000 0101
3 1001 0110
4 1010 0111
5 1011 1000
6 1100 1001
7 1101 1010
8 1110 1011
9 1111 1100
/ 218معماري كامپيوتر
دقت شود زماني كه جمع دو عدد بین 1تا 5دسیمال شود رقم نقلي نداريم.
Y=Z-3 = Z+13-16 (ناديده گرفتن رقم نقلي)
رقم نقلي خروجي = رقم نقلي تصثیح نشده
Y=Z+3
32ـ مدارس براس يك متمم ساز ،9هنگامي كه ارقام دهدهي به شيل كد افزونـي
3نمايش داده ميشوند ،بدست آوريد .يك ورودس كنترل مد تعههن ميكند آيا رقـم
معماري كامپيوتر 219 /
در اين مدار با استفاده از سويیچ Mو 4كردن آن ميتوان مكمل هر بیت را بدسكت
آورد.
33ـ سختافزار به كار رفته براس جمع و تفري دو عدد دهدهي با نمايش مـتمم
11عالمتدار عددهاس منفي را نشا دههـد .نشـا دههـد چگونـه سـرريز آشـيار
ميشود .الگوريتمي به شيل فلوچارت تههه كنهد و خود را از درستي تولهـد پاسـخ
آ مطملن سازيد.
حل :اساس كار الگوريتم درخواستي مانند الگوريتم داده شده بكرای جمكع و تفريكو
در سیستم متمم ( )6دودويي است( .فلوچارت شكل 6ك)41
در ضمن در ارتباب با تشخیص خطای سرريز داريم:
/ 201معماري كامپيوتر
34ـ محتواس ثباتهاس Aو Eو Qو SCرا در حـهن ضـرب دهـدهي (شـيل
بدست آوريـد .ثباتهـا را سـه رقمـي 999 199 و ب) 470152 22ـ )11الف)
فرض كنهد و دومهن عدد را مضروب فهه در نظر بگهريد.
حل :برای نمونه (الف ) را حل مينمايیم
مضروب فیه B 470 الف)
معماري كامپيوتر 200 /
را در حـهن تقسـهم دهـدهي (شـيل SC 35ـ محتواس ثباتهاس Aو Eو Qو
23ـ 1681/32 )11نشا دههد .ثباتها را دو رقمي در نظر بگهريد.
حل:
/ 202معماري كامپيوتر
در شيل (21ــ )11در پايـا الـف) ضـرب Ae 36ـ نشا دههد كه زير ثبات
دهدهي كه در شيل (22ـ )11مشخص است ،و (ب) در تقسهم شـيل (23ــ،)11
صفر است.
A حل :الف) در شكل (66كك )41در پايكان عملیكات ضكرب مثتويكات رجیسكتر
صفر شود. Ae شیفت به راست داده ميشود تا مقدار
اضكافه بكه مقكدار A B 1 B ب) در شكل (63ك )41در پايان عملیات تقسكیم
اضكافه ميشكود Be=0 مقدار 5را دارد .وقتكي Ae BCD ميشود .طبو سیستم اعداد
ميشود. Ae = 0 رقم نقلي تولید ميشود و
37ـ الگوريتمهاس حساب ممهز شـناور در بخشهـاس (5ــ )11را از دادههـاس
معماري كامپيوتر 201 /
دودويي به دادههاس دهدهي ت ههر دههد .در يك جـدول شـهوه تفسـهر هـر يـك از
نمادهاس ريز عملها را بنويسهد.
حل :با در نظر گرفتن جدول (4ك )41سمبلها را انتخاب ميكنیم و همچنكین بكا در
نظر گرفتن الگوريتمهای بخكش (1كك )41و در نظكر گكرفتن مكانتیس در الگوريتمهكای
ضرب و تقسیم تبديالت الزم را انجام ميدهیم.
/ 204معماري كامپيوتر
معماري كامپيوتر 201 /
RS1 RS0
3ـ چهار وسهله جانبي كه خروجي قابل دركي براس انسا داشته باشد نام ببريد.
حل :چاپگر ك پالتر ك صفثه نمايش ك خروجي صدا
4ـ نام كامل خود را به ASCIIبا هشت بهت براس هر كاراكتر و يك 1در سمت
چپترين ميا بنويسهد .بهن قسمتهاس مختلف نام يك فاصله بگذاريـد و نهـز در
صورت به كار برد مخفف ،پس از آ نقطه بگذاريد.
حل:
M A N O MANO
01001101 01000001 01001110 01001111
نگاشت چهست؟ خوبي ها و بدس هاس هر يك را I/O مجزا با I/O 5ـ تفاوت
بگويهد.
حل :در I/Oمجزا برای هر دو بخكش حافظكه و I/Oاز يكک گكذرگاه مشكترك اسكتفاده
I/O مي شود ولي هر كدام خطوب كنترل جداگانكه دارنكد و بكرای نوشكتن و خوانكده از
دستورالعملهای مخصوص وجود دارد اما در I/Oنگاشت هر دو بخش حافظه و I/Oاز
گذرگاه و خطوب كنتكرل مشكترك اسكتفاده ميكننكد و دسكتورالعمل جداگانكهای بكرای
ورودی و خروجي وجود ندارد.
I/Oمجزا اين مزيت را دارد كه آدرسهای حافظه و I/Oرا طوری از هم جدا ميكند
كه حافظه به وسیله آدرسهای تخصیص يافته در مدار واسط تثت تأثیر قرار نميگیكرد
زيرا حافظه و I/Oهر كدام فضای آدرس مربكوب بكه خكود را دارنكد .عیكب ايكن روش
وجككود دسككتورهای مجككزا بككرای خوانككدن و نوشككتن در I/Oاسككت.در I/Oنگاشككت
دستورالعمل خاصي برای I/Oوجود نكدارد و CPUقكادر اسكت دادههكای I/Oواقكع در
معماري كامپيوتر 201 /
ثبات واسطه را با همان دستوراتي كه برای حافظه به كار ميروند دستكاری كنكد .عیكب
اين روش آن است كه در صورت بروز خطا در مثاسبه آدرس حافظه I/Oتثت تكأثیر
قرار ميگیرد و برعكس.
6ـ مشخص كنهد كدام يك از موارد زير يك فرما كنترل ،وضعهت يـا انتقـال
داده است.
الف) گذر از دستورالعمل بعدس اگر پـرچم يـك باشـد .فرمـا وضـعهت
(وضعهت يك پرچم چك ميشود).
ب) جستجوس يك ركورد خاص روس يك ديسك م ناطهسي فرما كنتـرل
(هد م ناطهسي ر ا روس ديسك جابهجا ميكند).
فرمـا وضـعهت (آمـاده بـود I / O ج) بررسي آماده بود يا نبود وسـهله
وسهله را بررسي ميكند)
د) حركت كاغذ چاپگر به ابتداس صفحه بعد فرما كنترل (كاغذ را جابهجا
ميكند).
هـ) خواند ثبات وضعهت واسط فرمـا انتقـال داده (مقـدار يـك ثبـات
خوانده ميشود).
7ـ يك واحد واسط تجارس براس خطوط دستدهي مربوط به انتقـال دادههـا از
وسهله I/Oبه واحد واسط از نامهاس مختلفـي اسـتفاده مـيكنـد .خـط دسـتدهي
(مخفف استروب يا فعالساز) و خط دستدهي خروجي واسط STB ورودس واسط
(مخفف پر بود بافر ورودس) نامگذارس شده است .وجود يك سهگنال سـطح IBF
باب روس IBFنشا ميدهد كه داده توسط واسط پذيرفته شده است .پس از سهگنال
خواند I/Oاز طرف CPUاز طري ثبات داده IBF ،به سطح پايهن ميرود.
الف) يك بالك دياگرام كه ،CPUواسط و وسهله I/Oهمراه با اتصـالهاس بزم
بهن آنها را نشا دهد رسم كنهد.
/ 208معماري كامپيوتر
ج) براس انتقال از وسهله بـه واسـط و از واسـط بـه CPUيـك نمـودار دنبالـه
رخدادها رسم كنهد.
معماري كامپيوتر 209 /
بـه يـك واحـد حافظـه كـه زمـا 20 MHz 8ـ يك CPUبا فركانس ساعت
دسترسي آ 41nsاست وصل شده است .نمودارهاس زماني خواند و نوشتن آنهـا
را با فعالكنندههاس READو WRITEتههه كنهد .در نمـودار زمـاني آدرس را نهـز
نشا دههد.
حل:
106
20 MHz 20106 Hz T 50 ns
20
بنابراين دياگرام به صورت زير است:
/ 221معماري كامپيوتر
9ـ مدار واسط ارتباطي غهرهمگام شيل 8ـ 11بهن يـك CPUو يـك چـاپگر
وصل شده است .فلوچارتي رسم كنهد كه دنباله عمـل هـاس فرسـتاد كـاراكتر از
CPUبه چاپگر را نشا دهد.
حل( :ثبات ها مربوط به شيل 8ـ 11هستند .پرچم خروجي يك بهت در ثبـات
وضعهت است).
معماري كامپيوتر 220 /
11ـ حداقل شش وضعهت مختلف را براس 1كرد بهتهاس ثبـات وضـعهت در
يك واسط ارتباطي غهرهمگام ارايه دههد.
حل:
1ـ پرچم خروجي زماني كه ثبات انتقال خالي است.
2ـ پرچم ورودس زماني كه ثبات دريافت پر است.
3ـ فعال كرد وقفه اگر يك پرچم فعال است.
4ـ خطاس تواز
5ـ خطاس كادربندس
/ 222معماري كامپيوتر
12
زمان پر شدن بافر ثانیه
mn
چقدر طول ميكشد تا بافر پر ،خالي شود؟ mn ب) اگر
همانند زمان پر شدن داريم:
12
زمان خالي شدن بافر ثانیه
nm
باشد آيا بافر FIFOبزم است؟ mn ج) اگر
خیر زماني به بافر نیاز داريم كه اختالف سرعت وجكود داشكته باشكد و الزم باشكد
يكي منتظر ديگری بماند.
1 2 F3 F4 0011
FF در شـيل 9ــ 11عبارتنـد از FIFO 14ـ بهتهاس ثبات كنترل
رشته عمل هاس داخلي را هر گاه يك داده از FIFOحذف و سـپس داده جديـدس
وارد شود تعههن كنهد.
حل :با توجه به شكل 5ك 44داريم:
حالت اولیه output R4
F 0011
بعد از حذف 4
F 0010
بعد از حذف 1 R4 R 3
F 0001
بعد از ورود 4 F 1001 R1 input
داده وارد شككده بككه انتهككای
F 0101 R2 R1
صف ميرود).
F 0011 R 3 R2
در F4 تا F1 15ـ مقدارهاس «ورودس آماده» و «خروجي آماده» و بهتهاس كنترل
شيل 9ـ 11در وضعهتهاس زير چهست؟
/ 224معماري كامپيوتر
«ورودس «خروجي
F1 F4
آماده» آماده»
1 1 1111 الف) وقتي بافر خالي است.
1 1 1111 ب) وقتي بافر پر است.
1 1 ج) وقتي بافر حاوس دو قلم داده است1111 .
16ـ يك بالك دياگرام مشابه شيل 11ـ 11را براس جابجايي داده از CPUبـه يـك
واسطه و سپس به يك وسهله I/Oرسم كنهد .رويهاس براس 1كرد و 1كرد بهـت
پرچم ارائه دههد.
حل:
اگر ثبات داده خالي باشد (بعد از انتقال به وسیله جانبي) flag 1
I/O فعكال شكده و داده روی گكذرگاه Data Ready هنگامي كه flagصفر ميشكود
فعال شود؛ flagرا 4ككرده و خكط دسكتدهي acknowledge قرار ميگیرد .هنگامي كه
Readyرا غیرفعال ميكند.
17ـ با پهيربندس شيل مسأله 16ـ 11فلوچارتي (مشـابه شـيل 11ــ )11بـراس
برنامه CPUجهت خروجي داده بدست آوريد.
معماري كامپيوتر 221 /
حل:
18ـ خوبي اصلي استفاده از جابجايي داده به كمـك وقفـه در برابـر جابجـايي
تحت كنترل برنامه بدو وقفه چهست؟
حل :انتقال تثت كنترل برنامه به دلیل تفاوت سرعت انتقال اطالعكات بكین CPUو
وسیله I/Oروش كارايي نیست (زمان CPUرا هدر ميدهد) اما در انتقال به كمک وقفكه
CPUمادامي كه مشغول اجرای يک برنامه است پكرچم را وارسكي نميكنكد و هنگكام 4
CPU شدن پرچم وقفهای اجرای برنامه جاری را متوقف ميكند و 4شدن پكرچم را بكه
اطالع ميدهد در اين حالت CPUروال سرويس وقفكه را انجكام ميدهكد و دوبكاره بكه
برنامه اصلي باز ميگردد كه باعپ تلف نشكدن وقكت CPUبكرای بررسكي فعكال شكدن
/ 226معماري كامپيوتر
پرچم ميشود.
19ـ در بهشتر كامپهوترها وقفه فقط پس از اجراس دستورالعمل جارس تشـخهص
داده ميشود .اميا پذيرش وقفه را در هر زماني در حهن اجـراس دسـتور بررسـي
كنهد .در مورد مشيالتي كه ممين است بروز كند بحث كنهد.
حل :اگر وقفهای در حین اجرای يک دسكتور تشكخیص داده شكود الزم اسكت ككه
عالوه بر ثباتهای پردازنده تمام اطالعات ثبات های كنترل نیز ذخیره شكود (در پايكان
اجرای دستور مقدار ثباتهای كنترل مهم نیستند و نیازی به ذخیره آنها نیست) اين ككار
باعپ ميشود ذخیرهی وضعیت CPUبسیار پیچیدهتر شود .همچنین اجكرای دسكتوراتي
مانند IONكه بايد بطور كامل انجام شوند نیز ممكن است دچار اختالل شود.
21ـ در سهستم وقفه اولويـتدار چرخشـي شـيل 12ــ ،11هـر گـاه پـس از
درخواست وقفه وسهله 2بـه CPUو قبـل از تصـدي بـه وسـهله ،CPUوسـهله 1
درخواست وقفه كند چه مي شود؟
حل:
4ك در ابتدا وسیله 6يک درخواست وقفه به CPUميفرستد.
6ك قبل از اين كه CPUتصديو كند وسیله 4درخواست وقفه به CPUميفرستد.
3ك بعد از اين كه CPUتصديو ميكند وسیلهی 4دارای اولويت اسكت و آدرس آن
فعال شده و به CPUارسال ميشود.
21ـ كامپهوترس را بدو سختافزار وقفه اولويتدار در نظر بگهريد .هر يـك از
چند منبع ميتوانند به كامپهوتر وقفه دهند ،هر درخواست وقفه موجب ذخهره آدرس
برگشت و انشعاب به يك روال مشترك وقفه ميگردد .توضهح دههد چگونه ميتوا
در برنامه سرويسدهي وقفه ،اولويت برقرار كرد.
حل:
برای اين كار در روال مشترك وقفه هنگام چک كردن منبع وقفكه (شكرب )if-else
معماري كامپيوتر 221 /
منابع را از اولويت باال به پايین بررسي ميكنیم .اين ككار باعكپ ميشكود اگكر دو وقفكه
همزمان اتفاق افتاده باشد در هنگام بررسي منبع با اولويت باالتر انتخاب شود.
22ـ با روشهاس طراحي مدارهاس تركهبي ،عبارت هاس بولي در جـدول 2ــ11
را براس كدگذار اولويت بدست آوريد .نمودار منطقي مدار را رسم كنهد.
حل:
سادهسازی :
/ 228معماري كامپيوتر
23ـ سختافزار وقفه اولويتدار موازس را براس سهستمي با هشـت منبـع وقفـه
طراحي كنهد.
حل:
معماري كامپيوتر 229 /
اولويت را بدست آوريد .فرض كنهـد كـه سـه 83 24ـ جدول درستي انيدر
از انيدر اولويت براس تههه آدرس بردار به و به شيل 101xyz00بيار xyz خروجي
رون د .هشت آدرس بردار را با شروع از آ كه بابترين اولويت را دارد بنويسهد.
حل:
/ 211معماري كامپيوتر
25ـ در شيل 14ـ11چه بايد كرد تا چهار مقدار VADبرابر بـا 79 ،78 ،77 ،76
گردند؟
حل:
76 010011002
پس كافي است 6عدد صفر را با 141144جايگزين كنیم تا اعداد مورد نظر بدسكت
آيند.
26ـ براس بررسي زماني كه منبع در حال سرويسدهي به وقفه قبلي به كـامپهوتر
به وسهله هما منبع ،وقفه ميدهد ،چه برنامهاس نهاز است؟
حل :ابتدا بیت ماسک مربوب به منبع وقفه را فعال ميكنیم ككه بتوانكد دوبكاره وقفكه
بدهد .بكرای تشكخیص در شكروع روال سكرويس مقكدار آدرس بازگشكت را در پشكته
بررسي ميكنیم .اگر اين مقدار آدرسي درون برنامه سرويس منبكع باشكد بكدين معنكي
است كه همان منبع در هنگام سرويسدهي دوباره وقفه ايجاد كرده است.
27ـ چرا خط هاس كنتـرل خوانـد و نوشـتن در كنترلكننـده DMAدو طرفـه
است؟ در چه شرايطي و به چه منظورس از آنها به عنوا ورودس استفاده ميشـود؟
در چه شرايطي و به چه منظورس از آنها به عنوا خروجي استفاده ميشود؟
حل :هنگامي كه CPUبا كنترلكننده DMAارتباب برقرار ميكند خطوب خوانكدن و
نوشتن به عنوان ورودی از CPUبه DMAاستفاده ميشوند .ايكن ككار امككان برقكراری
ارتباب با ثباتهای DMAرا برای CPUفراهم ميكند.
هنگامي كه كنترل كننده DMAبا حافظه ارتباب برقرار ميكنكد خطكوب خوانكدن و
نوشتن به عنوان خروجي از DMAبه حافظه استفاده ميشوند و عمل خواندن يا نوشتن
را مشخص ميكنند.
28ـ ميخواههم 256كلمه را از يك ديسك م ناطهسي به بخشي از حافظه كه از
طبـ شـيل 18ــ11 DMA آدرس 1231شروع ميشود جابجا كنهم .جابجايي بـا
معماري كامپيوتر 210 /
33ـ رويهاس را براس خط جابجايي دنباله كاراكترها ،به منظور ارتباط بـهن يـك
پردازنده جابجايي داده و يك پايانه دوردست طراحي كنهد .پردازنده مي پرسد كـه
پايانه در حال كار است يا خهر .پايانه با بله و خهر به آ پاسخ ميدهد .اگـر پاسـخ
بلي باشد پردازنده بالكي از متن براس آ مي فرستد.
حل :پردازنده آدرس ترمهنال را همـراه بـا كـد ( ENQپرسـش) ()1111 11 11
ميفرستد.
ترمینال با ( ACKتصديو) يا ( NAKعدم تصديو) پاسخ ميدهد يكا اينككه در طكول
يک فاصله زماني پاسخ نميدهد .اگر پردازنده يک ACKدريافت كرد يک بالك از متن
را ميفرستد.
34ـ يك ارتباط جابجايي داده از قرارداد مبتني بر كاراكتر با شـفافهت دادههـاس
ETX بيارگهرس كاراكتر DLEاستفاده ميكند .پهام متني كـه فرسـتنده بـهن STXو
ميفرستد به صورت زير است:
DLE STX DLE DLE ETX DLE DLE ETX DLE ETX
دادههای شفاف متني را به صورت دودويي بنويسید.
حل:
/ 214معماري كامپيوتر
35ـ كمهترين تعداد بهتهايي كه يك كادر در قرارداد مبتني بر بهت دارد چقـدر
است؟
حل 36 :بیت بین پرچمها؛ 18بیت همراه با پرچمها (با توجه به قرارداد مبتني بكر
بیت)
36ـ نشا دههد چگونه روش درج صفر در قرارداد مبتني بر بهت ،وقتي كه يـك
صفر و به دنبال آ ده بهت معادل دودويي 1123فرستاده ميشود كار ميكند.
حل:
1444444444 اطالعاتي كه قرار است فرستاده شود (:)4163
1444441444441 بعد از درج صفر اطالعاتي كه فرستاده ميشود:
14444444444 اطالعات دريافت شده بعد از حذف صفر:
معماري كامپيوتر 211 /
1خط احتیكاج اسكت Ram برای ديكدر انتخاب و فعالسازی هر كدام از تراشههای
Decoder زيرا
4 * 16 16
حل:
تعداد تراشه :RAM
4096
32
128
تعداد تراشه :ROM
4096
8
512
از 46خط آدرس كه CPUدر اختیار ميگذارد به 46خط آدرس نیاز داريم زيرا:
4096 212
همچنین از بیت 43خط آدرس برای انتخاب ROMاستفاده ميشود.
پس داريم:
بیتهای آدرس
مثدوده
تراشه 46 45 41 43 46 44 41 5 8 4-4
آدرس
RAM 0000-0FFF 1 1 1 1 ديكدر 5به 36 ×
ROM 1FFF-4000 1 1 1 4 ديكدر 3به 8 ×
در اين بثپ يک نكته مهم وجود دارد .در اين مثال ما از بیتهكای بكا ارزش كمتكر
برای خطوب مشترك آدرسدهي و از بیتهای با ارزش بیشكتر بكرای انتخكاب تراشكهها
استفاده كرديم .به ايكن روش High order Interleavingميگوينكد .حسكن ايكن روش در
مفهوم تثمل خطا در خرابي احتمالي تراشهها ميباشد.
روش ديگر كه بر عككس روش قبلكي از بیتهكای بكا ارزش كمتكر بكرای انتخكاب
تراشهها استفاده ميشود Low order Interleavingنام دارد .حسكن ايكن روش در امككان
بكارگیری آدرسهای درخواستي دسترسي به حافظكهها بكه صكورت مكوازی و در يكک
زمان است .زيرا آدرسهای متوالي در تراشههای متفاوت قرار دارند.
5ـ كـامپهوترس از تراشـههاس RAMبـا 256×8و ROMبـا 1124×8اسـتفاده
/ 218معماري كامپيوتر
4 4 16 24
پس داريم:
معماري كامپيوتر 219 /
6ـ يك كامپهوتر داراس گذرگاه آدرس 16بهتـي اسـت 15 .خـط اول آدرسهـا
براس انتخاب يك بانك 32kبايتي حافظه به كار رفته است .بهت با ارزشتـر آدرس
براس انتخاب يك ثبات كه محتواس گذرگاه داده را دريافت ميكند بيار رفته است.
توضهح دههد چگونه ميتوا از اين پهيربندس استفاده كرده و ظرفهت حافظه را بـه
هشت بانك 32kبايتي افزايش داد تا يك بانك 256kبايتي حاصل شود.
32k 25 210 215 15خط آدرس حل:
پس 45خط آدرس برای دسترسي به دادههای هر كدام از بانکهای 36kبايتي داريم.
برای استفاده از بیت با ارزشترين برای انتخاب ثبات مثتوای گذرگاه بكه صكورت
زير عمل ميكنیم:
ثبات مثتوای گذرگاه شماره بانک 36Kبیتي
11111114 4
11111141 6
11111411 3
11114111 1
11141111 5
11411111 6
14111111 4
41111111 8
/ 241معماري كامپيوتر
كه برای خواندن يک قطاع نیاز است چقدر است؟ Ta زمان متوسط
حل :زمان متوسط =
زمان متوسط الزم برای قرار گرفتن هد مغناطیسي روی يک شیار
+متوسط زماني كه طول ميكشد ديسک با چرخش خود هكد را در مككان مناسكب
جای دهد = نصف يک چرخش كامل
+زماني كه طول ميكشد اطالعات از سكتور خوانده شود.
پس:
1 Ns 1
Ta Ts
2R Nt R
8ـ سرعت جابجايي يك نوار م ناطهسي هشت شهاره كه سرعتش 121اينچ در
ثانهه و تراكم آ 1611بهت در اينچ است چقدر است؟
حل :دقت شود كه 8بیت مربوب به يک كاراكتر دقیقاً همزمان خوانده ميشود (بكه
دلیل ماهیت نوار مغناطیسي) بنابراين داريم:
نرخ انتقال 1600120 192000 كاراكتر در ثانیه
9ـ تابع متمم منط انطباق يك كلمه را در حافظه انجمني بدست آوريد .به بهـا
مجموع توابع ORانحصـارس اسـت .ديـاگرام منطقـي را M'i ديگر ،نشا دههد كه
بدست آيد. Mi رسم نموده و با يك وارونگر آ را پايا دههد تا M'i براس
n
n ضرب همه عبارتها به ازای gهای از 4تكا حل :در ابتدا بايد گفت مفهوم
g1
معماري كامپيوتر 240 /
n
مجموع همه عبارتها به ازای gهای از 4تا nميباشد. ميباشد .همچنین مفهوم
g1
داريم:
وارونگر
11ـ تابع بول را براس منط انطباق يك كلمه با يك حافظه انجمنـي بـا در نظـر
گرفتن يك بهت نشانه كه مشخص ميكند كلمه فعال است يـا غهرفعـال را بدسـت
آوريد.
حل :اين بیت نشانه را به عنوان يكي از پايههای يكک گیكت منطقكي ANDبكه ككار
ميبريم تا فعال بودن يا نبودن كلمه مشخص شود .پس:
MiTi
11ـ چه مدار منطقي اضافي نهاز است تا نتهجه عدم انطباق را براس يك كلمه در
حافظه انجمني ،وقتي كه همه بهتهاس كلهد صفر است مشخص كند؟
حل :با توجه به مدار داده شده برای حافظه انجمني «تداعیگر» هر گاه k j باشد
صكفر باشكد تطكابو key مقايسه بیتها تأثیر نخواهد داشت .پس اگكر همكه بیتهكای
حاصل خواهد شد .برای برآورده كردن خواسته سؤال صرفاً الزم است حداقل يككي از
4باشد پس: key بیتهای
n
Mi new A F A 'g F'ig K 'g
g 1 i ig . K1 K2 ... Kn
12ـ الف) دياگرام منطقي تمام سلولهاس يك كلمه در حافظه انجمنـي را رسـم
كنهد .منط خواند و نوشتن شيل 8ـ 12و منط انطباق شيل 9ـ 12را نهز اضـافه
كنهد.
ب) دياگرام منطقي تمام سلولهاس عمودس يك ستو (سـتو )Jرا در حافظـه
انجمني رسم كنهد .يك خط خروجي مشترك براس همه بهتهايي كه در يك سـتو
وجود دارند اضافه كنهد.
به خـط Mi ج) با استفاده از دياگرامهاس الف و ب نشا دههد كه اگر خروجي
خواند هما كلمه وصل شود ،كلمه منطب خوانده خواهد شد ،مشروط بـر اينيـه
فقط يك كلمه با آرگوما پوشانده شده مطابقت داشته باشد.
حل:
الف و ب) شكل اول برای كلمه اول و شكل دوم برای ستون : j
معماري كامپيوتر 241 /
فعال شده Ci مربوب به Read و 4شود پايه Mi ج) الزم به توضیح است هر گاه
و خواندن آن صورت ميپذيرد .پس:
/ 244معماري كامپيوتر
13ـ با استفاده از بالك دياگرام نشا دههد چگونه ميتوا كلمات منطب متعـدد
را از حافظه انجمني خواند؟
حل :ذكر اين نكته مهم است كه قاعدتاً امككان خوانكدن تعكداد بكیش از 4كلمكه از
حافظه انجمني بطور همزمان و در يک لثظه وجود ندارد .برای ايكن ككار بايكد ترتیبكي
دهیم تا با هر سیكل يكي از كلمات منطبكو از حافظكه خوانكده شكود .بنكابراين از يكک
شمارنده كه بتواند در هر سیكل يكي از كلمات منطبو را بكرای خكروج انتخكاب كنكد
استفاده ميكنیم.
پس:
معماري كامپيوتر 241 /
14ـ منط يك سلول و نهز يك كلمه كامل را براس يك حافظه انجمني ،همراه با
نشانگرس براس مواقعي كه آرگوما پوشش نهافته بزرگتر از (اما نه مساوس با) كلمـه
موجود در حافظه انجمني باشد ،بدست آوريد.
هكا اسكت .بنكابراين Fi حل :در رابطه بكا نشكانگر مكورد نظكر هكدف مقايسكه Aو
ميتوانیم موارد زير را داشته باشیم:
Gi 1 IF .
Fi2 0 4و A برابر و بیت دوم Fi1 بیت اول Aو
يا
Fi 3 0 4و A برابر و بیت سوم Fi2 بیت اول و دوم Aبا Fi1و
…………………………
پس داريم:
X j A j Fij A'i F'ig
Gi Ai F'i1 K '1 X1A2F'i2 K '2 X1X2A3 F'i 3 K '3 .... )(X1X2 … Xn-1AnF'in + K'n
128 k 217
الف) تعداد سطرهای حافظه نهان = 210در هر سطر حافظه نهان دو كلمه و
2048 211
پس:
TAG Index
4بیت 41بیت
ب) اندازه حافظه حافظه نهان برحسب تعداد بیت مدنظر اسكت .يكک سكطر حافظكه
نهان را رسم ميكنیم.
Tag1 Data2 Tag2 Data 2
4بیت 36بیت 4بیت 36بیت
در هر سطرحافظه نهان ( 6)4+36بیت داده وجكود دارد .پكس انكدازه حافظكه نهكان
برحسب تعداد بیت:
بیت 1024 2 7 32 1024 78 79872
18ـ يك كامپهوتر ديجهتال داراس واحد حافظه 64k×16و يك حافظـه نهـا 1k
استفاده ميكند و سايز بالك )(Direct كلمهاس است .حافظه نها از نگاشت مستقهم
/ 211معماري كامپيوتر
ب) دقت شود برای كلمه حافظه نهكان TAG Lداده و بیكت VALIDرا در نظكر
ميگیريم.
ج)
حافظه نهان 1k 1024
1024
تعداد بالك در هر بالك 1كلمه 256 بالك
4
19ـ يك فضاس آدرس با 24بهت و فضاس حافظـه متنـاظر بـا آ بـا 16بهـت
معماري كامپيوتر 210 /
مشخص ميشود.
الف) چند كلمه در فضاس آدرس وجود دارد؟
ب) چند كلمه در فضاس حافظه وجود دارد؟
ج) اگر يك صفحه از 2kكلمه ساخته شده باشد ،چند صفحه و بالك در فضاس
حافظه وجود دارد؟
حل :در بثپ حافظه مجازی سیستمهای كامپیوتری منظور از فضای حافظه متناظر
RAM فضای آدرسدهي حافظه فیزيكي است .يعني حافظه اصلي يا
منظور از فضای آدرس حافظه مجازی يا منطقي و به عبكارت ديگكر انكدازه برنامكه
) (processدر كامپیوتر ميباشد .بنابراين داريم:
الف) فضای آدرس 61 :بیت
224 16 M كلمه
ب) فضای حافظه 46 :بیت
216 64K كلمه
ج) طبو تعاريف باال:
16M
تعداد صفثه 8 K pages
2K
بالك يا قاب قاب 64K 32تعداد
2K
21ـ يك حافظه مجازس داراس يك صفحه 1Kكلمهاس است .در ايـن حافظـه 8
صفحه و چهار بالك وجود دارد .جدول صفحه هاس حافظه انجمني حاوس دادههاس
زير است.
CPU لهستي از آدرسهاس مجازس (به دهدهي) تههه كنهد كه در صورت استفاده
از آ موجب فقدا صفحه ( )Page Faultشوند.
/ 212معماري كامپيوتر
صفثه بالك
1 3
4 4
1 6
6 1
حل :سايز صفثات 4Kميباشد؛ بنكابراين سكاير قابهكای حافظكه اصكلي نیكز 4K
ميباشد .با توجه به جدول داده شده ميتوانیم به طور دقیو مشخص كنیم كه صكفثاتي
كه االن نام برده شدهاند چه آدرسهايي را پوشش ميدهند:
صفثه بالك مثدوده آدرس پوشاننده (دهدهي)
1 3 4163ك1
4 4 6114ك4161
1 6 5445ك 1156
6 1 4464ك 6411
يعني آدرسهای مجازی كه CPUاعالن ميدهكد اگكر در مثكدودههای بكاال باشكد
صفثات متناظر وجود خواهند داشت .بنابراين ميتوان گفت آدرسهای مربوب به ساير
صفثات كه در جدول صفثه نیستند موجب بروز فقدان صفثه ميشوند:
صفحه مثدوده آدرس مربوطه كه موجب فقدان صفثه ميشوند.
2 3144ك6118
3 1155ك3146
5 6413ك 5461
7 8454ك 4468
21ـ يك سهستم حافظه مجازس داراس فضاس آدرس 8Kكلمه يك فضاس حافظه
معماري كامپيوتر 211 /
4Kكلمه ،و صفحات و بالكهاس 1Kكلمه است (شيل 18ـ )12ت ههرات دسترسي
صفحه زير در طول يك فاصله زماني معهن ر ميدهـد( .فقـط ت ههـر صـفحه هـا
نوشته شده است .اگر يك صفحه دوباره مورد دسترسي قـرار گرفتـه باشـد دو بـار
نوشته نشده است).
4 2 0 1 2 61 4 0 1 0 2 3 5 7
- - 1 6 6 6 6 6 1 1 1 1 1 1 4
- - - 1 1 6 6 6 6 6 6 6 6 6 6
Page
M M M M H M H M H H H M M M M
Fault
22ـ دو آدرس منطقي را از شيل 24ـ( 12الف) كه سبب دسـتهابي بـه حافظـه
فهزييي در آدرس فهزييي شانزده شانزدهي 112AFمي شود تعههن كنهد.
(01200شامل )– 012FF حل :با توجه به قسمت الف شكل 61ك 46مثدوده آدرس
بالك 46حافظه فیزيكي ميباشد .حال مطابو با جدول صكفثه صكفثات 35و A3بكه
اين بالك اشاره ميكنند .مطابو با جدول قطعات قطعات 6و Fبه شامل اين دو صكفثه
ميشوند .بنابراين ميتوان دو آدرس منطقي زير را نام برد:
600 AF
F00 AF
23ـ فضاس آدرس منطقي در يك سهستم كامپهوترس داراس 128قطعه است .هـر
قطعه ميتواند تا 32صفحه 4Kكلمهاس داشته باشد .حافظه فهزييي 4Kبـالك 4K
كلمه در هر بالك است .قالب آدرسهاس فهزييي و منطقي را تنظهم كنهد.
حل :قالب منطقي
پس :
4بیت 5بیت 46بیت
Segment Page Word
معماري كامپيوتر 211 /
قالب فیزيكي:
46بیت 4K 22 210 212بالك
46بیت 4K 212 كلمه
پس:
46بیت 46بیت
Block Word
24ـ معادل دودويي آدرس منطقي تنظهم شده در مسلله 23ـ 12را براس قطعه 36
و كلمه 2111در صفحه 15بنويسهد.
حل :با توجه به سؤال 63ك 46آدرس منطقي 61بیت ميباشد .قطعه 4بیت صفثه
5بیت و كلمه 46بیت را اختصاص ميدهد.
01001002 قطعه 36
011112 صفثه 45
كلمه 011 1110100002 6111
پس :آدرس منطقي برابر است با:
0100100 01111 011111010000
61بیت
/ 216معماري كامپيوتر
3ـ در شيل زير كداميك از موارد انتقال رجهسترس ) (RTLقابل اجرا است؟
(مهندسي كامپهوتر ـ سراسرس )83
X:R1 R2 الف)
XT :R1 R2 ب)
ج) XT:R1 R2
ج) 46دستورالعمل مختلف 6ثبات قابكل اسكتفاده توسكط ككاربر و فضكای آدرس
2KB حافظه
د) هیچكدام
عمـل واكشـي ) (Fetchو دييـد T1 و T0 3ـ با فرض اينيـه در طـي فازهـاس
دستورالعمل به صورت مقابل انجام شده است؟
T0 : DR M PC
T1 : IR DR , PC PC 1, Decode
مشخص كنهد دستور STA Addrكدام مجموعهس گزارههاس زير است؟
(مهندسي ITـ سراسرس )84
ب) T2 ; DR M PC , DR AC T2 : AR DR , PC PC 1 الف)
T3 : M AR DR , goto T0 T3 : M AR AC ,goto T0
، Iكد عمل 1111بـا شـرح 5ـ براس قالب دستورالعمل آدرس كد عمل
AC 0 then
كدام نماد تداعي ميشود؟ ( EAآدرس موثر است)
PC EA
(آزاد ـ )83
BRANCH د) EXCHANGE ج) STORE ب) ADD الف)
معماري كامپيوتر 260 /
/ 262معماري كامپيوتر
پس داريم:
تعداد ثبات برای كار 22 4
AX 1001
BX 0011
XOR AX , BX AX 1010 , BX 0011
XOR BX, AX AX 1010 , BX 1001
XOR AX, BX AX 0011, BX 1001
6ك گزينهی د صثیح است.
ميدانیم در نتیجه يک شیفت بكه چكپ ضكرب در 6و در نتیجكه يكک شكیفت بكه
راست تقسیم بر 6حاصل ميشود .بنابراين axبر 8تقسیم ميشود.
bx باعپ صفر شدن 5بیت با ارزش بیشتر مثتوای رجیستر and bx,07 در ضمن
كه همان axاولیه است ميشود و 3بیت كم ارزش axكه بیانگر باقي مانده تقسیم بر 8
است را نگه ميدارد.
معماري كامپيوتر 261 /
د) هر سه ج) 4و 3 ب) 6و 3 الف) 4و 6
5ـ تفاوت كامپهوترهاس RISCو CISCكدام است؟ ( CPIيعني تعـداد متوسـط
پالس ساعت به ازاء اجراس هر دستورالعمل)
(مهندسي كامپهوتر ـ سراسرس )81
/ 212معماري كامپيوتر
CISC الف) در RISCتعداد دستورات كمتكر طكول برنامكه بزرگتكر و CPIكمتكر از
است.
ب) در RISCتعداد دستورات بیشتر و طول برنامه تقريباً هم انكدازه و CPIكمتكر از
CISCاست.
CISC ج) در RISCتعداد دستورات بیشتر طكول برنامكه ككوچكتر و CPIبیشكتر از
است.
د) در RISCتعداد دستورات كمتر طول برنامه كوچكتر و CPIكمتر از CISCاست.
معماري كامپيوتر 211 /
حال طبو توضیثات حل مسهله 8از فصل 8فرم میانوندی را از فرم RPNبدست
آمده بدست ميآوريم.
) = (A*B-C)/D+(C/E+A-B*Fعبارت میانوندی
1ك گزينهی د صثیح است.
/ 214معماري كامپيوتر
حالت ( : )4پشته از آدرسهای باال به پايین رشد ميكنكد و SPبكه بكاالترين عنصكر
پشته اشاره ميكند.
حالت ( :)6پشته از آدرسهای پايین به باال رشد ميكنكد و SPبكه بكاالترين عنصكر
پشته اشاره ميكند.
حالت ( :)3پشته از آدرسهای بكاال بكه پكايین رشكد ميكنكد و SPبكه مككان بكاالی
باالترين عنصر پشته اشاره ميكند.
5ك گزينهی الف صثیح است.
مفهوم CPIبه معنای تعداد كالك مورد نیاز برای اجرای هر كدام از دستورات است.
و در كل به سادهتر بودن يک دستور اشاره ميكند.
عالوه بر اين در رابطه با مقايسه كامپیوترهای RISCو CISCداريم:
CISC RISC معهار
زياد كم تعداد دستورات
متفاوت ثابت طول دستورات
كم زياد (تعداد خطوب كد برنامه) طول برنامه
كم زياد تعداد ثبات پردازنده
خیر بلي استفاده از پنجرههای ثبات همپوشان
زياد كم تعداد مد آدرسدهي
معماري كامپيوتر 211 /
حداكثر تسريع در استفاده از خط لوله زماني بدسكت ميآيكد ككه اوالً زمكان اجكرای
مرحلهها با هم برابر باشد و ثانیاً تعداد كارها ) (nرا به سمت بينهايت سوق دهیم.
nkT
lim k
n n 1 T
k
1ك گزينهی د صثیح است.
انواع مشكالت موجود در خط لوله عبارتاند از:
4ك همزماني دسترسي به منابع مشترك مثل حافظه يا ALUيا...
6ك وابستگي دادهای به طوری كه دستور كنوني به نتیجه اجكرای دسكتور قبلكي نیكاز
دارد.
3ك مشكل مربوب به دستورات انشعاب
معماري كامپيوتر 219 /
Multiplier =B
ج) اگر Bمنفي بود آن را مثبت كرده ضرب را با گسترش عالمت انجام مكيدهیم
حاصلضرب را در صورت لزوم تغییر عالمت ميدهیم.
د) ضرب را با گسترش عالمت انجام ميدهیم.
3ـ الگوريتم Boothداراس كداميك از ويژگيهاس زير است؟
(مهندسي كامپهوتر ـ سراسرس )73
الف) سرعت مثاسبه با تعداد 4ها متناسب است.
ب) تعداد عملیات جمع برابر نصف تعداد 4هكا و عملیكات جابجكايي ) (shiftبرابكر
تعداد بیتها است.
ج) تعداد زوج بیتهای صفر و يک يا يكک و صكفر تعكداد جمعهكا و تعكداد ككل
بیتها تعداد عملیات جابجايي را تعیین ميكند.
د) سرعت مثاسبه با تعداد بیتها متناسب است.
4ـ در عمل تقسهم در چه صورت divide – overflowر ميدهد؟
(علوم كامپهوتر ـ )81
الف) فقط زماني كه تقسیم به صفر انجام شود.
ب) عدد موجود در نیمه باالی خارج قسمت از مقسوم علیه بزرگتر باشد.
ج) باقیمانده يک عدد منفي باشد.
د) هیچكدام
5ـ در انجام كداميك از چهار عمل اصلي روس مانتهس اعداد با ممهـز شـناور،
سرريز ر نميدهد؟
(آزاد ـ )79
د) تقسیم ج) تفريو ب) ضرب الف) جمع
6ـ در يك سهستم نمايش اعداد حقهقي به شيل ممهز شناور بـه صـورت زيـر
است:
34 31 4 6 1
معماري كامپيوتر 280 /
كدام يك از جمالت زير درباره محدوده اعداد حقهقي و دقت مـدل دوم نسـبت
به مدل صحهح ميباشد؟
(مهندسي ITـ سراسرس )83
الف) هر دو مثدوده و دقت كاهش مييابد.
ب) هر دو مثدوده و دقت افزايش مييابد.
ج) مثدوده افزايش و دقت كاهش مييابد.
د) مثدوده كاهش و دقت افزايش مييابد.
7ـ در اعداد ممهز شناور كوچيترين نما را به عدد صفر اختصاص ميدههم براس
اينيه:
(سراسرس 83ـ مهندسي )IT
الف) به نمايش نرمال شده دست پیدا كنیم.
ب) خطای مثاسبات حداقل شود.
ج) با مقدار افزودن نما حاصل صفر تولید شود.
د) تشخیص صفر توسط مدارات داخل پردازنده سادهتر صورت گیرد.
/ 282معماري كامپيوتر
راه داريم:
و Multiplicandرا تغییر عالمكت مكيدهیم و ضكرب را انجكام Multiplier يا هر دو
ميدهیم.
را مثبت ككرده و بعكد از انجكام عمكل ضكرب حاصلضكرب را تغییكر Multiplier يا
عالمت ميدهیم.
3ك گزينهی ج صثیح است.
با توجه به الگوريتم و سرعت عملیات ضرب و تعكداد عملیكات جمكع وابسكته بكه
تعداد زوج بیتهای 14 11و 4در عدد است.
1ك گزينهی د صثیح است.
مواردی كه باعپ ميشوند در عمل تقسیم سرريز رخ دهد عبارتاند از:
ك زماني كه مقسوم علیه 1باشد.
ك زماني كه نیمه باالی مقسوم از مقسوم علیه بزرگتر يا مساوی باشد.
لفظ «فقط» در گزينهی الف باعپ غلط بودن اين گزينه است.
5ك گزينهی ب صثیح است.
معماري كامپيوتر 281 /
حافظـه M1 2ـ سهستمي را كه داراس دو سطح حافظه اسـت ،در نظـر بگهريـد.
حافظه اصـلي .زمـا دسترسـي بـه cacheبرابـر M2 پنها ) (cacheسهستم است و
بايد چقدر باشد M2 و ضريب hitبرابر 1/95است .زما دسترسي به حافظه 20 ns
است و باس دادهاس آ 32بهتـي ميباشـد. 5 mhz 3ـ در يك پردازنده سرعت
رساندهاند ولـي بـاس دادهاس 20 mhz در طراحي جديد اين پردازنده ،سرعت را به
آ را 8بهتي كردهاند .ماكزيمم speed – upبه دست آمده در طراحي جديـد نسـبت
به قبل به چه صورت است؟
(علوم كامپهوتر ـ )81
ب) speed – upثابت مانده است. الف) 6برابر شده است.
د) 41برابر شده است. ج) 1برابر شده است.
4ـ كداميك از موارد زير از مزاياس استراتژس write throughاست؟
(مهندسي ITـ آزاد )84
/ 288معماري كامپيوتر
Block 36 10 , 2GB , 4KB ب) Block 164 10 , 4GB , 2KB الف)
Block 36 10 , 4GB ,2KB د) Block 16010 , 4GB , 2KB ج)
6ـ تفاوت اصلي بهن (SRAM) Static Ramو (DRAM) Dynamic Ramچهست؟
(علوم كامپهوتر ـ )84
الف) SRAMسريعتر و احتیاج به refreshدارد و DRAMكندتر و احتیاج به Refreshندارد.
ب) SRAMكندتر و احتیاج به refreshدارد و DRAMسريعتر و احتیاج به refreshندارد.
SRAMكندتر و احتیاج بكه refreshنكدارد و DRAMسكريعتر و احتیكاج بكه refresh ج)
دارد.
refresh د) SRAMسريعتر و احتیاج به refreshندارد و DRAMكندتر و احتیكاج بكه
دارد.
معماري كامپيوتر 289 /
منابع