0% found this document useful (0 votes)
196 views291 pages

Solution Architecture Computer - Farsi

This question examines the validity of De Morgan's theorem for three variables using a truth table. The expression 'A+B+C' is evaluated and compared to the expression '¬(ABC)' for all possible combinations of inputs A, B, and C. The truth table shows that the two expressions are equal for all cases, demonstrating that De Morgan's theorem holds for this three variable expression.

Uploaded by

Hadi Sh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
196 views291 pages

Solution Architecture Computer - Farsi

This question examines the validity of De Morgan's theorem for three variables using a truth table. The expression 'A+B+C' is evaluated and compared to the expression '¬(ABC)' for all possible combinations of inputs A, B, and C. The truth table shows that the two expressions are equal for all cases, demonstrating that De Morgan's theorem holds for this three variable expression.

Uploaded by

Hadi Sh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 291

‫راهنمای جامع مسئله های معماری كامپيوتر‬

‫موريس مانو‬
‫به پیوست مجموعه تستهای برگزیده فصلبندی شده و پاسخ تشریحی‬

‫تاليف و تدوين ‪:‬‬


‫محمدجواد مروتي‬
‫سعيد كاظمي‬
‫‪ / 2‬معماري كامپيوتر‬

‫تقديم به ‪...‬‬

‫تقديم به ساحت مقدس حضرت وليعصر (عج) و همه كساني كه به رسم ادب اين‬
‫اوراق را تورق ميكنند‪.‬‬
‫گرچه از آن مستغنياند‬
‫مروتي‬

‫تقديم به خانواده ام‬


‫و هر آنكه لبخند با لبش عقد بسته‪.‬‬
‫كاظمي‬
‫فهرست مطالب‬

‫‪5‬‬ ‫حمايت داوطلبانه (‪)Donation‬‬


‫‪6‬‬ ‫پیشگفتار نويسندگان‬
‫‪8‬‬ ‫فصل اول ‪ :‬مدارهای منطقي ديجیتال‬
‫‪66‬‬ ‫فصل دوم‪ :‬قطعات ديجیتال‬
‫‪14‬‬ ‫فصل سوم‪ :‬نمايش دادهها‬
‫‪56‬‬ ‫فصل چهارم‪ :‬انتقال ثباتها و ريزعملها‬
‫‪41‬‬ ‫فصل پنجم‪ :‬سازمان و طراحي يک كامپیوتر پايه‬
‫‪55‬‬ ‫فصل ششم‪ :‬برنامهنويسي كامپیوتر پايه‬
‫‪461‬‬ ‫فصل هفتم‪ :‬كنترل ريزبرنامهنويسي شده‬
‫‪436‬‬ ‫فصل هشتم‪ :‬واحد مركزی پردازش‬
‫‪466‬‬ ‫فصل نهم‪ :‬پردازش خط لولهای و برداری‬
‫‪443‬‬ ‫فصل دهم‪ :‬معماری كامپیوتر و الگوريتمهای حسابي‬
‫‪645‬‬ ‫فصل يازدهم‪ :‬سازمان ورودی‪ -‬خروجي‬
‫‪635‬‬ ‫فصل دوازدهم‪ :‬سازمان حافظه‬
‫‪656‬‬ ‫تستهای فصل ‪« 1‬انتقال ثباتها و ريزعملها»‬
‫‪658‬‬ ‫حل تستهای فصل ‪1‬‬
‫‪655‬‬ ‫تستهای فصل ‪« 5‬سازمان و طراحي يک كامپیوتر پايه»‬
‫‪666‬‬ ‫حل تستهای فصل ‪5‬‬
‫‪661‬‬ ‫تستهای فصل ‪« 6‬برنامهنويس كامپیوتر پايه»‬
‫‪666‬‬ ‫حل تستهای فصل ‪6‬‬
‫‪664‬‬ ‫تستهای فصل ‪« 4‬كنترل ريز برنامهنويسي شده»‬
‫‪ / 4‬معماري كامپيوتر‬

‫‪665‬‬ ‫حل تستهای فصل ‪4‬‬


‫‪641‬‬ ‫تستهای فصل ‪« 8‬واحد مركزی پردازش»‬
‫‪643‬‬ ‫حل تستهای فصل ‪8‬‬
‫‪645‬‬ ‫تستهای فصل ‪« 5‬پردازش خط لولهای و برداری»‬
‫‪644‬‬ ‫حل تستهای فصل ‪5‬‬
‫‪645‬‬ ‫تستهای فصل ‪« 41‬معماری كامپیوتر و الگوريتمهای حسابي»‬
‫‪686‬‬ ‫حل تستهای فصل ‪41‬‬
‫‪681‬‬ ‫تستهای فصل ‪« 44‬سازمان ورودی ‪ -‬خروجي»‬
‫‪686‬‬ ‫حل تستهای فصل ‪44‬‬
‫‪684‬‬ ‫تستهای فصل ‪« 46‬سازمان حافظه»‬
‫‪685‬‬ ‫حل تستهای فصل ‪46‬‬
‫‪654‬‬ ‫منابع‬
‫حمايت داوطلبانه (‪)Donation‬‬
‫خواننده گرامي‬
‫هرای‬ ‫تاليف‪ ،‬تدوين‪ ،‬آماده سازی محتوا‪ ،‬تايپ‪ ،‬صفحه آرايي و ويرراي‬
‫انجام شده كتاب حاضر‪ ،‬با هزينه نويسندگان انجام شده است‪.‬‬
‫در صورت تمايل به حمايت از اين مجموعه‪ ،‬پيوند يا كد ‪ QR‬زير را دنبال‬
‫كنيد‪.‬‬
‫‪http://hpcc.ir/downloads/computer-architecture-solution/‬‬
‫‪ / 6‬معماري كامپيوتر‬

‫پيشگفتار نويسندگان‬
‫‪ ‬درس معماری كامپیوتر به عنوان يكک مبثكپ پايكهای رشكته مهندسكي و علكوم‬
‫كامپیوتر و ساير رشتههای مرتبط مطرح است‪ .‬بكه طكوری ككه رونكد طراحكي و‬
‫ساخت سیستمهای كامپیوتری را از تركیب مباحپ نرمافزاری و برنامهنويسكي و‬
‫مباحپ سختافزاری مدارهای منطقي و ديجیتال بازگو مينمايد‪.‬‬
‫‪ ‬كتاب حاضر به بررسي و حل مسائل درس معمكاری ككامپیوتر براسكاس كتكاب‬
‫معماری كامپیوتر «پروفسور موريس مكانو» ترجمكهی «دكتكر قكدرت سكپیدنام»‬
‫ميپردازد‪ .‬در ضمن سؤاالت چهار گزينهای برگزيده فصلهای كتكاب معمكاری‬
‫كامپیوتر به همراه پاسخ تشريثي آنها نیز به كتاب پیوست شده است‪.‬‬
‫‪ ‬سه فصل ابتدايي كتاب معمكاری ككامپیوتر مكوريس مكانو مشكتمل بكر مباحكپ‬
‫مدارهای منطقي و ديجیتال است كه كتاب حاضر به تشريح مسائل اين سه فصل‬
‫نیز پرداخته است‪ .‬بنابراين اين كتاب ميتواند بكرای مكرور و تسكلط بكر مباحكپ‬
‫مدارهای منطقي و ديجیتكال بكه عنكوان مقدمكه و پیشنیكاز طراحكي و معمكاری‬
‫كامپیوتر استفاده گردد‪.‬‬
‫‪ ‬منبع اصلي مجموعكه حاضكر جكزوه راهنمكای حكل مسكهله (‪)Solution Manual‬‬
‫پروفسور موريس مانو است‪ .‬اگرچه در بسیاری از مسائل و راهحلها اين راهنما‬
‫دارای نقص اشتباههای مثاسباتي و اشتباههای منطقي بوده و يا اينكه تنها دارای‬
‫جواب آخر بودهاند؛ كه در كتكاب حاضكر اقكدام بكه رفكع ايكن اشكتباهها شكده و‬
‫توضیثات الزم در جوابها داده شده و الگوريتمها روشهای حل و شكلهای‬
‫ابتكاری بكار بردهايم‪ .‬البته امیدواريم خوانندگان مثترم با مطالعكه دقیكو و كامكل‬
‫كتاب نويسندگان ايكن مجموعكه را نسكبت بكه نقصهكا كمبودهكا اشكتباههای‬
‫احتمالي و نامفهوم بودن مطالب آگاه نمايند‪.‬‬
‫با تشکر و آرزوی موفقیت‪ ،‬مروتی ‪ -‬کاظمی‬
‫‪ / 8‬معماري كامپيوتر‬

‫فصل اول ‪ :‬مدارهای منطقي ديجيتال‬


‫‪1‬ـ‪ 1‬با استفاده از جدول درستي‪ ،‬صحت قضـهه دمورگـا را بـراس سـه مت هـر‬
‫بررسي كنهد‪.‬‬

‫'‪ ABC '  A' B' C‬‬


‫حل‪ :‬طبو جدول درسي برای عبارت فوق داريم‪:‬‬

‫‪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  BC‬‬
‫حل‪ :‬ابتدا ‪ OR‬انثصاری ‪ A‬و ‪ B‬را بدست آورده و سپس ‪ OR‬انثصاری حاصكل آن‬
‫را با ‪ C‬مثاسبه ميكنیم‪.‬‬
‫‪A  B  C   A  B  C‬‬
‫‪A B‬‬ ‫‪C‬‬ ‫‪AB‬‬ ‫‪A  BC‬‬
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  AB'  A  B  B'  A


‫ (ج‬A'BC  AC  C  A'B  A   C  A' A  B  A    A  B C
‫ (د‬A'B  ABC' ABC  A'B  AB  C' C  A'B  AB  B  A' A   B
:‫ـ عبارت هاس زير را با جبر بول ساده كنهد‬4‫ـ‬1
 BC' A'D AB' CD' )‫ب‬ AB  A  CD  CD' )‫الف‬

:‫حل‬
‫ (الف‬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‬معماري كامپيوتر‬

‫‪(  A  B '  A' B' '   A'B' (AB) 0‬الف‬


‫‪( A  A'B  A'B'  A  A'  B  B'  A  A'  1‬ب‬
‫‪1‬ـ‪ 6‬ـ با توجه به عبارت بولي ' ‪: F  x ' y  xyz‬‬
‫الف) يك عبارت جبرس براس متمم‪ F' ،‬بدست آوريد‪.‬‬
‫‪FF'  0‬‬ ‫ب) نشا دههد كه‬
‫‪F  F'  1‬‬ ‫ج) نشا دههد‬
‫حل‪:‬‬
‫' ‪( F  x ' y  xyz‬الف‬
‫‪F'   x  y' x ' y' z   x ' y' xy' y' xz  y'z  y' 1 x ' x  z   xz  y' x‬‬
‫‪( F.F'   x ' y  xyz ' y' xz   0  0  0  0  0‬ب‬
‫‪( F  F'  x ' y  xyz ' y' xz  y  y'   x ' y  xy  z ' z   y' 1 xz ‬ج‬
‫‪ x ' y  xy  y'  y  x ' x   y'  y  y'  1‬‬
‫‪1‬ـ‪7‬ـ با توجه به تابع بولي ‪: F  xy'z  x ' y'z  xyz‬‬
‫الف) جدول درستي تابع را بدست آوريد‪.‬‬
‫ب) نمودار منطقي را براس عبارت بولي اصلي رسم كنهد‪.‬‬
‫ج) عبارت جبرس را با جبر بول ساده كنهد‪.‬‬
‫د) جدول درستي را با عبارت ساده شده تابع تشـيهل داده و نشـا دههـد كـه‬
‫هما جدول بخش (الف) است‪.‬‬
‫هـ) نمودار منطقي را با عبارت ساده شده بدست آورده و تعداد كل گهتهـا را‬
‫با نمودار بخش (ب) مقايسه كنهد‪.‬‬
‫حل‪:‬‬
‫(الف‬ ‫‪( F  xy'z  x ' y'z  xyz‬ب‬
‫‪X‬‬ ‫‪y‬‬ ‫‪z‬‬ ‫‪F‬‬
00 / ‫معماري كامپيوتر‬

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‬معماري كامپيوتر‬

‫‪ = 1‬تعداد گیتهای تشكیلدهنده‬


‫‪1‬ـ ‪ 8‬ـ توابع بولي زير را با نقشه سه مت هره ساده كنهد‪.‬‬
‫)‪F(x,y,z‬‬
‫‪F   12‬‬
‫ب) ‪, , 3, 6, 7 ‬‬ ‫الف) ‪F   0,1, 5, 7 ‬‬
‫د) ‪F   0, 2, 3, 4, 6 ‬‬ ‫ج) ‪F    3, 5, 6, 7 ‬‬

‫حل‪:‬‬
‫ب)‬ ‫الف)‬

‫د)‬ ‫ج)‬

‫‪F = z' + x'y‬‬

‫‪1‬ـ‪9‬ـ توابع بولي زير را با نقشه چهار مت هره ساده كنهد‪.‬‬


‫)‪F(A,B,C,D‬‬
‫‪F    3, 7,1113‬‬
‫ب) ‪, ,14,15 ‬‬ ‫الف) ‪F    4, 6, 7,15 ‬‬

‫د) ‪F   0, 2, 4, 5, 6, 7, 8,10,13,15 ‬‬ ‫‪F   0,12‬‬ ‫ج) ‪, ‬‬


‫‪, , 4, 5, 7,1115‬‬
‫معماري كامپيوتر ‪01 /‬‬

‫حل‪:‬‬
‫الف)‬

‫ب)‬
‫‪ / 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 /‬‬

‫ب)‬

‫حاصل جمع حاصل ضرب‬ ‫‪F  AC' CD  B'D‬‬

‫‪ F  (A  D)  C' D A  B' C‬حاصل ضرب حاصل جمع‬


‫توضهحات‪ :‬در جدول كارنو عبكارت (الكف) و (ب) دسكتهبندی ‪4‬هكا حاصكلجمع‬
‫حاصلضرب خود تابع را ميسكازد و دسكتهبندی ‪ 1‬هكا حاصكلجمع حاصلضكرب مكتمم‬
‫عبارت را ميسازد كه با استفاده از قضكیه دمورگكان حاصلضكرب حاصكلجمع عبكارت‬
‫معین ميشود‪.‬‬
‫‪1‬ـ‪11‬ـ توابع بولي زير را به شيل جمع حاصلضربها با نقشه چهار مت هره ساده‬
‫كنهد‪ .‬نمودار منطقي را‬
‫ب) با گیتهای ‪ NAND‬رسم كنید‪.‬‬ ‫‪AND-OR‬‬ ‫الف) با گیتهای‬
‫‪F   0, 2, 8, 9,10,1114‬‬
‫‪, ,15 ‬‬
‫حل‪:‬‬
‫‪ / 06‬معماري كامپيوتر‬

‫الف)‬

‫ب) ابتدا ‪ AND‬ها را به ‪ NAND‬تبديل ميكنیم‪:‬‬

‫‪‬‬

‫‪1‬ـ‪12‬ـ تابع بولي زير را به شيل ضرب حاصل جمعها بـا نقشـه چهـار مت هـره‬
‫ساده كنهد‪ .‬نمودار منطقي را‬
‫ب) با گیتهای ‪ NOR‬رسم كنید‪.‬‬ ‫‪OR-AND‬‬ ‫الف) با گیتهای‬
‫‪F   2, 3, 4, 5, 6, 7,1114‬‬
‫‪, ,15 ‬‬
‫حل‪:‬‬
‫الف)‬
‫معماري كامپيوتر ‪01 /‬‬

‫'‪F'  AC' B'C' AB'D‬‬


‫‪F   A' C B  C A' B  D ‬‬
‫ب)ابتدا ‪OR‬ها را به ‪ NOR‬تبديل ميكنیم‪:‬‬

‫‪‬‬

‫‪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‬معماري كامپيوتر‬

‫(‪4‬‬ ‫‪ :‬جمع حاصل ضربها‬ ‫‪F  x 'z' w'z‬‬

‫‪ : F   x ' z  w ' z '‬ضرب حاصل جمعها (‪6‬‬

‫‪1‬ـ‪14‬ـ با جدول ‪2‬ـ‪ 1‬عبارت بولي ‪( S‬جمع) خروجي يك تمام جمعكننـده بـه‬
‫شيل جمع حاصل ضربها را بدست آوريد‪ .‬سپس با دسـتيارسهاس جبـرس نشـا‬
‫دههد كه ‪ S‬ميتواند به صورت ‪ OR‬انحصارس سه مت هره بها شود‪.‬‬

‫‪S  xyz‬‬
‫حل‪ :‬با توجه به جدول درستي ‪ NOR‬انحصارس‪،‬‬

‫‪S  x ' y'z  x ' yz' xy'z' xyz‬‬

‫‪ x '  y'z  yz '  x  y'z ' yz ‬‬

‫' ‪ x ' y  z  x  y  z‬‬

‫‪x  yz‬‬
‫‪1‬ـ‪15‬ـ يك مدار ترتهبي به نام تابع اكثريت به اين صورت تعريف ميشـود كـه‬
‫هر گاه مقدار مت هرهاس ورودس ‪ ،1‬بهشتر از ورودسهاس ‪ 1‬باشند‪ ،‬خروجي ‪ 1‬اسـت‪،‬‬
‫در غهر اين صوزت خروجي ‪ 1‬است‪ .‬تابع اكثريت سه ورودس را طراحي كنهد‪.‬‬
‫حل‪ :‬جدول درستي را تشكیل داده و مقادير مورد نیاز را به تابع تخصیص مكيدهیم‬
‫سپس سادهسازی انجام ميدهیم‪.‬‬
‫معماري كامپيوتر ‪09 /‬‬

‫‪X‬‬ ‫‪y‬‬ ‫‪z‬‬ ‫‪F‬‬


‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬
‫‪1‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫‪1‬‬
‫‪1‬‬ ‫‪4‬‬ ‫‪1‬‬ ‫‪1‬‬
‫‪1‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪4‬‬
‫‪4‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬
‫‪4‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫‪4‬‬
‫‪4‬‬ ‫‪4‬‬ ‫‪1‬‬ ‫‪4‬‬
‫‪4‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪4‬‬
‫‪C‬‬ ‫‪1‬ـ‪16‬ـ يك مدار تركهبي بـا سـه مت هـر ‪ x‬و ‪ y‬و ‪ z‬و سـه خروجـي ‪ A‬و ‪ B‬و‬
‫طراحي كنهد‪ .‬اگر ورودسهاس دودويي ‪ 2 ،1 ،1‬يا ‪ 3‬باشد‪ ،‬خروجي ييـي بهشـتر از‬
‫ورودس است‪ .‬وقتي ورودسها ‪ 4‬و ‪ 5‬و ‪ 6‬و ‪ 7‬باشند‪ ،‬خروجي دودويي ييي كمتر از‬
‫ورودس باشد‪.‬‬
‫حل‪:‬‬
‫‪x‬‬ ‫‪y‬‬ ‫‪z‬‬ ‫‪A‬‬ ‫‪B‬‬ ‫‪C‬‬
‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪4‬‬
‫‪1‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫‪1‬‬
‫‪1‬‬ ‫‪4‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫‪4‬‬
‫‪1‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪1‬‬ ‫‪1‬‬
‫‪4‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫‪4‬‬
‫‪4‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪1‬‬ ‫‪1‬‬
‫‪4‬‬ ‫‪4‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫‪1‬‬ ‫‪4‬‬
‫‪4‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪1‬‬
‫‪ / 21‬معماري كامپيوتر‬

‫‪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‬‬ ‫‪Qt‬‬ ‫‪Q  t 1‬‬
‫‪J‬‬ ‫‪K‬‬
‫‪J‬‬ ‫‪K‬‬

‫‪1‬‬ ‫‪1‬‬ ‫)‪Q(t‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬


‫‪1‬‬ ‫‪4‬‬ ‫‪1‬‬ ‫‪‬‬
‫‪1‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫‪4‬‬
‫‪4‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫‪1‬‬ ‫‪1‬‬
‫‪4‬‬ ‫‪4‬‬ ‫)‪Q'(t‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪1‬‬
‫‪4‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪4‬‬
‫‪4‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫‪4‬‬
‫‪4‬‬ ‫‪4‬‬ ‫‪1‬‬ ‫‪4‬‬
‫‪4‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪1‬‬
‫در جدول درستي باال مقادير ‪ k‬و ‪ J‬مناسكب‬ ‫)‪Q(t),Q(t 1‬‬ ‫سپس با توجه به حاالت‬
‫را استخراج كرده تا جدول تثريک ‪ JK‬بدست آيد‪:‬‬

‫)‪Q(t‬‬ ‫‪Q  t 1‬‬ ‫‪J‬‬ ‫‪K‬‬

‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪x‬‬

‫‪1‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪x‬‬

‫‪4‬‬ ‫‪1‬‬ ‫‪X‬‬ ‫‪4‬‬


‫‪4‬‬ ‫‪4‬‬ ‫‪x‬‬ ‫‪1‬‬
‫‪ / 22‬معماري كامپيوتر‬

‫كه با جدول ‪3‬ك‪ 4‬برابر است‪.‬‬


‫‪1‬ـ‪19‬ـ يك مدار ترتهبي داراس دو فلهپ فالپ ‪ A‬و ‪ ، B‬دو ورودس ‪ x‬و ‪ y‬و يـك‬
‫خروجي ‪ z‬است‪ .‬معادله هاس ورودس فلهپ فالپ و نهز خروجي مدار به قرار زيرند‪:‬‬

‫‪DA  x ' y  xA‬‬

‫‪DB  x 'B  xA‬‬

‫‪zB‬‬
‫الف) دياگرام منطقي مدار را رسم كنید‪.‬‬
‫ب) جدول حالت را برپا كنید‪.‬‬
‫حل‪:‬‬
‫مشخص ميكنند كه فلیپ فالپ پیشنهادی از نوع ‪ D‬است‪.‬‬ ‫‪DB , DA‬‬ ‫الف)‬

‫ب)‬
‫حالت فعلي‬ ‫ورودیها‬ ‫حالت بعدی‬ ‫خروجي‬
‫‪A‬‬ ‫‪B‬‬ ‫‪x‬‬ ‫‪y‬‬ ‫‪A‬‬ ‫‪B‬‬ ‫‪Z‬‬
‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬
‫معماري كامپيوتر ‪21 /‬‬

‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪1‬‬ ‫‪1‬‬


‫‪1‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬
‫‪1‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬
‫‪1‬‬ ‫‪4‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫‪4‬‬
‫‪1‬‬ ‫‪4‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪4‬‬
‫‪1‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪4‬‬
‫‪1‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪4‬‬
‫‪4‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬
‫‪4‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪1‬‬ ‫‪1‬‬
‫‪4‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪1‬‬
‫‪4‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪1‬‬
‫‪4‬‬ ‫‪4‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫‪4‬‬
‫‪4‬‬ ‫‪4‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪4‬‬
‫‪4‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪4‬‬
‫‪4‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪4‬‬

‫‪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‬معماري كامپيوتر‬

‫فصل دوم‪ :‬قطعات ديجيتال‬


‫‪ TTL‬بهشتر بـه صـورت مـدارهاس مجتمـع ‪ 14‬پايـه عرضـه‬ ‫‪SSI‬‬ ‫‪1‬ـ قطعه هاس‬
‫ميشوند‪ .‬دو پايه براس منبع ت ذيه در نظر گرفته شده و بقهه براس پايانـههاس ورودس‬
‫و خروجي به كار ميروند‪ .‬چند مدار از نوع هاس زير را در چنهن بسـتهاس ميتـوا‬
‫گذاشت؟‬
‫الف) معكوسكننده‪:‬‬
‫ب) گیت ‪ OR‬انثصاری دو ورودی‪:‬‬
‫ج) گیت ‪ OR‬سه ورودی‪:‬‬
‫د) گیت ‪ AND‬چهار ورودی‪:‬‬
‫هك) گیت ‪ NOR‬پنج ورودی‪:‬‬
‫و) گیت ‪ NAND‬هشت ورودی‪:‬‬
‫ز) فلیپ فالپ ‪ JK‬ساعتدار با پاككننده غیر همزمان‪:‬‬

‫حل‪:‬‬
‫الف) معكوسكننده‪:‬‬
‫‪12‬‬
‫هر معكوسكننده ‪ 6‬پین دارد‪.‬‬ ‫‪‬‬ ‫‪6‬‬ ‫گیت‬
‫‪2‬‬
‫ب) گیت ‪ OR‬انثصاری دو ورودی‪:‬‬
‫‪12‬‬
‫دو ورودی ‪ 3‬پین دارد‪.‬‬ ‫‪XOR ‬‬ ‫‪4‬‬ ‫گیت‬
‫‪3‬‬
‫ج) گیت ‪ OR‬سه ورودی‪:‬‬
‫‪12‬‬
‫سه ورودی ‪ 1‬پین دارد‪.‬‬ ‫‪OR ‬‬ ‫‪3‬‬ ‫گیت‬
‫‪4‬‬
‫د) گیت ‪ AND‬چهار ورودی‪:‬‬
‫‪12‬‬
‫چهار ورودی ‪ 5‬پین دارد‪.‬‬ ‫‪AND‬‬ ‫‪2‬‬ ‫گیت‬
‫‪5‬‬
‫معماري كامپيوتر ‪21 /‬‬

‫هك) گیت ‪ NOR‬پنج ورودی‪:‬‬


‫‪12‬‬
‫پنج ورودی ‪ 6‬پین دارد‪.‬‬ ‫‪NOR ‬‬ ‫‪2‬‬ ‫گیت‬
‫‪6‬‬
‫و) گیت ‪ NAND‬هشت ورودی‪:‬‬
‫‪12‬‬
‫هشت ورودی ‪ 5‬پین دارد‪.‬‬ ‫‪NAND‬‬ ‫‪1‬‬ ‫گیت‬
‫‪9‬‬
‫ز) فلیپ فالپ ‪ JK‬ساعتدار با پاككننده غیر همزمان‪:‬‬
‫با توجه به غیر همزمان بودن پايههای ‪ Clock‬و ‪ Reset‬جداگانه برای هر فلیپ فالپ‬
‫در نظر گرفته ميشود پس‪:‬‬
‫‪12‬‬
‫هر فلیپ فالپ ‪ 6 JK‬پین‬ ‫‪‬‬ ‫‪2‬‬ ‫فلیپ فالپ‬
‫‪6‬‬
‫‪2‬ـ تراشههاس ‪ MSI‬موجود توابع ديجهتال سادهاس مانند دييـدر مـولتي پليسـر‪،‬‬
‫ثباتها و شمارندهها را ممين ميسازند‪ .‬تراشههاس زير مـدارهاس مجتمـع از نـوع‬
‫‪ TTL‬هستند كه اين توابع را تولهد ميكنند‪ .‬ويژگي هاس آنهـا را در كتـاب راهنمـا‬
‫يافته و آنها را با تراشههاس متناظر ارائه شده در اين فصل مقايسه كنهد‪.‬‬
‫الف) ‪ IC‬نوع ‪ 41455‬ديكدر دوتايي ‪ 6‬به ‪1‬‬
‫ب) ‪ IC‬نوع ‪ 45454‬مولتي پلكسر چهار تايي ‪ 6‬به ‪ 4‬خطي‬
‫ج) ‪ IC‬نوع ‪ 41451‬شیفت رجیستر چهار بیت دو طرفه با بار شدن موازی‬
‫د) ‪ IC‬نوع ‪ 41463‬شمارنده دو دويي چهار بیت با بار شكدن مكوازی و پكاك شكدن‬
‫همزمان‬
‫حل‪ :‬جستجو و مقايسه با مدلهای شكلهای فصل ‪ 6‬كتاب‬

‫‪3‬ـ يك دييدر ‪ 5‬به ‪ 32‬را با چهار دييدر ‪ 3‬به ‪ 8‬داراس ورودس تواناساز و يـك‬
‫دييدر ‪ 2‬به ‪ 4‬بسازيد‪ .‬از بالك دياگرام مشابه شيل ‪4‬ـ‪ 2‬استفاده كنهد‪.‬‬
‫حل‪ :‬از ديكدر ‪ 6‬به ‪ 1‬به منظور فعالسازی هر كدام از ديككدرهای ‪ 3‬بكه ‪ 8‬اسكتفاده‬
‫ميشود‪.‬‬
‫‪ / 28‬معماري كامپيوتر‬

‫‪-4‬نمودار منطقي يك دييدر ‪ 2‬به ‪ 4‬را فقط با گهـت ‪ NOR‬رسـم كنهـد‪ .‬ورودس‬
‫تواناساز را نهز در نظر بگهريد‪.‬‬
‫ورودی‬ ‫‪NOR‬‬ ‫حل‪ :‬در حالت كلي برای ساخت گیت ‪ NOT‬از گیتهای ‪ NAND‬و‬
‫به پايههای متصل به هم اين گیتها متصل ميشود‪.‬‬

‫برای دياگرام منطقي ديكدر ‪ 6‬به ‪ 1‬داريم ‪:‬‬


‫معماري كامپيوتر ‪29 /‬‬

‫‪ -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‬داريم‪:‬‬

‫‪S1‬‬ ‫‪S0‬‬ ‫‪YA‬‬


‫‪1‬‬ ‫‪1‬‬ ‫‪A0‬‬
‫‪1‬‬ ‫‪4‬‬ ‫‪A1‬‬
‫‪4‬‬ ‫‪1‬‬ ‫‪A2‬‬
‫‪4‬‬ ‫‪4‬‬ ‫‪A3‬‬
‫‪ / 12‬معماري كامپيوتر‬

‫)‪(select‬‬ ‫جدول تابع‬

‫‪Dual‬‬ ‫البته در صورت سوال كتاب التین بالك دياگرام يک مولتي پلكسر دوگانـه (‬
‫‪ )MUX‬درخواست شده است كه داريم‪:‬‬

‫‪S1‬‬ ‫‪S0‬‬ ‫‪YA‬‬ ‫‪YB‬‬


‫‪1‬‬ ‫‪1‬‬ ‫‪A0‬‬ ‫‪B0‬‬
‫‪1‬‬ ‫‪4‬‬ ‫‪A1‬‬ ‫‪B1‬‬
‫‪4‬‬ ‫‪1‬‬ ‫‪A2‬‬ ‫‪B2‬‬
‫‪4‬‬ ‫‪4‬‬ ‫‪A3‬‬ ‫‪B3‬‬

‫‪9‬ـ يك گهت ‪ AND‬دو ورودس را در ثبات شيل ‪7‬ـ‪ 2‬جاس دههد و خروجي اين‬
‫گهت را به ورودسهـاس سـاعت همـه فلهـپ فالپهـا وصـل كنهـد‪ .‬ييـي از‬
‫پالسهاس ساعت را از مولد پالس ساعت دريافت ميكنـد‪.‬‬ ‫‪AND‬‬ ‫ورودسهاس گهت‬
‫ورودس ديگر گهت ‪ ،AND‬كنترل بار شد موازس را فراهم ميكنـد‪ .‬كـاركرد ثبـات‬
‫جديد را شرح دههد‪.‬‬
‫حل‪:‬‬
‫معماري كامپيوتر ‪11 /‬‬

‫‪ 4‬است امكان بار موازی رجیستر فراهم ميآيد و‬ ‫”‪“parallel load‬‬ ‫زماني كه ورودی‬
‫زماني كه اين ورودی ‪ 1‬است خروجي گیت ‪ 1 AND‬شده و اطالعات رجیستر به طور‬
‫تضمین شده نگهداری خواهد شد‪ .‬يعنكي بكا تغییكر احتمكالي و اشكتباهي ورودیهكای‬
‫‪  I0  I3 ‬بارگذاری صورت نميگیرد‪.‬‬
‫‪11‬ـ هدف گهت بافر در ورودس ساعت ثبات شيل ‪ 8‬ـ ‪ 2‬چهست؟‬
‫حل‪ :‬با توجه به توضیثات صفثهی ‪ 56‬كتاب اين گیكت تكوان دريكافتي الزم را از‬
‫مولد ساعت كاهش ميدهد‪ .‬هر گاه پالس ساعت فقط به ورودی يكک گیكت در عكو‬
‫چند گیت وصل شود توان كمتری الزم است ولي چنانچه اين گیت بافر مورد اسكتفاده‬
‫قرار نگرفته و پالس ساعت مستقیما به هر چهار ورودی وصكل شكود‪ .‬تكوان بیشكتری از‬
‫مولد پالس اخذ خواهد شد‪ .‬ساختمان اين بافر ميتواند به صورت زير باشد‪.‬‬

‫‪ -11‬به ثبات داراس اميا بار شد مـوازس در شـيل ‪ 8‬ـ ‪ ،2‬اميـا ورودس‬
‫پاككننده را اضافه كنهد‪.‬‬
‫حل‪:‬‬
‫‪ / 14‬معماري كامپيوتر‬

‫جدول تابع به صورت زير است‪:‬‬


‫بارگذاری‬ ‫پاككننده‬
‫‪Load‬‬ ‫‪Clear‬‬ ‫‪D‬‬ ‫عمل‬
‫‪1‬‬ ‫‪1‬‬ ‫)‪Q(t‬‬ ‫بالتغییر‬
‫‪1‬‬ ‫‪4‬‬ ‫‪1‬‬ ‫پاك كردن به ‪1‬‬
‫‪4‬‬ ‫‪X‬‬ ‫‪I0‬‬ ‫‪I0‬‬ ‫بار كردن‬

‫‪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‬‬ ‫‪2k16‬‬ ‫الف)‬
‫‪4G 64‬‬ ‫‪)4‬‬ ‫‪16M 32‬‬ ‫ج)‬
‫حل‪:‬‬
‫‪2K16  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‬‬

‫ج) ‪16M  32  224  4  226 bytes‬‬

‫‪4G  64  232  8  235 bytes‬‬ ‫د)‬


‫‪21‬ـ چند تراشه حافظه ‪ 128×8‬براس ساخت يك حافظه ‪ 4196×16‬نهاز است؟‬
‫حل‪ :‬در اين مسائل ابتدا تعیین ميكنیم كه شكل حافظه نهكايي براسكاس حافظكه در‬
‫دسترس چگونه است‪ .‬با توجه به تعداد بیتها‪:‬‬
‫‪4096 16 212 24‬‬
‫‪‬‬ ‫‪‬‬ ‫‪ 26  64‬‬ ‫تراشه‬
‫‪128  8 27  23‬‬

‫‪22‬ـ با داشتن يك ‪ 32×8 ROM‬بهتي و يك ورودس تواناساز اتصابت خـارجي‬


‫‪ 128×8‬و يك دييدر را نشا دههد‪.‬‬ ‫‪ROM‬‬ ‫بزم براس ساخت يك‬
‫حل‪:‬‬
‫‪32  8  25  8‬‬ ‫‪ 5‬خط آدرس‬ ‫‪ 8‬خط داده‬
‫‪128  8  27  8‬‬ ‫‪ 4‬خط آدرس‬ ‫‪ 8‬خط داده‬
‫‪ 468×8‬فعالسازی‬ ‫‪ROM‬‬ ‫با استفاده از يک ديكدر ‪ 6×1‬و دو بیت با ارزش آدرس‬
‫هر كدام از ‪ ROM‬های ‪ 36×8‬را انجام ميدهیم‪.‬‬
‫‪ / 41‬معماري كامپيوتر‬

‫‪23‬ـ يك تراشه ‪ 4196×8 ROM‬بهتي داراس دو ورودس تواناساز بوده و بـا منبـع‬
‫ت ذيه ‪ 5‬ولت كار ميكند‪ .‬چند پايه براس بسته مدار مجتمع نهاز است؟ بالك دياگرام‬
‫آ را رسم و پايانههاس ورودس و خروجي را نامگذارس كنهد‪.‬‬
‫حل‪:‬‬
‫‪4096  8  212  8‬‬ ‫‪ 8‬خط داده «خروجي» ‪ 46 +‬خط آدرس‬
‫پین ‪ = 61‬دو پین منبع تغذيه برای ‪ ACC‬و زمین ‪ +‬دو ورودی تواناساز‬

‫بدين ترتیب بسته مدار مجتمع را رسم و پايانهها را نامگذاری ميكنیم ‪:‬‬
‫معماري كامپيوتر ‪40 /‬‬

‫دادهها‬ ‫فصل سوم‪ :‬نماي‬


‫‪1‬ـ اعداد دودويي زير را به دهدهي تبديل كنهد‪.‬‬
‫حل‪ :‬با توجه به ارزش رقمها در مبناس ‪:2‬‬

‫‪1011102  32  8  4  2  46‬‬
‫‪11101012  64  32  16  4  1  117‬‬
‫‪1101101002  256  128  32  16  4  436‬‬
‫‪2‬ـ اعداد زير را‪ ،‬كه پايههايشا مشخص شده به دهدهي تبديل كنهد‪.‬‬
‫‪(50)4‬‬
‫حل‪:‬‬
‫با توجه به ارزش ارقام در پايه مربوطه‪:‬‬
‫‪121213  34  2 33  32 2 3  1 81 54  9  6  1 15151‬‬
‫!‬

‫‪43105  4  53  3  52  5  500  75  5  580‬‬


‫‪(50)4= 5*7 = 35‬‬
‫‪198 12  122  9 12  8  144  108  8  260‬‬
‫‪3‬ـ اعداد دهدهي زير را به دودويي تبديل كنهد‪.‬‬
‫حل‪:‬‬

‫‪123110  1024  128  64  8  4  2  1 210  27  26  23  22  21  20‬‬


‫بیتهای متناظر با توانهايي از ‪ 6‬كه ظاهر شدهاند ‪ 4‬و بقیه صفر هستند‪.‬‬
‫پس داريم‪123110  210  27  26  23  22  21  20  100110011112 :‬‬
‫روش ديگر استفاده از تقسیم متوالي است كه در آن معكوس دنبالكهی باقيمانكدهها‬
‫معادل عدد در مبنای دلخواه (در اينجا ‪ )6‬است‪.‬‬
‫‪ / 42‬معماري كامپيوتر‬

‫تقسیم را تا جايي ادامه ميدهیم كه خارج قسمت از مبنای مورد نظكر (‪ )6‬ككوچكتر‬
‫شود‪.‬‬
‫‪ : 44441144114‬دنباله‬
‫‪ : 41144114444‬معكوس دنباله‬
‫همانند مثال اول داريم‪:‬‬
‫‪673 10  512  128  32  1 29  27  25  20  101010001‬‬‫‪2 2‬‬
‫)‪(1010100001‬‬

‫‪1998 10  1024  512  256  128  64  8  4  2‬‬


‫‪210  29  28  27  26  23  22  21‬‬
‫‪ 111110011102‬‬
‫همانطور كه ديديد روش اول يک روش سرانگشتي برای مثاسكبه راحكتتر اسكت‬
‫ولي روش دوم يک الگوريتم دقیو است‪.‬‬
‫‪4‬ـ اعداد دهدهي زير را به مبناهاس مشخص شده تبديل كنهد‪.‬‬
‫ب) ‪ 1938‬به شانزده شانزدهي‬ ‫الف) ‪ 7562‬به هشت هشتي‬
‫ج) ‪ 175‬به دودويي‬
‫حل‪ :‬ميتوان از همان روش تقسیم متوالي استفاده كرد با در نظر گرفتن اين كه ارقام‬
‫مبنای ‪ 46‬اعداد ‪ (A)41‬تا ‪ (F) 45‬را در بر ميگیرند‪.‬‬
‫پس داريم‪:‬‬
‫‪(7562)10 = (16612)8‬‬
‫‪1938 10   79216‬‬
‫‪(175)10 = (10101111)2‬‬
‫را به دودويي و هشت هشتي تبديل نمايهد‪.‬‬ ‫‪F3A7C2‬‬ ‫‪ 5‬ـ عدد شانزده شانزدهي‬
‫معماري كامپيوتر ‪41 /‬‬

‫حل‪ :‬با توجه به اينكه ‪ 16‬توا چهارم ‪ 2‬است‪ ،‬هر رقم مبناس ‪ 16‬معادل ‪ 4‬رقـم‬
‫مبناس ‪ 2‬است كه با جايگزيني ارقام عدد با معادل دودويي آ داريم‪:‬‬

‫‪F3 A7C2  1111 0011 1010 0111 1100 0010‬‬

‫همچنین با توجه اينكه ‪ 8‬توان سوم ‪ 6‬است هر سه رقم مبنای ‪ 6‬معادل يک رقم مبنای‬
‫‪ 8‬است پس با جايگزيني از سمت راست داريم‪:‬‬
‫‪111 100 111 010 011 111 000 010‬‬
‫كه معادل است با‬
‫‪74723702‬‬

‫و ‪ x  8‬باشـد‪،‬‬ ‫‪x5‬‬ ‫برابر‬ ‫‪x2  10x  31  0‬‬ ‫‪ 6‬ـ اگر جواب معادله درجه دوم‬
‫پايه عددها چهست؟‬
‫حل‪:‬‬
‫‪x‬‬‫‪2‬‬
‫‪‬‬
‫‪ 10x  31   x  5  x  8 10‬‬
‫‪r‬‬

‫‪ x2   5  8 10 x   4010‬‬


‫با معادل قرار دادن ضرايب داريم‪:‬‬
‫‪10r  13 10‬‬
‫‪0  r  13  r  13‬‬
‫همچنین‪ 31r  4010 1 3  r  40 3 r  39 :‬‬
‫‪ r  13‬‬
‫‪x2   r 0 x  3 r  1  025  5r  3 r  1  0‬‬ ‫يا (‪:)x=5‬‬
‫‪2r  26‬‬

‫‪r  13‬‬
‫‪ / 44‬معماري كامپيوتر‬

‫‪7‬ـ مقدار همه بهتهاس يك ثبات ‪ 12‬بهتي كه عدد ‪ 215‬دهدهي را نگه ميدارد‪:‬‬
‫الف) به دودويي‪:‬‬

‫‪215 10 128  64  16  4  2  1 ‬‬


‫‪110101112‬‬
‫‪ 000011010111‬‬
‫ب) به هشت هشتي كد شده با دودويي‪:‬‬
‫‪000 011 010 111‬‬
‫‪0‬‬ ‫‪3‬‬ ‫‪2‬‬ ‫‪7‬‬
‫ج) به شانزده شانزدهي كد شده با دودويي‪:‬‬
‫‪0000 1101 0111‬‬
‫‪0 D‬‬ ‫‪7‬‬
‫د) به دهدهي كد شده با دودويي‪:‬‬
‫‪0010‬‬ ‫‪0001‬‬ ‫‪0101‬‬
‫‪2‬‬ ‫‪1‬‬ ‫‪5‬‬
‫همانطور كه ميبینیم هشت هشتي و شانزده شانزدهي كد شده با دودويي يک عدد‬
‫با دودويي آن عدد معادل است‪.‬‬
‫‪ 8‬ـ آرايش يك ثبات ‪ 24‬بهتي را كه محتوايش عدد دهدهي ‪ 295‬است‪:‬‬
‫‪295 10 0000‬‬ ‫‪0000 0000 0001 0010 01111‬‬ ‫الف) به دودويي‪:‬‬
‫‪0000 0000‬‬ ‫ب) به ‪0000 0010 1001 0101 :BCD‬‬

‫ج) به ‪ ASCII‬با استفاده از هشت هشتي با تواز زوج‪:‬‬

‫‪10110010‬‬ ‫‪00111001‬‬ ‫‪00110101‬‬


‫در ‪ 3‬عدد دودويي باب‪ ،‬بهت تواز زوج به با ارزشترين بهت توجه شود‪.‬‬

‫‪9‬ـ نام خود را با يك كد ‪ 8‬بهتي به ‪ ASCII‬نوشته و بهـت سـمت چـپ را ‪ 1‬در‬


‫نظر بگهريد‪ .‬بهن نام و نام خانوادگي خود از فضاس خالي استفاده كنهد و در صورت‬
‫معماري كامپيوتر ‪41 /‬‬

‫استفاده از حرف اول نام‪ ،‬پس از آ نقطه بگذاريد‪.‬‬


‫‪Morris Mano‬‬ ‫حل‪:‬‬
‫)‪M(01001101) o(01101111) r(01110010) r(01110010) i(01101001) s(01110011‬‬
‫)‪(01000000) M(01001101) a(01100001) n(01101110) o(01101111‬‬

‫‪11‬ـ كد ‪ ASCII‬زير را رمزگشايي كنهد‪:‬‬


‫‪1001010 1001111‬‬ ‫‪1001000 1001110‬‬ ‫‪0100000 1000100‬‬ ‫‪1001111 1000101‬‬
‫حل‪ :‬به ترتهب داريم‬

‫‪J‬‬ ‫‪O‬‬ ‫‪H‬‬ ‫‪N‬‬ ‫''‬ ‫‪D‬‬ ‫‪O‬‬ ‫‪E‬‬


‫‪JOHN DOE‬‬
‫‪11‬ـ متمم ‪ 9‬اعداد دهدهي هشت رقمي زير را بدست آوريد‪:‬‬

‫‪12349876‬‬ ‫;‬ ‫‪00980100‬‬ ‫;‬ ‫‪90009951‬‬ ‫;‬ ‫‪00000000‬‬


‫حل‪ :‬به ترتهب داريم‬

‫‪87650123‬‬ ‫;‬ ‫‪99019899‬‬ ‫;‬ ‫‪09990048‬‬ ‫;‬ ‫‪99999999‬‬


‫‪12‬ـ متمم ‪ 11‬اعداد دهدهي شش رقمي زير با دست آوريد‪.‬‬

‫; ‪123900‬‬ ‫‪090657‬‬ ‫;‬ ‫‪100000‬‬ ‫;‬ ‫‪000000‬‬


‫حل‪ :‬به ترتهب داريم‬

‫‪876100‬‬ ‫;‬ ‫‪909343‬‬ ‫;‬ ‫‪900000‬‬ ‫‪; 000000‬‬


‫‪13‬ـ متممهاس ‪ 1‬و ‪ 2‬اعداد دودويي هشت رقمي زير را به دست آوريد‪.‬‬
‫حل‪:‬‬
‫‪10101110 , 10000001 , 10000000 , 00000001 , 00000000‬‬
‫متمم ‪: 4‬‬
‫‪01010001 , 01111110 , 01111111 , 11111110 , 11111111‬‬
‫‪01010010 , 01111111 , 10000000 , 11111111 , 00000000‬‬ ‫متمم ‪:6‬‬
‫برای متمم ‪ 4‬به جای ‪ 4 1‬و به جای ‪ 1 4‬جايگزين ميكنیم‪.‬‬
‫برای متمم ‪ 6‬از سمت راست شروع كرده تا رسیدن به اولكین ‪ 4‬صكفرهای عكدد را‬
‫بدون تغییر ميگذرايم همچنین اولین‪ 4‬را بدون تغییر ميگذاريم و تمام بیتهای سمت‬
‫‪ / 46‬معماري كامپيوتر‬

‫چپ اولین يک (از سمت راست) را متمم ‪ 4‬ميكنیم‪.‬‬


‫‪14‬ـ تفري را با اعداد دهدهي بدو عالمت زير و بـا مـتمم ‪ 11‬مفـروق انجـام‬
‫دههد‪:‬‬
‫الف) ‪ 1321‬ـ ‪5251‬‬
‫‪5250‬‬
‫‪ 8679‬‬
‫‪1 3929‬‬
‫كه متمم ‪ 11‬آ ‪ -6887 ،‬است‪.‬‬
‫ب) ‪ 8641‬ـ ‪1753‬‬
‫صفر بود ن رقم نقلي به معني منفي بودن حاصل است كه برای بدست آمدن حاصكل‬
‫بايد نتیجه را متمم ‪ 41‬كنیم‪.‬‬
‫‪1753‬‬
‫‪ 1360‬‬
‫‪0 3113‬‬
‫كه متمم ‪ 11‬آ ‪ -080 ،‬است‪.‬‬
‫ج) ‪111‬ـ‪21‬‬
‫مانند قسمت ب داريم‪:‬‬
‫‪020‬‬
‫‪900‬‬
‫‪0 920‬‬
‫د) ‪251‬ـ‪1211‬‬
‫‪1200‬‬
‫‪ 9750‬‬
‫‪10950‬‬
‫‪15‬ـ تفري را با اعداد دودويي بدو عالمت زيـر و بـا مـتمم ‪ 2‬مفـروق انجـام‬
‫دههد‪.‬‬
‫الف) ‪11111‬ـ‪11111‬‬
‫معماري كامپيوتر ‪41 /‬‬

‫‪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‬ميشود‬

‫د) ‪ 1111111‬ـ ‪1111111‬‬


‫‪1010100‬‬
‫‪0101100‬‬
‫‪10000000‬‬
‫‪84-84=0‬‬

‫‪16‬ـ اعمال حسابي (‪ )+42( + )-13‬و (‪ )-42( – )-13‬را در دودويي و با متمم‬


‫‪ 2‬عالمتدار براس اعداد منفي انجام دههد‪.‬‬
‫حل‪:‬‬
‫‪42  0101010‬‬ ‫‪ 13 0001101‬‬
‫‪42  1010110‬‬ ‫‪ 13 1110011‬‬
‫‪(42) 0101010‬‬ ‫‪(42) 1010110‬‬
‫‪ 13  1110011‬‬ ‫‪(13 ) 0001101‬‬
‫‪ 29  0011101‬‬ ‫‪ 29  1100011‬‬
‫‪ / 48‬معماري كامپيوتر‬

‫هما طور كه ميدانهم در صورتي كه حاصل منفي باشـد‪ ،‬بـه صـورت مـتمم ‪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  21  101110/12‬‬
‫=‪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‬‬

‫‪22‬ـ عدد دهدهي ‪ 8621‬را به شيلهاس زير بدست آوريد‪.‬‬


‫‪1000 0110 0010 0000‬‬ ‫الف) ‪:BCD‬‬
‫‪1011 1001 0101 0011‬‬ ‫ب) افزودني ‪: 3‬‬
‫‪1110 1100 0010 0000‬‬ ‫ج) كد ‪: 2421‬‬
‫‪8192  256 128  32  8  4‬‬ ‫د) دودويي‪:‬‬

‫‪10000110101100‬‬
‫‪23‬ـ ده رقم ‪ BCD‬را با تواز زوج در سمت چپ آ (در كل پنج بهـت در هـر‬
‫رقم) نشا دههد‪ .‬اين كار را با تواز فرد تيرار كنهد‪.‬‬
‫حل‪:‬‬
‫دهدهي‬ ‫‪ BCD‬با توازن زوج‬ ‫‪ BCD‬با توازن فرد‬
‫معماري كامپيوتر ‪11 /‬‬

‫‪1‬‬ ‫‪11111‬‬ ‫‪41111‬‬


‫‪4‬‬ ‫‪41114‬‬ ‫‪11114‬‬
‫‪6‬‬ ‫‪41141‬‬ ‫‪11141‬‬
‫‪3‬‬ ‫‪11144‬‬ ‫‪41144‬‬
‫‪1‬‬ ‫‪41411‬‬ ‫‪11411‬‬
‫‪5‬‬ ‫‪114114‬‬ ‫‪41414‬‬
‫‪6‬‬ ‫‪11441‬‬ ‫‪41441‬‬
‫‪4‬‬ ‫‪41444‬‬ ‫‪11444‬‬
‫‪8‬‬ ‫‪44111‬‬ ‫‪14111‬‬
‫‪5‬‬ ‫‪14114‬‬ ‫‪44114‬‬

‫توازن فرد عكس توازن زوج است‪.‬‬


‫‪24‬ـ عدد دهدهي ‪ 3984‬را به صورت كد ‪ 2421‬جدول ‪ 6‬ـ‪ 3‬نشا دههـد‪ .‬تمـام‬
‫مـتمم نـه عـدد‬ ‫بهتهاس عدد كد شده را متمم كنهد و نشا دههد كه نتهجه همـا‬
‫‪ 3984‬با كد ‪ 2421‬است‪.‬‬
‫حل‪:‬‬

‫‪3984 0011 1111 1110 0100‬‬


‫كه متمم آ ميشود‬
‫‪1100 0000 0001 1011  6015 ‬‬
‫كه همان متمم ‪ 5‬عدد ‪ 3581‬است (اين موضوع به دلیل خاصكیت خكود متمكي ككد‬
‫‪ 6164‬است‪).‬‬
‫‪25‬ـ نشا دههد كه تابع ‪ OR‬انحصارس ‪ x  A  B  C  D‬يك تابع فرد اسـت‪.‬‬
‫را بدسـت آورده و‬ ‫‪z  C D‬‬ ‫ييي راه اين است كه جدول درسـتي ‪ y  A  B‬و‬
‫سپس جدول درستي ‪ x  y  z‬را بدست آوريد‪ .‬نشا دههـد كـه ‪ x  1‬اسـت بـه‬
‫‪ / 14‬معماري كامپيوتر‬

‫شرطي كه تعداد ‪ 1‬ها در ‪ C ، B ،A‬و ‪ D‬فرد باشد‪.‬‬


‫حل‪:‬‬

‫‪26‬ـ مدارهاس يك سازنده تواز سه بهتي و بررسي كننده تواز چهـار بهتـي را‬
‫با استفاده از بهت تواز زوج بدست آوريد (مداراهاس شيل ‪3‬ـ‪ 3‬تواز فـرد را بـه‬
‫كار بردهاند‪).‬‬
‫حل‪:‬‬
‫‪ Eror x y z p ‬و ‪p  x  y  z‬‬

‫اين مدارها همانند شيل ‪ 3‬ـ‪ 3‬هستند با اين تفاوت كه حبابهـاس متممسـاز را‬
‫در خروجي خود ندارند‪.‬‬
‫معماري كامپيوتر ‪11 /‬‬
‫‪ / 16‬معماري كامپيوتر‬

‫فصل چهارم‪ :‬انتقال ثباتها و ريزعملها‬


‫‪1‬ـ بالك دياگرام سختافزارس مشابه شيل ‪2‬ـ‪( 4‬الف) كه عبارت انتقال ثبـاتي‬
‫زير را پهادهسازس ميكند رسم كنهد‪:‬‬

‫‪yT2 :R2  R1 , R1  R2‬‬


‫بكرای انجكام‬ ‫‪T2‬‬ ‫نشكاندهندهی لكزوم فعكال بكودن همزمكان ‪ y‬و‬ ‫عبـارت ‪yT2‬‬ ‫حل‪:‬‬
‫عملیاتها است‪ .‬پس‪:‬‬

‫توضیح آنككه در ارتبكاب بكا صكثت دادههكای موجكود در رجیسكترها در عملیكات‬


‫‪setup hold time propagation time‬‬ ‫اين صثت با توجكه بكه مفكاهیم‬ ‫)‪(swap‬‬ ‫جابجايي‬
‫‪ time‬مربوب به سیگنال ‪ clock‬تفسیر ميگردد‪.‬‬
‫بـا يـك مـولتي پليسـر ‪ 4×1‬بـه‬ ‫‪R 3 , R2 , R1 , R0‬‬ ‫‪2‬ـ خروجـي چهـار ثبـات‬
‫وصل شدهاند‪ .‬هر ثبات هشت بهتي است‪ .‬انتقـال هـاس‬ ‫‪R5‬‬ ‫ورودسهاس ثبات پنجم‬
‫تا ‪ T3‬به صورت زير تعههن ميشود‪:‬‬ ‫‪T0‬‬ ‫بزم توسط چهار مت هر زما بندس‬

‫‪T0 :R5  R0‬‬

‫‪T1 : R5  R1‬‬
‫معماري كامپيوتر ‪11 /‬‬

‫‪T2 :R5  R2‬‬

‫‪T3 :R 5  R 3‬‬
‫متغیرهای زمان دو به دو منثصراند‪ .‬يعني در هر زمان معین فقط يک متغیر ‪ 4‬است‬
‫در حالي كه سه متغیكر ديگكر ‪ 1‬هسكتند‪ .‬بكالك ديكاگرامي رسكم كنیكد ككه نشكاندهنده‬
‫پیادهسازی سختافزاری انتقال ثباتي باشد‪ .‬اتصاالت الزم برای چهار متغیر زمانبندی بكه‬
‫را نیز نشان دهید‪.‬‬ ‫‪R5‬‬ ‫خطوب انتخاب مولتي پلكسر و ورودی بار كردن ثبات‬
‫‪S0‬‬ ‫و‬ ‫‪S1‬‬ ‫حل‪ :‬جكدول درسكتي را بكا توجكه بكه توضكیثات سكؤال آمكاده مكيكنیم‪:‬‬
‫ورودیهای انتخاب ‪ MUX‬هستند‪.‬‬
‫‪T0‬‬ ‫‪T1‬‬ ‫‪T2‬‬ ‫‪T3‬‬ ‫‪S1‬‬ ‫‪S0‬‬ ‫‪Load‬‬

‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪X‬‬ ‫‪X‬‬ ‫‪1‬‬


‫‪4‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪4‬‬
‫‪1‬‬ ‫‪4‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫‪4‬‬
‫‪1‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫‪1‬‬ ‫‪4‬‬
‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪4‬‬

‫‪S1  T2  T3‬‬

‫‪S0  T1  T3‬‬

‫‪Load  T0  T1  T2  T3‬‬
‫پس مدار به شكل زير خواهد بود‪:‬‬
‫‪ / 18‬معماري كامپيوتر‬

‫‪3‬ـ عبارت كنترل شرطي زير را با دو عبارت انتقال ثباتي با توابـع كنتـرل نشـا‬
‫دههد‪:‬‬

‫‪IF  P  1 then  R1  R2  elseif  Q  1 then  R1  R 3 ‬‬


‫حل‪:‬‬

‫‪P :R1  R2‬‬

‫‪P'Q :R1  R 3‬‬


‫دلیل استفاده از '‪ P‬در عبارت دوم لفكظ ”‪ “else‬در عبكارت كنتكرل صكورت سكؤال‬
‫است‪.‬‬
‫‪4‬ـ براس اينيه سهستم گذرگاه شيل ‪3‬ـ‪ 4‬داده را از هر ثبات به هر ثبـات ديگـر‬
‫منتقل كند چه بايد كرد؟ به ويژه اتصابتي را كه بايد براس فراهم كرد يك مسهر از‬
‫خروجيهاس ثبات ‪ C‬به ورودسهاس ثبات ‪ A‬وصل نمود نشا دههد‪.‬‬
‫حل‪ :‬برای اين كار ‪ 1‬خط گذرگاه مشترك را به ورودی ‪ 1‬رجیستر وصل مينمايیم‪.‬‬
‫معماري كامپيوتر ‪19 /‬‬

‫همچنین به منظور انتخاب رجیستر مقصد با استفاده از يک ديكدر ‪ 6×1‬و ورودیهكای‬


‫رجیستر مقصد را فعال كرده تا داده از روی گكذرگاه مشكترك بكر روی‬ ‫‪Load,S'1 , S'0‬‬

‫رجیستر مقصد بارگذاری شود‪.‬‬


‫را اعمكال‬ ‫‪S1 S0 10 , A‬‬ ‫برای نمونه برای انتقال مثتويات رجیسكتر ‪ C‬بكه رجیسكتر‬
‫كرده تا رجیستر ‪ C‬مبدأ قرار گیرد‪ .‬سپس ‪ Load‬رجیستر ‪ A‬را فعال كرده و ككالك پكالس‬
‫به منظور انتقال «بارگذاری» اعمال ميكنیم‪.‬‬
‫‪ 5‬ـ يك سهستم گذرگاه مانند شيل ‪3‬ـ‪ 4‬رسم كنهد‪ ،‬ولي از بافرهاس سه حالته و‬
‫دييدر به جاس مولتي پليسر استفاده كنهد‪.‬‬
‫حل‪ :‬دو روش طراحي با استفاده از بافر سه حالته ميتوان ارائه داد‪.‬‬
‫روش اول به اين صورت است كه از بافرهای سه حالته برای انتخكاب هكر بیكت از‬
‫بیتهای ‪ 1‬ام اول دوم و سوم در همه رجیسترها استفاده ميشود‪ .‬به شكل زير‪:‬‬

‫بیت ‪ 1‬برای گذرگاه‬

‫بیت ‪ 4‬برای گذرگاه‬

‫ديكدر‬
‫‪2*4‬‬
‫فعال ساز‬
‫‪ / 61‬معماري كامپيوتر‬

‫تولید بیتهای ‪ 6‬و ‪ 3‬برای گذرگاه مانند باال طراحي شود‪.‬‬


‫روش دوم به اين صورت است كه از بافرهای سه حالته برای فعال يا امپدانس بكاال‬
‫كردن يک رجیستر كامل استفاده ميشود‪ .‬به شكل زير‪:‬‬

‫‪ 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‬ـ سختافزارس را نشا دههد كه عبارت زير را پهادهسـازس كنـد‪ .‬بـراس تـابع‬
‫كنترل گهتهاس منطقي و براس شمارنده دودويي با ورودس تواناساز شمارش‪ ،‬بالك‬
‫دياگرام را قرار دههد‪.‬‬

‫‪xyT0  T1  y'T2 : AR  AR 1‬‬


‫حل‪:‬‬
‫ميتوان عمل ‪ AR  AR 1‬را با شمارش دودويي انجام داد‪ .‬پس‪:‬‬

‫در نظر بگهريد‪.‬‬ ‫‪R2‬‬ ‫و‬ ‫‪R1‬‬ ‫‪11‬ـ عبارت انتقال ثباتي زير را براس دو ثبات ‪ 4‬بهتي‬

‫‪xT : R1  R1  R2‬‬

‫‪x 'T : R1  R2‬‬


‫معماري كامپيوتر ‪61 /‬‬

‫‪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‬‬

‫‪x ' y  R1  R1 1‬‬ ‫را افزايش بده‬ ‫‪R1‬‬


‫‪ / 64‬معماري كامپيوتر‬

‫يک ثبات ‪ 1‬بیت است‪.‬‬ ‫‪R2‬‬ ‫يک شمارنده با بار شدن موازی و‬ ‫‪R1‬‬ ‫كه‬
‫حل‪:‬‬

‫‪Ctrl Unit‬‬ ‫شده است ‪ y‬و ‪ x‬طبو طراحكي‬ ‫نكته مهم در اين سؤال آن است كه فر‬
‫‪Increment‬‬ ‫را در نظكر نگیكريم ميبايسكت ورودی‬ ‫همزمان ‪ 4‬نميشوند‪ .‬اگر اين فر‬
‫شمارنده را به شكل زير طراحي كنیم‪.‬‬
‫‪Incr.  yx‬‬

‫‪12‬ـ مدار جمع ـ تفري كننده شيل ‪7‬ـ‪ 4‬داراس مقدارهاس زير براس ورودس مـد‬
‫معماري كامپيوتر ‪61 /‬‬

‫‪ M‬و ورودسهــاس داده ‪ A‬و ‪ B‬اســت‪ ،‬در هــر حالــت‪ ،‬مقــدارهاس خروجــي‬
‫‪ C4 , S4 , S0 ,S1 ,‬را تعههن كنهد‪.‬‬ ‫‪S2 , S3‬‬

‫‪M‬‬ ‫‪A‬‬ ‫‪B‬‬

‫الف‬ ‫‪1‬‬ ‫‪1444‬‬ ‫‪1441‬‬


‫ب‬ ‫‪1‬‬ ‫‪4111‬‬ ‫‪4114‬‬
‫ج‬ ‫‪4‬‬ ‫‪4411‬‬ ‫‪4111‬‬
‫د‬ ‫‪4‬‬ ‫‪1414‬‬ ‫‪4141‬‬
‫هك‬ ‫‪4‬‬ ‫‪1111‬‬ ‫‪1114‬‬

‫حل‪ :‬طبو مدار جمع ك تفريوكننده در ‪ M  0‬عمل جمع و در ‪ M  1‬عمل تفريكو‬


‫انجام ميپذيرد‪ .‬پس‪:‬‬
‫‪M‬‬ ‫‪A‬‬ ‫‪B‬‬ ‫خروجي مجموع‬ ‫‪Carry‬‬

‫‪1‬‬ ‫‪1444 + 1441‬‬ ‫‪4414‬‬ ‫‪1‬‬ ‫‪7  6  13‬‬


‫‪1‬‬ ‫‪4111+4114‬‬ ‫‪1114‬‬ ‫‪4‬‬ ‫‪8  9  17‬‬
‫‪4‬‬ ‫‪4411-4111‬‬ ‫‪1411‬‬ ‫‪4‬‬ ‫‪12  8  4‬‬
‫‪4‬‬ ‫‪1414-4141‬‬ ‫‪4144‬‬ ‫‪1‬‬ ‫‪5  10  5‬‬
‫‪4‬‬ ‫‪1111-1114‬‬ ‫‪4444‬‬ ‫‪1‬‬
‫‪0  1  1‬‬

‫‪13‬ـ يك مدار ترتهبي كاهنده چهار بهتي را با چهار مدار تمام جمعكننده بسازيد‪.‬‬
‫حاصل كنیم ميتكوانیم بكه‬ ‫‪F.A‬‬ ‫حل‪ :‬برای اينكه خروجي ‪ A 1‬را از مدار شامل ‪1‬‬
‫روش زير عمل كنیم‪:‬‬
‫‪  A 1111‬مكمل ‪A  1 A  1 6‬‬

‫بنابراين مدار به شكل زير خواهد بود‪:‬‬


‫‪ / 66‬معماري كامپيوتر‬

‫‪Carry in‬‬

‫خروجي كاهشگر ‪ 1‬بیت‬

‫‪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‬معماري كامپيوتر‬

‫‪1‬‬ ‫‪D  AB‬‬ ‫(جمع)‬ ‫‪D  A 1‬‬ ‫(افرايش)‬


‫‪1‬‬ ‫‪D  A 1‬‬ ‫(كاهش)‬ ‫(تفري ) ‪D  A  B 1‬‬

‫حل‪ :‬طبو موارد گفته شده جدول درستي را تشكیل ميدهیم به قسمي كه وضكعیت‬
‫مشخص كند كه چه ورودیهايي به ‪ 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‬‬ ‫‪AB‬‬
‫طبو نتايج باال از طريو ‪ 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‬معماري كامپيوتر‬

‫‪18‬ـ ثبـات ‪ ، A‬عـدد ‪ 8‬بهتـي ‪ 11111111‬را نگهـدارس ميكنـد‪ .‬عملونـد ‪ B‬و‬


‫ريزعمل منطقي بزم را براس ت ههر ‪ A‬به هر يك از مقدارهاس زير معهن كنهد‪.‬‬
‫ب) ‪11111111‬‬ ‫الف) ‪11111111‬‬
‫حل‪ :‬در اين گونه مسائل با استفاده از آزمون و خطا ميتوان عملونكد دوم و عملگكر‬
‫ميتكوان عملونكد دوم را بكه‬ ‫‪XOR‬‬ ‫مورد نظر را يافت‪ .‬اما با استفاده از ريزعمل منطقكي‬
‫صورت دقیو پیدا كرد‪ .‬به طوری كه‬

‫بنابراين‪:‬‬
‫‪A‬‬ ‫‪11011001‬‬ ‫‪A  11011001‬‬
‫‪B‬‬ ‫‪00100100‬‬ ‫‪XOR‬‬ ‫ب)‬ ‫‪XOR B  10110100‬‬ ‫الف)‬
‫‪A  B 11111101‬‬ ‫‪A  B 01101101‬‬

‫‪A 11011001 OR‬‬


‫‪B  11111101‬‬
‫‪AVB 1111101‬‬
‫معماري كامپيوتر ‪10 /‬‬

‫‪19‬ـ ثباتهاس ‪ 8‬بهتي ‪ DR, CR , BR , AR‬ابتدا داراس مقدارهاس زيراند‪.‬‬


‫‪AR 11110010‬‬
‫‪BR 11111111‬‬
‫‪CR 10111001‬‬
‫‪DR 11101010‬‬
‫محتواس هشت بهتي هر يـك از ثباتهـا را پـس از اجـراس هـر يـك از رشـته‬
‫ريزعملها مشخص كنهد‪.‬‬
‫‪AB  AR  BR‬‬
‫‪CR  CR  DR , BR  BR  1‬‬
‫‪AR  AR  CR‬‬
‫حل‪:‬‬
‫الف)‬
‫‪AR  11110010‬‬
‫‪BR  11111111 ‬‬
‫‪AR  11110001 , BR 11111111 , CR  10111001‬‬
‫‪DR  11101010‬‬
‫ب)‬
‫‪CR 10111001‬‬
‫‪DR 11101010‬‬ ‫‪ AND ‬‬ ‫‪BR 11111111‬‬
‫‪CR 10101000‬‬ ‫‪,‬‬ ‫‪1‬‬
‫‪BR 00000000 , AR  11110001‬‬
‫‪, DR 11101010‬‬
‫ج)‬
‫‪AR 11110001‬‬
‫‪CR  10101000 ‬‬
‫‪AR 01001001 , BR 00000000 , CR  10101000‬‬
‫‪, DR 11101010‬‬
‫‪21‬ـ يك ثبات هشت بهتي داراس عدد دودويـي ‪ 1111111‬اسـت‪ .‬پـس از يـك‬
‫شهفت به راست حسابي مقـدار ثبـات چقـدر اسـت؟ بـا شـروع از مقـدار اولهـه‬
‫‪ ،11111111‬مقدار ثبات را پس از يك شهفت به چپ حسابي معهن كنهد‪ ،‬و بگويهـد‬
‫‪ / 12‬معماري كامپيوتر‬

‫آيا سرريز وجود دارد؟‬


‫حل‪:‬‬
‫‪ArithMetic Shift right‬‬ ‫الف) شیفت به راست حسابي ‪44114441‬‬
‫‪ArithMetic shift left‬‬ ‫ب) شیفت به چپ حسابي ‪11444111‬‬
‫سرريز اتفاق افتاده است‪ .‬زيرا عدد منفي به عدد مثبت تبديل شكده اسكت (بكه دلیكل‬
‫تغییر بیت عالمت)‬
‫‪R‬‬ ‫‪21‬ـ با شروع از مقدار اولهه ‪ R  11011101‬دنباله مقـدارهاس دودويـي را در‬
‫پس از يك شهفت به چپ منطقي و به دنبال آ يك شهفت به راسـت چرخشـي‪ ،‬و‬
‫سپس با يك شهفت به راست منطقي و در پايا يك شهفت به چپ چرخشي تعهـهن‬
‫كنهد‪.‬‬
‫حل‪ :‬مقدار اولیه‪44144414 :‬‬
‫‪41444141‬‬ ‫‪4‬ك شیفت به چپ منطقي‬
‫‪14144414‬‬ ‫‪6‬ك شیفت به راست چرخشي‬
‫‪11414441‬‬ ‫‪3‬ك شیفت به راست منطقي‬
‫‪14144411‬‬ ‫‪1‬ك شیفت به چپ چرخشي‬
‫‪22‬ــــ مقـــدار ‪ H‬در شـــيل ‪12‬ــــ‪ 4‬چهســـت بـــه شـــرطي كـــه‬
‫باشد‪.‬‬ ‫‪IL 0 , IR  1 , S  1 , A  1001‬‬

‫حل‪ :‬طبو مدار شیفت‬


‫‪S  1  H0‬‬ ‫‪H1‬‬ ‫‪H2‬‬ ‫‪H3‬‬
‫‪A1‬‬ ‫‪A2‬‬ ‫‪A3‬‬ ‫‪IL‬‬
‫بنابراين شیفت به چپ به شكل مقابل خواهد بود‪.‬‬
‫‪H  10010  0010‬‬
‫شیفت به چپ‬
‫‪23‬ـ چه چهزس در عبارات انتقال ثبات زير نادرست است؟‬
‫معماري كامپيوتر ‪11 /‬‬

‫الف) ‪xT : AR  AR , AR 0‬‬

‫‪yT : R1  R2 , R1  R 3‬‬ ‫ب)‬


‫ج) ‪zT : PC  AR , PC  PC 1‬‬

‫حل‪ :‬توجه شود كه عالمت « و » به معني اجراس همزما است‪ .‬پس در رابطكه بكا‬
‫عبارت (الف) نميتوان يک رجیستر را همزمان مكمل و يا صفر كرد‪.‬‬
‫در رابطه با عبارت (ب) نميتوان دو مقدار را در يک رجیستر به صكورت همزمكان‬
‫انتقال داد‪.‬‬
‫در رابطه با عبارت (ج) نميتوان همزمان رجیستر ‪ PC‬را افزايش داد و مقدار ‪ AR‬را‬
‫در آن قرار داد‪.‬‬
‫‪ / 14‬معماري كامپيوتر‬

‫فصل پنجم‪ :‬سازمان و طراحي يک كامپيوتر پايه‬


‫‪1‬ـ يك كامپهوتر از حافظهاس بـا ‪ 256K‬كلمـه ‪ 32‬بهتـي اسـتفاده ميكنـد‪ .‬يـك‬
‫دستورالعمل دودويي در يك كلمه از حافظه ذخهره شده است‪ .‬دسـتورالعمل چهـار‬
‫بخش دارد‪ .‬بهت غهرمستقهم‪ ،‬يك كد عملهاتي‪ ،‬يك كد ثبات براس تعههن ييـي از ‪64‬‬
‫ثبات و بخش آدرس‪.‬‬
‫الف) چند بهت در كد عملهاتي‪ ،‬كد ثبات و آدرس وجود دارد‪:‬‬
‫‪256K 28  210 218‬‬ ‫‪ 48‬بیت برای آدرس حافظه‬
‫‪64  26‬‬ ‫‪ 6‬بیت برای آدرسدهي رجیسترها‬
‫‪indirect :‬‬ ‫‪ 4‬بیت غیرمستقیم‬
‫بیت برای كد عملیاتي ‪32  18  6  1  7‬‬

‫ب) قالب كلمه دستورالعمل را ترسیم و تعداد بیت در هر قسمت را معین كنید‪.‬‬
‫‪4‬‬ ‫‪4‬‬ ‫‪6‬‬ ‫‪48‬‬ ‫بیت ‪= 36‬‬
‫‪I‬‬ ‫‪opcode‬‬ ‫‪Register‬‬ ‫‪Address‬‬

‫پ) ورودسهاس داده و آدرس حافظه چند بهت وجود دارد؟‬


‫‪ 36‬بیت برای ورودی داده و ‪ 48‬بیت برای ورودی آدرس حافظه‪.‬‬
‫‪2‬ـ تفاوت بهن دستور با آدرس مستقهم و غهرمستقهم چهسـت؟چنكد دسترسكي بكه‬
‫حافظه برای هر نوع دستورالعمل الزم است تا عملوند را به ثبات پردازشگر منتقل كند؟‬
‫حل‪:‬‬
‫آدرس دهي غیرمستقیم در صورت بیشتر بودن تعداد بیت داده از تعكداد بیكت آدرس‬
‫حافظه در دستورالعمل ميتواند امكان آدرسدهي فضای بزرگتری از حافظكه را بكه مكا‬
‫بدهد‪( .‬مثالً ‪ 46‬بیت آدرس به جای ‪ 46‬بیت)‪ .‬همچنین نیكاز بكه دسكتور بكرای بدسكت‬
‫آوردن عملوند را از بین ميبرد و در يک دستور اين كار را انجام ميدهد‪(.‬اين ككار بكه‬
‫معماري كامپيوتر ‪11 /‬‬

‫خصوص هنگام استفاده از اشارهگرها در زبان برنامهنويسي مفید است‪).‬‬


‫ك دستور با آدرس مستقیم دو دسترسي به حافظه نیاز دارد‪ :‬خوانكدن دسكتورالعمل و‬
‫خواندن عملوند‬
‫ك دستور با آدرس غیرمستقیم سه دسترسي به حافظه نیاز دارد‪ :‬خواندن دستورالعمل‬
‫خواندن آدرس مؤثر و خواندن عملوند‪.‬‬
‫‪3‬ـ ورودسهاس كنترل زير در سهستم گذرگاه شيل ‪4‬ـ ‪ 5‬فعالند‪ .‬براس هر مـورد‪،‬‬
‫انتقال ثباتي را كد در پالس ساعت بعدس اجرا ميشود تعههن كنهد‪.‬‬
‫حل‪:‬‬

‫‪S2‬‬ ‫‪S1‬‬ ‫‪S0‬‬ ‫‪ LD‬ثبات‬ ‫حافظه‬ ‫جمع كننده‬


‫(الف‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪IR‬‬ ‫خواند‬ ‫ـــ‬
‫(ب‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪PC‬‬ ‫ـــ‬ ‫ـــ‬
‫(ج‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪DR‬‬ ‫نوشتن‬ ‫ـــ‬
‫(د‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪AC‬‬ ‫ـــ‬ ‫جمع‬

‫‪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‬معماري كامپيوتر‬

‫جمعكننده و مدار منطقي (اگر وجود دارد)‪.‬‬


‫ب) ‪IR N  AR ‬‬ ‫الف) ‪AR  PC‬‬

‫د) ‪AC  DR , DR  AC‬‬ ‫ج) ‪M  AR   TR‬‬

‫حل‪:‬‬

‫توضهح قسمت (د)‪ :‬توجه كنید كه اين دو عمكل همزمكان ميتواننكد انجكام پذيرنكد‬
‫چون يكي از گذرگاه استفاده كرده و ديگری نیاز به گذرگاه ندارد‪ .‬همچنین با توجه بكه‬
‫حساس بر لبه بودن ثباتها و در نظر گرفتن زمان انتشار مقدارهای نامعتبر (در اثر تغییر‬
‫مقدار همزمان) در ثباتها ثبت نميشود‪.‬‬

‫‪ 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 M124  AC‬‬ ‫ذخیره‬
‫ج)‬
‫‪0111‬‬ ‫‪0000 0010‬‬ ‫‪0000‬‬
‫‪  702016‬‬
‫‪Re gister‬‬ ‫‪ INC  AC‬‬‫افزايش‬
‫‪7‬ـ كدام دو دستور براس ‪ 1‬كـرد فلهـپ فـالپ ‪ E‬در كـامپهوتر پايـه بـه كـار‬
‫ميروند؟‬
‫حل‪:‬‬
‫براس ‪ 1‬كرد فلهپ فالپ ‪ E‬ابتدا بايد آ را پاك كنهم و سپس آ را متمم كنهم‪:‬‬
‫‪ / 18‬معماري كامپيوتر‬

‫‪CLE‬‬ ‫‪E‬‬ ‫پاك كرد‬


‫‪CME‬‬ ‫‪E‬‬ ‫متمم كرد‬
‫‪T3‬‬ ‫‪ 8‬ـ يك نمودار زما بندس مشابه شيل ‪7‬ـ‪ 5‬رسم كنهد و فرض كنهـد ‪ SC‬در‬
‫فعال باشد‪.‬‬ ‫‪C7‬‬ ‫برابر ‪ 1‬شود به شرط اينيه سهگنال كنترل‬

‫‪C7 T3 :‬‬ ‫‪SC 0‬‬


‫فعال ميشود‪.‬‬ ‫‪T1‬‬ ‫با لبه پالس مربوب به‬ ‫‪C7‬‬

‫حل‪:‬‬

‫‪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 /‬‬

‫ب) عمل دودويي كه در ‪ AC‬پس از اجراس دستورالعمل ر ميدهد چهست؟‬


‫‪AC = 7EC3‬‬ ‫(جمع)‬
‫‪DR = 8B9F‬‬
‫)‪0A62 (E=1‬‬
‫ج) محتـواس ثباتهـاس ‪ IR , AC , DR , AR, PC‬در مبنـاس شـانزده چهسـت؟‬
‫همچنهن مقدار ‪ E‬و ‪ I‬و ‪ SC‬در پايا سهيل دستورالعمل را تعههن كنهد‪.‬‬
‫‪PC=3AF+1=3B0‬‬

‫‪AR  9AC‬‬ ‫‪IR  932E‬‬

‫‪DR  8B9F‬‬ ‫‪E 1‬‬

‫‪AC 0A62‬‬ ‫‪I 1‬‬

‫‪SC 0000‬‬
‫‪13‬ـ فرض كنهد كه شش دستور دسترسي به حافظه در كامپهوتر پايه در جـدول‬
‫است‪ .‬فـرض‬ ‫‪T4‬‬ ‫‪4‬ـ‪ 5‬با جدول زير تعويض شوند‪ EA .‬آدرس مؤثر واقع در ‪ AR‬در‬
‫كنهد كه جمعكننده و مدار منطقي شيل ‪4‬ـ‪ 5‬ميتواند عمـل ‪ XOR‬را انجـام دهـد‪.‬‬
‫‪ . AC  AC  DR‬بعالوه فرض كنهد كـه جمعكننـده و مـدار منطقـي نميتواننـد‬
‫مستقهماً تفري را انجام دهند‪ .‬تفري بايد بـه كمـك ميمـل ‪ 2‬انجـام شـود‪ .‬دنبالـه‬
‫بـه بعـد‬ ‫‪T4‬‬ ‫عبارت انتقال ثباتي بزم براس اجراس هـر دسـتور لهسـت شـده را ا ز‬
‫مشخص كنهد‪ .‬دقت كنهـد كـه هـهچ ت ههـرس در ‪ AC‬نبايـد ر دهـد مگـر اينيـه‬
‫دستورالعمل ت ههرس را در آ معهن كند‪ .‬شما ميتوانهد با اسـتفاده از ‪ TR‬محتويـات‬
‫‪ AC‬را موقتً ذخهره و يا محتويات ‪ AC‬و ‪ DR‬را با هم جابجا كنهد‪.‬‬

‫كد عمل سمبل‬ ‫نمايش سمبلهك‬ ‫توضهح‬


‫‪XOR‬‬ ‫‪111‬‬ ‫‪AC  AC  M  EA‬‬ ‫‪AC‬‬ ‫‪ OR‬انحصارس با‬
‫‪ / 82‬معماري كامپيوتر‬

‫‪ADM‬‬ ‫‪111‬‬ ‫‪M[EA] M[EA] +AC‬‬ ‫جمع ‪ AC‬با حافظه‬


‫‪SUB‬‬ ‫‪111‬‬ ‫‪AC  AC  M EA‬‬ ‫‪AC‬‬ ‫تفري حافظه از‬
‫‪XCH‬‬ ‫‪111‬‬ ‫‪AC  M EA , M EA  AC‬‬ ‫تبادل ‪ AC‬با حافظه‬
‫‪SEQ‬‬ ‫‪111‬‬ ‫‪If( M[EA]=AC) then PC  PC+1‬‬ ‫گذر در صورت برابرس‬
‫مثبـت و‬ ‫‪AC‬‬ ‫انشعاب اگر‬
‫‪BPA‬‬ ‫‪111‬‬ ‫‪if  AC  0 then  PC  EA ‬‬
‫غهر صفر باشد‪.‬‬
‫حل‪:‬‬

‫‪14‬ـ ت ههرهاس زير را در كامپهوتر پايه انجام دههد‪.‬‬


‫‪1‬ـ يك ثبات ‪( CTR‬ثبات شمارنده) را به سهستم گذرگاه اضافه كنهد و آ را بـا‬
‫انتخاب نمايهد‪.‬‬ ‫‪S2 S1 S0  000‬‬
‫معماري كامپيوتر ‪81 /‬‬

‫را با دستورس كه يك عدد را در ‪ CTR‬بار مي كند جايگزين كنهد‪.‬‬ ‫‪ISZ‬‬ ‫‪2‬ـ‬


‫‪LDC Address‬‬ ‫‪:‬‬ ‫]‪CTR  M[Address‬‬
‫‪D6 T4 : CTR  M  AR  , SC 0‬‬
‫‪3‬ـ يك دستور دسترسي به ثبات ‪ ICSZ‬اضافه كنهد‪ CTR :‬را يك واحد افـزايش‬
‫داده و از اجراس دستور بعدس اگر حاصل افزايش صفر باشد صـرفنظر نمايـد‪ .‬در‬
‫مورد فايده اين ت ههر بحث كنهد‪.‬‬

‫‪ICSZ D7 I'T3 B12 :‬‬ ‫‪CTR CTR  1‬‬

‫‪D7 I'T4 B12 : if  CTR  0 then  PC  PC  1 SC 0‬‬


‫اين كار دستور ‪ ISZ‬را كه دسترسي به حافظه است به دستور ‪ ICSZ‬كه دسترسكي بكه‬
‫اجكرا‬ ‫‪T6‬‬ ‫بكه جكای‬ ‫‪T4‬‬ ‫ثبات است تبديل ميكند‪ .‬دستور جديد ‪ ICSZ‬ميتواند در زمان‬
‫شود كه باعپ هدر نرفتن ‪ 2‬سیكل ميشود و روش ديگر پیادهسكازی دسكتور ‪ ICSZ‬بكه‬
‫اين صورت است‪:‬‬
‫‪ICSZ:D7 I'T3 B12 : CTR  CTR  1 ,if  CTR  FFFF then PC  PC  1 , SC  0‬‬
‫اجرا ميشود و از هكدر رفكتن ‪ 3‬سكیكل‬ ‫‪T3‬‬ ‫مزيت اين پیادهسازی اين است كه در زمان‬
‫‪T3‬‬ ‫ساعت جلوگیری ميكند‪ .‬همچنین همانند دستورهای دسترسي بكه ثبكات ديگكر در‬
‫اجرای آن تمام ميشود‪.‬‬
‫توجه داشته باشید ككه بكرای اضكافه ككردن دسكتور ‪ ICSZ‬بايكد يككي از دسكتورات‬
‫دسترسي به ثبات را حذف كنیم يا ‪ 4‬بیت به كد دستورالعمل اضافه كنیم يا نثوه نمايش‬
‫‪ / 84‬معماري كامپيوتر‬

‫دستورالعملهای دسترسي به ثبات را تغییر دهیم كه نیاز به ديكد كردن خواهد داشت‪.‬‬

‫‪65536*16‬‬ ‫‪15‬ـ واحد حافظه كامپهوتر پايه در شـيل ‪13‬ــ‪ 5‬را بـا يـك حافظـه‬
‫جايگزين كنهد‪ .‬اين حافظه آدرس ‪ 16‬بهتي نهاز دارد‪ .‬قالب دستورالعمل دسترسي بـه‬
‫حافظه در شيل (‪ 5‬ـ‪ 5‬الف) براس ‪ I  1‬ثابت مي ماند و بخش آدرس در ميا هاس‬
‫‪ 1‬تا ‪ 11‬قرار دارد‪ .‬اما وقتي ‪ I  0‬است (آدرس مستقهم) آدرس دستورالعمل بـا ‪16‬‬
‫بهت در كلمه ديگرس كه به دنبال دستور آمده داده مي شود‪ .‬ريز عمـل هـاس زمـا‬
‫اگر نهاز باشد) ت ههر دههد تا با اين پهيربندس هماهنگ باشد‪.‬‬ ‫‪T4‬‬ ‫(و‬ ‫‪T3 , T2‬‬ ‫هاس‬
‫حل‪:‬‬

‫در حالت آدرسدهي مستقیم جلوگیری ككرده و از آن‬ ‫‪T3‬‬ ‫اين طراحي از هدر رفتن‬
‫برای آدرسدهي ‪ 46‬بیتي استفاده كرده كه حافظهی بزرگتری را پشتیباني ميكند‪.‬‬
‫معماري كامپيوتر ‪81 /‬‬

‫‪16‬ـ كامپهوترس از يك حافظه ‪ 8‬بهتـي ‪ 65536‬كلمـهاس اسـتفاده ميكنـد‪ .‬ايـن‬


‫‪ DR‬و ‪( IR‬هر يكک‬ ‫‪AC‬‬ ‫كامپهوتر داراس ثباتهاس ‪( TR, AR , PC‬هر يک ‪ 46‬بیت) و‬
‫‪ 8‬بیت) است‪ .‬يک دستور دسترسي به حافظه شامل سه كلمه است‪ :‬يک ككد عملیكات ‪8‬‬
‫بیتي (يک كلمه) و يک آدرس ‪ 46‬بیتي (در دو كلمه بعدی)‪ .‬تمام عملوندها هشت بیتكي‬
‫هستند‪ .‬بیت غیرمستقیم هم وجود ندارد‪.‬‬
‫الف) بالك دياگرامي از كامپیوتررسم كنید و ثباتها و حافظه را همانند شككل ‪3‬كك‪5‬‬
‫نشان دهید‪( .‬از يک گذرگاه مشترك استفاده نكنید‪).‬‬

‫ب) جايگیری يک نمونه دستور سه كلمهای را به همراه عملونكد ‪ 8‬بیتكي در حافظكه‬


‫نشان دهید‪.‬‬
‫‪ / 86‬معماري كامپيوتر‬

‫پ) دنبايه ريز عمل ها برای دريافت يک دستور دسترسي به حافظه را لیست كنید و‬
‫شروع كنید‪.‬‬ ‫‪T0‬‬ ‫سپس عملوند را در ‪ DR‬قرار دهید‪ .‬از سیگنال زماني‬
‫معماري كامپيوتر ‪81 /‬‬

‫‪17‬ـ يك كامپهوتر ديجهتال داراس ‪ 19389‬حافظه ‪ 41‬بهتـي در هـر كلمـه اسـت‬


‫قالب كد دستور از شش بهت براس عملگـر و ‪ 14‬بهـت بـراس آدرس تشـيهل شـده‬
‫است‪( .‬بهت غهرمستقهم ندارد) دو دستورالعمل در يك كلمـه جـاس داده شـدهاند و‬
‫يك ثبات دستورالعمل ‪ 41‬بهتي ‪ IR‬هم در واحد كنترل وجود دارد‪ .‬برنامهاس را براس‬
‫فازهاس برداشت و اجرا در اين كامپهوتر بنويسهد‪.‬‬

‫برنامه برداشت و اجرا به اين صورت است‪:‬‬


‫‪PC‬‬ ‫‪4‬ك دستور دوگانه ‪ 11‬بیتي را از حافظه خوانده و در ‪ IR‬قرار بده همچنین مقدار‬
‫را يک واحد افزاش بده‪.‬‬
‫‪6‬ك كد دستور ‪ 4‬را ديكد كن‪.‬‬
‫‪3‬ك دستور ‪ 4‬را با استفاده از آدرس ‪ 4‬اجرا كن‪.‬‬
‫‪1‬ك كد دستور ‪ 6‬را ديكد كن‪.‬‬
‫‪ 5‬ك دستور ‪ 6‬را با استفاده از آدرس ‪ 6‬اجرا كن‪.‬‬
‫‪ 6‬ك به گام اول باز گرد‪.‬‬
‫‪18‬ـ يك برنامه خروجي از آدرس ‪ 2311‬نوشته شده اسـت‪ .‬ايـن برنامـه وقتـي‬
‫تشخهص دهد اجـرا مـي شـود‪( .‬در حـالي كـه‬ ‫‪FGO  1‬‬ ‫كامپهوتر يك وقفه را در‬
‫‪ IEN=1‬است‪).‬‬
‫‪ / 88‬معماري كامپيوتر‬

‫الف) چه دستورس بايد در آدرس ‪ 1‬قرار گهرد؟‬


‫انشعاب بدو شرط به خانه ‪2311‬‬

‫‪BUN‬‬ ‫‪2300‬‬
‫ب) دو دستور آخر برنامه خروجي چهست؟ فعال كرد وقفهها‬
‫‪0‬‬ ‫انشعاب بدو شرط با آدرس غهرمستقهم‬
‫‪ION 0‬‬
‫‪BUN I ‬‬
‫‪19‬ـ عبارت انتقال ثباتي براس ثبات ‪ R‬و حافظه در يـك كـامپهوتر مطـاب زيـر‬
‫است (‪X‬ها توابع كنترل هستند و به طور تصادفي ر ميدهند‪).‬‬
‫كلمه حافظه را در ‪ R‬بنويس ‪X'3 X1 : R  M  AR ‬‬

‫‪X'1 X2 : R  AC‬‬ ‫‪R‬‬ ‫انتقال ‪ AC‬بر‬


‫‪X'1 X3 : M  AR   R‬‬ ‫‪ R‬را در حافظه بنويس‬
‫حافظه دارای ورودیهای داده خروجيهای داده ورودیهای آدرس و ورودیهای‬
‫كنترل برای خواندن و نوشتن همانند شكل ‪46‬ك‪ 6‬است‪ .‬پیاده سكازی سكختافزاری ‪ R‬و‬
‫‪X3‬‬ ‫تكا‬ ‫‪X1‬‬ ‫حافظه را به شكل بالك دياگرام بكشید‪ .‬نشان دهید كه چگونه توابع كنتكرل‬
‫ورودی مولتي پلكسرهايي كه شما در دياگرام وارد كردهايكد و ورودیهكای‬ ‫‪R‬‬ ‫ورودی‬
‫خواندن و نوشتن حافظه را انتخاب ميكنند‪.‬‬
‫حل‪:‬‬
‫معماري كامپيوتر ‪89 /‬‬

‫‪21‬ـ دنباله عمل هايي كه بايد روس فلهپ فالپ ‪ F‬انجام شوند (در كامپهوتر پايه‬
‫به كار نرفته) با عبارت انتقال ثباتي تعههن شدهاند‪.‬‬
‫‪XT3 :‬‬ ‫‪F 1‬‬ ‫‪ 4‬در ‪ F‬نشانده شود‪.‬‬
‫‪yT1 : F0‬‬ ‫‪ F‬با ‪ 1‬پاك شود‪.‬‬
‫‪ZT2 : F  F‬‬ ‫‪F‬‬ ‫مكمل‬
‫‪WT5 : F  G‬‬ ‫مقدار ‪ G‬را به ‪ F‬انتقال بده‬
‫در غیر اين صورت مثتوای ‪ F‬نبايد تغییر يابد‪ .‬ديكاگرام منطقكي مربكوب بكه اتصكال‬
‫گیتهايي كه توابع كنترل و ورودیهای فلیپ فالپ ‪ F‬را تشكیل ميدهند رسم كنید‪ .‬از‬
‫يک فلیپ فالپ ‪ JK‬استفاده كرده و تعداد گیتها را حداقل كنید‪.‬‬
‫حل‪:‬‬
‫با توجه به جدول تثريک ‪ J , JK‬بايد در حالتهای ‪ set‬يا مكمل يا انتقال از ‪ G‬فعال‬
‫باشد پس داريم‪:‬‬
‫ معماري كامپيوتر‬/ 91

JF  XT3  ZT2  WT5 G


:‫داريم‬ KF ‫به همین ترتیب برای‬
KF  YT1  ZT2  WT5 G'

.‫ را در كامپهوتر پايه بدست آوريد‬PC ‫ـ مدار كنترل گهتي شمارنده برنامه‬21


:‫ داريم‬5 ‫ ك‬6 ‫از جدول‬
 ZAC 1 if AC  0 , ZDR  1 if DR  0
INC(PC) = R'T1 + RT2 + D6T6ZDR + PB9(FGI)

+ PB8(FGO) + rB4 + (AC15)' + rB3(AC15)


 rB2 ZAC  rB1E'
LD  PC   D4 T4  D5 T5

CLR  PC  RT1


‫معماري كامپيوتر ‪90 /‬‬

‫‪22‬ـ مدار كنترل گهتي ورودس نوشـتن در حافظـه را در كـامپهوتر پايـه بدسـت‬
‫آوريد‪.‬‬
‫حل‪:‬‬
‫از جدول ‪ 6‬ك ‪ 5‬داريم‪:‬‬
‫‪ M  AR   XX ‬‬
‫‪Write  D3 T4  D5 T4  D6 T6  RT1‬‬
‫‪ / 92‬معماري كامپيوتر‬

‫‪JK‬‬ ‫‪23‬ـ مدار منطقي كامل وقفه را در كامپهوتر پايه نشا دههد‪ .‬از فلهپ فـالپ‬
‫استفاده كنهد و گهتها را به حداقل برسانهد‪.‬‬
‫حل‪:‬‬
‫از جدول ‪ 6‬ـ ‪ 5‬داريم‪:‬‬

‫‪ T0  T1  T2  '  IEN  FGI  FGO : R 1‬‬


‫‪RT2 ;R 0‬‬

‫(جدول ‪ 7‬ـ ‪ 5‬را ببهنهـد) بدسـت آوريـد‪ .‬نشـا‬ ‫‪x2‬‬ ‫‪24‬ـ عبارت بولي را براس‬
‫ميتواند با يك گهت ‪ AND‬و يك گهت ‪ OR‬تولهد شود‪.‬‬ ‫‪x2‬‬ ‫دههد كه‬
‫معماري كامپيوتر ‪91 /‬‬

‫حل‪:‬‬
‫خروجي ‪ PC‬را روی گذرگاه قرار ميدهد‪.‬‬ ‫‪x2‬‬

‫از جدول ‪ 6‬ك ‪ 5‬داريم‪:‬‬


‫‪R 'T0 : AR  PC‬‬

‫‪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 /‬‬

‫فصل ششم‪ :‬برنامهنويسي كامپيوتر پايه‬


‫‪ 1‬ـ برنامه زير در واحد حافظه كامپهوتر پايه ذخهره شـده اسـت‪ .‬محتـواس ‪، AC‬‬
‫را به شانزده شانزدهي در پايا اجراس هر دستورالعمل نشا دههـد‪ .‬تمـام‬ ‫‪IR‬‬ ‫‪، PC‬‬
‫اعداد در جدول به شانزده شانزدهي هستند‪.‬‬
‫مكان‬ ‫دستورالعمل‬
‫‪141‬‬ ‫‪CLA‬‬

‫‪144‬‬ ‫‪ADD 016‬‬

‫‪146‬‬ ‫‪BUN 014‬‬

‫‪143‬‬ ‫‪HLT‬‬

‫‪141‬‬ ‫‪AND‬‬ ‫‪017‬‬


‫‪BUN 013‬‬
‫‪145‬‬
‫‪CIA5‬‬
‫‪146‬‬
‫‪144‬‬ ‫‪93C6‬‬

‫حل‪:‬‬
‫ابتدا ترتیب اجرای دستورالعملها را مطابو روبرو خواهیم داشت‪:‬‬
‫‪1-‬‬ ‫‪CLA‬‬
‫‪2-‬‬ ‫‪ADD 016‬‬
‫‪3-‬‬ ‫‪AND 017‬‬
‫‪4-‬‬ ‫‪HLT‬‬
‫و ‪ IR‬در اين ترتیب اجرا به صورت زير خواهد بود‪.‬‬ ‫‪PC‬‬ ‫حال رجیسترهای ‪ AC‬و‬

‫‪AC‬‬ ‫‪PC‬‬ ‫‪IR‬‬ ‫اجرای دستورالعمل‬


‫‪0000‬‬ ‫‪011‬‬ ‫‪7800‬‬ ‫‪CLA‬‬
‫‪C1A5‬‬ ‫‪012‬‬ ‫‪1016‬‬ ‫‪ADD 016‬‬
‫‪C1A5‬‬ ‫‪014‬‬ ‫‪4014‬‬ ‫‪BUN 014‬‬
‫‪8184‬‬ ‫‪014‬‬ ‫‪7001‬‬ ‫‪HLT‬‬
‫‪8184‬‬ ‫‪015‬‬ ‫‪0017‬‬ ‫‪AND 017‬‬
‫‪ / 96‬معماري كامپيوتر‬

‫‪8184‬‬ ‫‪013‬‬ ‫‪4013‬‬ ‫‪BUN 013‬‬

‫كد شانزده شانزدهي دستورالعملهای كامپیوتر در جدول ‪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‬‬

‫همچنین مقدار ‪ AC‬در اجرای دستورالعملها نشان داده شده است‪.‬‬


‫‪3‬ـ برنامه زبا اسمبلي تولهد شـده بـا يـك كامپـايلر را از برنامـه فرتـر زيـر‬
‫بنويسهد؛ مت هرها را عدد صحهح فرض كنهد‪.‬‬
‫‪1)SUM 0‬‬
‫‪2) SUM  SUM  A  B‬‬
‫‪3 ) DIF  DIF  C‬‬
‫‪4)SUM  SUM  DIF‬‬
‫حل‪ :‬تکتک خطوب را به برنامه اسمبلي مورد نظر تبديل ميكنیم‪.‬‬
‫‪CLA‬‬
‫‪1) SUM  0‬‬
‫‪STA SUM‬‬
‫‪LDA SUM‬‬
‫‪ADD A‬‬
‫‪2) SUM  SUM  A  B‬‬
‫‪ADD B‬‬
‫‪STA SUM‬‬
‫‪LDA C‬‬
‫‪CMA‬‬
‫‪3 ) DIF  DIF  C‬‬ ‫‪INC‬‬
‫‪ADD DIF‬‬
‫‪STA DIF‬‬
‫‪LDA SUM‬‬
‫‪4) SUM  SUM  DIF ADD DIF‬‬
‫‪STA SUM‬‬
‫‪4‬ـ آيا حرف ‪ I‬ميتواند به عنوا يك آدرس سمبلهك در برنامـه زبـا اسـمبلي‬
‫‪ / 98‬معماري كامپيوتر‬

‫تعريف شده براس كامپهوتر پايه استفاده شود؟ پاسخ خود توضهح دههد‪.‬‬
‫حل‪ :‬بله؛ استفاده از ‪ I‬به عنوان آدرس سمبلیک دو صورت ميتواند داشته باشد‪.‬‬
‫]دستورالعمل[ (‪4‬‬ ‫‪I‬‬

‫]دستورالعمل [ (‪6‬‬ ‫‪I I‬‬

‫برای نمونه در دستورالعمل بارگذاری ‪ LDA‬داريم‪:‬‬


‫(‪4‬‬ ‫‪LDA‬‬ ‫‪I‬‬

‫(‪6‬‬ ‫‪LDA I‬‬ ‫‪I‬‬

‫شكود‪ .‬در عبكارت ‪ I 6‬اول‬ ‫در عبارت ‪ I 4‬ميتوانكد يكک آدرس سكمبولیک فكر‬
‫آدرس سمبلیک و ‪ I‬دوم بیت غیرمستقیم )‪ (Indirect Refrence‬را نشان ميدهد‪.‬‬
‫‪ 5‬ـ اگر سطرس از كد برنامه داراس شبه دستورالعمل ‪ ORG‬يا ‪ END‬باشد‪ ،‬عنوا‬
‫نهز داشته باشد‪ ،‬در مرور اول اسمبلر (شيل ‪ 6‬ـ‪ )1‬چه ر خواهد داد‪ .‬فلوچارت را‬
‫ت ههر دههد تا در صورت رخداد باب په ام خطا در بر داشته باشد‪.‬‬
‫حل‪ :‬عباراتي مانند ‪ ORG‬يا ‪ END‬در كد اسمبلي كامپیوتر پايه نبايكد در مرورهكا بكه‬
‫و‬ ‫‪ORG‬‬ ‫شوند‪ .‬بكرای اينككه تمكايز بكین عبكارات مثكل ‪ END‬و‬ ‫عنوان ”‪ “Label‬فر‬
‫عنوانها ”‪ “Label‬برقرار باشد تا ‪ ORG‬و ‪ END‬تشكخیص داده شكوند تغییكرات زيكر را‬
‫برای كشف خطا در مرور اول انجام ميدهیم‪.‬‬
‫معماري كامپيوتر ‪99 /‬‬

‫‪ 6‬ـ سطرس از كد يك برنامه زبا اسمبلي به شيل زير است‪:‬‬


‫‪DEC‬‬ ‫‪-35‬‬
‫الف) نشان دهید كه برای ذخیره سطر كد به چهار كلمه حافظه نیاز است و مثتكوای‬
‫دودويي آنها را نیز بنويسید‪.‬‬
‫ب) نشان دهید كه يک كلمه حافظه مي تواند ترجمه شده دودويكي ككد را ذخیكره‬
‫كند‪ .‬همچنین مثتوای دودويي آن را ارايه دهید‪.‬‬
‫حل‪:‬‬
‫الف) هر كلمه ‪ 46‬بیت و دو بايت ظرفیت دارد‪ .‬از طرفي حروف سكطر در حافظكه‬
‫دستورالعمل به صورت كه ‪ 8 ASCII‬بیتي نگهداری ميشود‪ .‬پس‪:‬‬
‫‪Memory Word‬‬ ‫كد مبنای ‪46‬‬ ‫كد دودويي‬
‫‪High‬‬ ‫‪Low‬‬
‫‪D‬‬ ‫‪E‬‬ ‫‪11‬‬ ‫‪15‬‬ ‫‪1411 1411 1411 1414‬‬
‫‪C‬‬ ‫”‪“space‬‬ ‫‪13‬‬ ‫‪61‬‬ ‫‪1411 1144 1141 1111‬‬
‫‪ / 011‬معماري كامپيوتر‬

‫كك‬ ‫‪3‬‬ ‫‪6D‬‬ ‫‪33‬‬ ‫‪1141‬‬ ‫‪4414 1144 1144‬‬


‫‪( CR‬به معنكي‬
‫‪5‬‬ ‫پايان جمله در‬ ‫‪35‬‬ ‫‪1D 1144‬‬ ‫‪1414‬‬ ‫‪1111 4414‬‬
‫خط جاری)‬

‫ب) بديهي است مثالً كد دودويي عدد ‪ 35‬در مبنای ‪ 6‬با ككد نوشكته شكده در بكاال‬
‫متفاوت است‪.‬‬
‫‪ 35 10  0000 0000 0010 00112‬‬
‫‪  35    FFDD 16‬‬
‫‪7‬ـ الف) جدول سمبل آدرس تولهد شده براس برنامـه جـدول ‪13‬ــ‪ 6‬در حـهن‬
‫مرور اول اسمبلر را بدست آوريد‪.‬‬
‫ب) برنامه ترجمه شده را به شانزده شانزدهي بنويسهد‪.‬‬
‫حل‪ :‬الف) برنامه جدول (‪43‬ك‪ )6‬برنامه سمبلیک برای جمع ‪ 411‬عدد اسكت‪ .‬طبكو‬
‫فلوچارت ارائه شده برای مرور اول اسمبلر داريم‪:‬‬
‫‪LOP‬‬ ‫‪415‬‬ ‫‪ 10010   FF9C16‬‬
‫‪ADS‬‬ ‫‪41B‬‬ ‫‪ 75 10  0048 16‬‬
‫‪PTR‬‬ ‫‪41C‬‬ ‫‪23 10  0017 16‬‬
‫‪NBR‬‬ ‫‪41D‬‬
‫‪CTR‬‬ ‫‪41E‬‬
‫‪SUM‬‬ ‫‪41F‬‬

‫در عبككارات بككاال مكككان ‪ 415‬يعنككي ‪ 45‬امككین دسككتورالعمل بعككد از دسككتورالعمل‬


‫بقیه نیز به همین ترتیب‪.‬‬ ‫‪ORG‬‬ ‫‪411‬‬
‫ب)‬
‫معماري كامپيوتر ‪010 /‬‬

‫(بالك آغاز شده به وسهله سمبل) گاهي براس رزرو‬ ‫‪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‬‬ ‫مقدار به شانزده شانزدهي‬

‫)‪(non MRI‬‬ ‫ب) ذخیره جدول دستورات‬


‫برای مثال برای دستور ‪ CMA‬داريم‪:‬‬
‫معماري كامپيوتر ‪011 /‬‬

‫‪CMA‬‬
‫‪Memory word‬‬ ‫‪symbol‬‬ ‫‪Hex‬‬
‫‪4‬‬ ‫‪C‬‬ ‫‪M‬‬ ‫‪13‬‬ ‫‪53‬‬
‫‪6‬‬ ‫‪A‬‬ ‫‪space‬‬ ‫‪14‬‬ ‫‪61‬‬
‫مقدار (‪)Value‬‬ ‫مقدار به شانزده شانزدهي‬

‫‪11‬ـ برنامه اسمبلي (معادل دودويي دستورالعملها) تولهد شده به وسهله كامپايلر‬
‫را براس عبارت شرطي زير بدست آوريد‪:‬‬

‫‪IF  A  B10, 20, 30‬‬


‫حل‪:‬‬
‫توضهح‪ :‬برنامه شروب زير را چک كرده و انشعاب پیدا ميكند‪:‬‬

‫‪<0‬‬ ‫آدرس ‪41‬‬ ‫”‪“NUM10‬‬

‫)‪(A-B‬‬ ‫‪=0‬‬ ‫آدرس ‪61‬‬ ‫”‪“NUM20‬‬

‫‪0‬‬ ‫آدرس ‪31‬‬ ‫"‪"NUM30‬‬

‫ابتدا عمل تفريو را انجام داده سپس با استفاده از دسكتورالعملهای مقايسكه و گكذر‬
‫انشعابهای الزم را انجام ميدهیم‪ :‬دو نمونه از برنامكههايي‬ ‫‪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‬خواهد بود‪000616 :‬‬
‫ب) و ج)‬

‫‪13‬ـ يك حلقه برنامه با استفاده از اشارهگر و شمارنده بنويسهد كه محتواس ميا‬


‫شانزده شانزدهي ‪ 511‬تا ‪ 5FF‬را ‪ 1‬كند‪.‬‬
‫‪ / 016‬معماري كامپيوتر‬

‫حل‪ :‬در ارتباب با مقدار شمارنده ميبايست فاصله دهدهي ‪ 511‬تا ‪ 5FF‬را در مبنای‬
‫‪ 46‬مثاسبه كنیم‪.‬‬
‫‪0  F 16‬‬
‫‪16  16  256 10‬‬
‫‪0  F 16‬‬

‫بنابراين ‪ CTR = -256‬انتخاب ميشود به عنوان شمارنده باالرونده‪.‬‬


‫در ضمن در ارتباب با افزايش اشاره گر برای دسترسي به مكان هكای بعكدی دو راه‬
‫داريم‪:‬‬
‫‪ )4‬مثتوای اشارهگر در رجیستر ‪ AC‬ريختكه شكده و از دسكتورالعمل ‪ INC‬اسكتفاده‬
‫كنیم‪.‬‬
‫‪ )6‬از دستورالعمل ‪ ISZ‬استفاده كنكیم‪ .‬زيكرا اطمینكان داريكم مقكدار اشكارهگر صكفر‬
‫نخواهد شد‪.‬‬
‫پس داريم‪:‬‬
‫‪ORG 100‬‬
‫‪LDA ADS‬‬
‫‪STA PTR‬‬
‫‪LDA NBR‬‬
‫‪STA CTR‬‬
‫‪CLA‬‬
‫‪LOP, STA PTR I‬‬
‫‪ISZ PTR‬‬
‫‪ISZ CTR‬‬
‫‪BUN LOP‬‬
‫‪HLT‬‬
‫‪ADS , HEX 500‬‬
‫‪PTR, HEX 0‬‬
‫‪NBR , DEC – 256‬‬
‫‪CTR , HEX 0‬‬
‫‪END‬‬
‫‪14‬ـ برنامهاس بنويسهد كه دو عدد را با روش جمع تيرارس‪ ،‬درهم ضـرب كنـد‪.‬‬
‫مثالً براس ضرب ‪ ، 5×4‬برنامه ‪ 5‬را چهار بار جمع كند‪ ،‬يعني ‪5 + 5 + 5 + 5‬‬
‫معماري كامپيوتر ‪011 /‬‬

‫حل‪ :‬در اين روش ضكرب طبكو صكورت سكؤال عكدد دوم در شكمارنده قكرارداده‬
‫ميشود و عدد اول با خودش جمع ميشود تا بعد از رسیدن شمارنده باالرونده به عكدد‬
‫‪ 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‬معماري كامپيوتر‬

‫بايد ‪ 65536‬بار بشمارد‪ .‬يعني‪:‬‬

‫شمارش‬ ‫شمارش‬
‫‪CTR:‬‬ ‫‪-8‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪……….‬‬
‫‪ 8‬بار‬ ‫‪65536‬بار‬
‫اجرای اول‬ ‫اجرای دوم‬

‫همچنین متغیر ‪ P‬نیز حاصلضرب در اجرای قبلي الگوريتم باقي خواهد مانكد‪ .‬بكرای‬
‫رفع اين اشكال ‪ CTR‬و ‪ P‬را مقداردهي اولیه ميكنیم‪:‬‬

‫‪LDA‬‬ ‫‪NBR‬‬ ‫‪CTR‬‬ ‫مقداردهي اولیه‬


‫‪STA‬‬ ‫‪CTR‬‬
‫‪CLA‬‬
‫‪STA‬‬ ‫‪P‬‬ ‫‪0‬‬ ‫مقداردهي اولیه ‪ P‬يا‬
‫‪...........‬‬
‫‪............‬‬
‫‪NBR , DEC – 8‬‬
‫‪CTR , Hex‬‬ ‫‪0‬‬
‫‪P , Hex‬‬ ‫‪0‬‬

‫‪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‬معماري كامپيوتر‬

‫‪NOT‬‬ ‫‪6‬ك رسم تابع منطقي با گیتهای ‪ AND‬و‬

‫برنامه بدين شرح خواهد بود‪:‬‬


‫‪LDA y‬‬
‫‪CMA‬‬
‫‪AND x‬‬
‫‪CMA‬‬
‫')'‪STA TMP/(xy‬‬
‫‪LDA x‬‬
‫‪CMA‬‬
‫‪AND y‬‬
‫‪CMA‬‬
‫‪AND TMP‬‬
‫‪CMA‬‬
‫‪STA z‬‬
‫‪HLT‬‬
‫‪x, ……..‬‬
‫‪y,……….‬‬
‫………‪z,‬‬
‫……‪TMP,‬‬
‫‪21‬ـ برنامهاس براس شهفت حسابي به چـپ بنويسـهد كـه در صـورت ر داد‬
‫سرريز به ‪ OVF‬انشعاب كند‪.‬‬
‫”‪“CIL‬‬ ‫حل‪ :‬با توجه به اينكه تنها شیفت چرخشي به چپ در دستورالعملها داريكم‬
‫برای تشخیص سرريز «مثبت شدن عدد منفي يا منفي شدن عدد مثبت» ميبايست بیكت‬
‫موجود در رقم نقلي را با بیت عالمت رجیستر بعد از اجرای دستور ‪« CIL‬در حالي ككه‬
‫‪ E‬را پاك كردهايم» مقايسه كنیم‪.‬‬
‫وجكود رخكداد‬ ‫‪E‬‬ ‫از روندنمای زير ميتوان متوجه شد كه ‪ OR‬انثصاری )‪ AC(1‬و‬
‫با ارزش ترين بیت ‪ AC‬است)‬ ‫)‪AC(1‬‬ ‫‪ OVF‬را تعیین مينمايند‪(.‬منظور از‬
‫معماري كامپيوتر ‪001 /‬‬

‫با استفاده از مقايسه و پرشها برنامه را به شكل زير طراحي ميكنیم‪:‬‬


‫‪LDA‬‬ ‫‪X‬‬
‫‪CLE‬‬ ‫‪/‬‬ ‫مقدمات شیفت به چپ حسابي‬
‫‪CIL‬‬
‫‪SZE‬‬
‫‪BUN‬‬ ‫‪ONE‬‬
‫‪SPA‬‬
‫‪BUN‬‬ ‫‪OVF‬‬ ‫‪/‬‬ ‫‪ AC, E 0‬شامل عدد منفي‬
‫‪BUN EXIT‬‬
‫‪ONE , SNA‬‬
‫‪BUN‬‬ ‫‪OVF‬‬ ‫‪/‬‬ ‫‪ AC, E  1‬شامل عدد مثبت‬
‫‪EXIT , HLT‬‬
‫‪21‬ـ زير روالي براس تفري دو عدد بنويسهد‪ .‬در برنامـه فراخواننـده‪ ،‬مفـروق و‬
‫مفروق منه به دنبال دستورالعمل ‪ BSA‬آمدهاند‪ .‬حاصل تفري به سومهن ميا پس از‬
‫‪ BSA‬در برنامه اصلي باز ميگردد‪.‬‬
‫حل‪ :‬در حقیقت سؤال به دنبال يک زيرروال همراه با پارامتردهي بكه صكورت گفتكه‬
‫شده هست‪.‬‬
‫برای برنامه صدا زننده زير روال داريم‪:‬‬
‫‪BSA‬‬ ‫‪SUB‬‬
‫‪Hex‬‬ ‫‪12 34‬‬ ‫‪4321 – 1234‬‬
‫‪Hex‬‬ ‫‪4321‬‬
‫‪Hex‬‬ ‫‪0‬‬ ‫‪/‬‬ ‫نتیجه‬
‫زير روال‪:‬‬
‫‪SUB , Hex‬‬
‫‪LDA‬‬ ‫‪SUB‬‬ ‫‪I‬‬ ‫‪/‬‬ ‫دريافت اولین پارامتر‬
‫‪ / 004‬معماري كامپيوتر‬

‫‪CMA‬‬
‫‪INC‬‬
‫‪ISZ‬‬ ‫‪SUB‬‬ ‫‪/‬‬ ‫افزايش اشارهگر برای دسترسي به پارامتر بعدی‬
‫‪ADD‬‬ ‫‪SUB‬‬ ‫‪I‬‬ ‫‪/‬‬ ‫پارامتر دوم جمع يا مكمل ‪ 6‬پارامتر اول‬
‫‪ISZ‬‬ ‫‪SUB‬‬
‫‪STA‬‬ ‫‪SUB‬‬
‫‪ISZ‬‬ ‫‪SUB‬‬
‫‪BUN‬‬ ‫‪SUB‬‬ ‫‪I‬‬
‫‪22‬ـ زيرروالي بنويسهد كـه هـر داده را در يـك بـالك مـتمم كنـد‪ .‬در برنامـه‬
‫فراخواننده‪ ،‬دو پارامتر پس از دستورالعمل ‪ BSA‬آمدهاست‪ :‬آدرس شـروع بـالك و‬
‫تعداد كلمات بالك‪.‬‬
‫آنكه آدرس شروع ‪ 10016‬و تعداد كلمات حافظه ‪ 36‬است داريم‪:‬‬ ‫حل‪ :‬با فر‬
‫برنامه صد زننده زير روال‪:‬‬
‫‪BSA‬‬ ‫‪CMP‬‬
‫‪Hex‬‬ ‫‪100‬‬
‫‪DEC‬‬ ‫‪32‬‬

‫‪CMP , Hex 0‬‬


‫‪LDA CMP I‬‬
‫‪STA‬‬ ‫‪PTR‬‬
‫‪ISZ‬‬ ‫‪CMP‬‬
‫‪LDA CMP I‬‬
‫‪CMA‬‬
‫‪INC‬‬
‫‪CMA‬‬
‫‪INC‬‬
‫‪STA‬‬ ‫‪CTR‬‬ ‫‪/‬‬ ‫شمارنده‬
‫‪LOP, LDA PTR‬‬ ‫‪I‬‬
‫‪CMA‬‬
‫‪STA PTR I‬‬
‫‪ISZ‬‬ ‫‪PTR‬‬
‫‪ISZ‬‬ ‫‪CTR‬‬
‫‪BUN LOP‬‬
‫‪ISZ‬‬ ‫‪CMP‬‬
‫‪BUN CMP I‬‬
‫……‪PTR ,‬‬
‫‪CTR, …….‬‬
‫معماري كامپيوتر ‪001 /‬‬

‫‪ ISZ‬صرفاً برای افزايش يكک واحكد‬ ‫‪PTR‬‬ ‫‪ ISZ‬و‬ ‫‪CMP‬‬ ‫در دستورالعملهای باال‬
‫استفاده شدهاند‪.‬‬

‫را چهار بار به راست بچرخانـد‪ .‬اگـر ابتـدا‬ ‫‪AC‬‬ ‫‪23‬ـ زير روال بنويسهد كه ‪ E‬و‬
‫محتواس ‪ AC‬برابر ‪ 079C16‬و ‪ E  1‬باشد‪ ،‬محتواس آنها پـس از اجـراس زيـر روال‬
‫چهست؟‬
‫حل‪ :‬طبو صورت سؤال داريم‪:‬‬
‫‪CR4 , Hex 0‬‬
‫‪CIR‬‬
‫‪CIR‬‬
‫‪CIR‬‬
‫‪CIR‬‬
‫‪BUN CR4 I‬‬
‫در رابطه با مقادير داريم‪:‬‬
‫‪AC :079C16  0000 0111‬‬ ‫‪1001‬‬ ‫‪11002 , E  1‬‬
‫‪AC  1000 0011 1100 11102 , E  0‬‬ ‫بعد از چرخش اول‬
‫‪AC  0100 0001‬‬ ‫‪1110 01112 , E  0‬‬ ‫بعد از چرخش دوم‬
‫‪AC  0010 0000‬‬ ‫‪1111 00112 , E  1‬‬ ‫بعد از چرخش سوم‬
‫‪AC  1001‬‬ ‫‪0000 01111 0111 10012 , E  1‬‬ ‫بعد از چرخش چهارم‬
‫بنابراين بعد از اجرای زير روال‪:‬‬
‫‪AC  907916 , E  1‬‬
‫‪24‬ـ برنامه اس بنويسهد كه كاراكترهاس ورودس را بپذيرد‪ ،‬هـر دو كـاراكتر را در‬
‫يك كلمه فشرده كند و پشت سر هم در بافر حافظه ذخهره نمايد‪ .‬اولهن آدرس بـافر‬
‫‪ 40016‬و اندازه آ ‪  51210‬است‪ .‬اگر بافر سرريز كند كـامپهوتر بايسـتي متوقـف‬
‫مي شود‪.‬‬
‫«جدول ‪61‬ك‪ 6‬كتاب» دريافكت و فشكرده‬ ‫‪IN2‬‬ ‫شود كه زير روال به اسم‬ ‫حل‪ :‬فر‬
‫كردن دو كاراكتر در يک كلمه را بر عهده دارد‪.‬‬
‫‪ / 006‬معماري كامپيوتر‬

‫برنامه به صورت زير است‪:‬‬


‫‪LDA‬‬ ‫‪ADS‬‬
‫‪STA‬‬ ‫‪PTR‬‬ ‫‪/‬‬ ‫تنظیم اشارهگر‬
‫‪LDA‬‬ ‫‪NBR‬‬
‫‪STA‬‬ ‫‪CTR‬‬ ‫‪/‬‬ ‫تنظیم شمارنده‬
‫‪LOP , BSA‬‬ ‫‪IN2‬‬ ‫‪/‬‬ ‫بعد از اجرای اين زير روال دو كاراكتردر ‪ AC‬هستند‬
‫‪STA PTR‬‬ ‫‪I‬‬
‫‪ISZ‬‬ ‫‪PTR‬‬ ‫‪/‬‬ ‫صرفاً افزايش اشارهگر‬
‫‪ISZ‬‬ ‫‪CTR‬‬ ‫‪/‬‬ ‫افرايش و مقايسه شمارنده‬
‫‪BUN LOP‬‬
‫‪HLT‬‬
‫‪ADS , Hex‬‬ ‫‪400‬‬
‫‪PTR , Hex‬‬ ‫‪0‬‬
‫‪NBR , DEC‬‬ ‫‪- 512‬‬
‫‪CTR , Hex‬‬ ‫‪0‬‬

‫‪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‬بككا ايككن تفككاوت كككه هنگككام‬
‫‪  FFFF16‬بكودن ‪ 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‬ـ تفاوت بهن ريز پردازنده و ريز برنامه چهست؟ آيا ميتوا ريـز پردازنـدهاس‬
‫بدو يك ريز برنامه طراحي كرد؟ آيا همهس كامپهوترهاس ريز برنامهريزس شده ريـز‬
‫پردازنده هستند؟‬
‫حل‪ :‬يک ريز پردازنده يک پردازنده كوچک است (كامپیوتری بر روی يک تراشكه)‪.‬‬
‫ريز برنامه برنامهای است شامل دنبالهای از ريز عملها واحد كنترل يک ريكز پردازنكده‬
‫ميتواند به صورت سختافزاری (سیمبندی) يا ريز برنامكهريزی شكده باشكد براسكاس‬
‫طراحي مورد نظر لزومي ندارد يک كامپیوتر ريز برنامهريزی شده ريز پردازنده باشد‪.‬‬
‫‪2‬ـ تفاوت بهن كنترل سختافزارس و كنترل ريز برنامهنويسي شده را بها كنهـد‪.‬‬
‫آيا ميتوا يك كنترل سختافزارس مرتبط شده با يك حافظه كنترلي داشت؟‬
‫حل‪ :‬واحد كنترل سختافزاری كامالً به صورت سختافزاری پیادهسكازی شكده ككه‬
‫دارای سرعت بااليي است اما در برابر تغییر مجموعه دسكتورها انعطافپكذير نیسكت و‬
‫بايد دوباره طراحي و پیادهسازی شود‪ .‬واحد كنترل ريكز برنامهنويسكي شكده تركیبكي از‬
‫سككختافزار بككرای اجككرای ريككز عملهككا و حافظككهای شككامل ريككز عملهاسككت كككه‬
‫انعطافپذيری بیشكتری در برابكر تغییكر مجموعكه دسكتورها دارد و نیكاز بكه طراحكي و‬
‫پیادهسازی مجدد ندارد (كافي است ريز برنامه آن را تغییكر دهكیم) امكا سكرعت كمتكری‬
‫نسبت به واحد كنترل سختافزاری دارد‪ .‬كنتكرل سكختافزاری بنكا بكه تعريكف شكامل‬
‫حافظه كنترل نیست‪.‬‬
‫‪ 3‬ـ اين اصطالحات را تعريف كنهد‪ :‬الف) ريز عمل‪ ،‬ب) ريز دسـتورالعمل‪ ،‬ج)‬
‫ريز برنامه‪ ،‬د) ريز كد‪.‬‬
‫حل‪:‬‬
‫ريز عمل‪ :‬يک عمل پايه كامپیوتر ديجیتال‬
‫ريز دستورالعمل‪ :‬يک دستور ذخیره شده در حافظه كنترل‬
‫معماري كامپيوتر ‪020 /‬‬

‫ريز برنامه‪ :‬دنبالهای از ريز دستورالعملها‬


‫ريز كد‪ :‬همان ريز برنامه است‪.‬‬
‫‪4‬ـ سازما يك كنترل زير برنامهنويسي شده كه در شيل ‪1‬ـ‪ 7‬نشـا داده شـده‬
‫‪10 ns‬‬ ‫است داراس تأخهرهاس انتشارس زير اسـت‪ 40ns .‬بـراس تولهـد آدرس بعـدس‪،‬‬
‫براس انتقال آدرس به داخل ثبات كنترل آدرس و ‪ 40ns‬بـراس دسـتهابي بـه حافظـه‬
‫براس انتقال ريز دستورالعمل به ثبات كنترل داده و ‪ 40ns‬براس‬ ‫‪10ns‬‬ ‫كنترلي ‪ ROM‬و‬
‫اجراس ريز عمل مورد نظر كه به وسهله كلمه كنترلي مشخص شده اسـت‪ .‬حـداكثر‬
‫فركانس پالس ساعتي كه كنترل ميتواند به كار ببرد چهست؟ اگر ثبات كنتـرل داده‬
‫بيار نرود‪ ،‬فركانس ساعت چه خواهد بود؟‬
‫حل‪:‬‬

‫با توجه به شكل داريم‪:‬‬


‫زمان مورد نیاز برای انجام يک مرحله‪:‬‬
‫‪  10  40  10  40  100 ns‬حداقل زمان‬
‫‪CAR‬‬ ‫‪ROM‬‬ ‫‪Data Reg‬‬ ‫)‪Max (Micro Operations , Sequencer‬‬
‫پس‪:‬‬
‫‪ / 022‬معماري كامپيوتر‬

‫‪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 109‬‬
‫‪ 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 /‬‬

‫پس ثبات آدرس كنترل ‪ 46‬بیتي است‪.‬‬


‫ب) هر يك از چها ورودس كه به داخل مالتي پليسـر ميرونـد چنـد بهتيانـد؟‬
‫‪46‬بیتي چون وارد ثبات آدرس ميشوند كه شامل ‪ 46‬بیت آدرس است‪.‬‬
‫ج) تعداد ورودسهاس هر مالتي پليسر چنـد اسـت و چنـد مـالتي پليسـر بزم‬
‫است؟ برای هر بیت يک مالتي پلكسر نیكاز داريكم ككه از بكین چهكار ورودی مختلكف‬
‫انتخاب كند پس ‪ 46‬مالتي پلكسر ‪ 1‬به ‪ 4‬نیاز است‪.‬‬
‫‪7‬ـ با استفاده از روال نگاشت كه در شيل ‪3‬ـ‪ 7‬توصهف شد‪ ،‬براس هـر يـك از‬
‫كدهاس عملهاتي زير آدرس اولهن ريز دستورالعمل را بنويسهد‪.‬‬
‫ج) ‪1111‬‬ ‫؛‬ ‫؛ ب) ‪1111‬‬ ‫الف) ‪1111‬‬
‫حل‪:‬‬
‫‪( 0010  0001000  8‬الف‬
‫‪( 1011  0101100  44‬ب‬
‫‪( 1111  0111100  60‬ج‬
‫‪ 8‬ـ يك روال نگاشت تنظهم كنهد كه هشت ريز دستورالعمل متوالي را براس هـر‬
‫روال در اختهار بگذارد‪ .‬كد عملهاتي شش بهتي است و حافظه كنترلـي ‪ 2148‬كلمـه‬
‫دارد‪.‬‬
‫حل‪:‬‬
‫بیت ‪ = 6‬كد عمل‬
‫بیت ‪ =44‬آدرس حافظه كنترل‬
‫رويه نگاشت به اين صورت خواهد بود‪.‬‬
‫شیفت مورد نیاز ‪8 = 63‬‬
‫‪ 000‬‬
‫‪ 00‬‬
‫‪‬‬
‫‪ / 024‬معماري كامپيوتر‬

‫‪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‬‬
‫ب)‬

‫‪PC  PC  1 , DR  M AR ‬‬


‫ج)‬
021 / ‫معماري كامپيوتر‬

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 )‫ج‬

‫ ريز اعمال سمبلهك زير را به عبارات انتقال ثباتي‬،7‫ـ‬1 ‫ـ با استفاده از جدول‬12


.‫و دودويي تبديل كنهد‬
READ , INCPC )‫الف‬
ACTDR , DRTAC )‫ب‬
ARTPC , DRTAC , WRITE )‫ج‬
:‫حل‬
READ DR  M  AR  F2  100 Binary
‫(الف‬
INCPC PC  PC  1 F3  101 000100101

ACTDR DR  AC F2  101 100101000


‫(ب‬
DRTAC AC  DR F1  100

ARTPC PC  AR F3  110
‫(ج‬ DRTAC AC  DR F1100 .‫ استفاده ميكنند‬F1 ‫غیرممكن هر دو از‬
WRITE M  AR   DR F1  111

‫ را بـه دو‬7-2 ‫ بها شـده در جـدول‬ADD ‫ـ فرض كنهد كه ميخواههم روال‬13


:‫ريز دستورالعمل زير تبديل كنهم‬
ADD: READ I CALL INDR2
ADD U IMP FETCH
‫ چه بايد باشد؟‬INDR2 ‫زير روال‬
‫‪ / 026‬معماري كامپيوتر‬

‫حل‪:‬‬
‫اگر ‪ 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‬پرش ميكنكد‪ .‬در غیكر ايكن صكورت ‪  AC0‬اگكر‬
‫باشد ابتدا روال ‪ INDRCT‬را فراخواني ميكنكد تكا آدرس مكؤثر بدسكت آيكد و سكپس‬
‫مثتوای ‪ AR‬را در ‪ PC‬قرار ميدهد (انشعاب اگر ‪ AC‬مثبت و غیر صفر باشد‪).‬‬
‫(‪ EA‬آدرس مؤثر است‪if  AC 0 then  PC  EA  ).‬‬

‫ب) چهار ريز دستورالعمل را به فرم معادل دودويي آنها تبديل كنید‪.‬‬
‫معماري كامپيوتر ‪021 /‬‬

‫‪40 :‬‬ ‫‪000‬‬ ‫‪000‬‬ ‫‪000‬‬ ‫‪1000‬‬ ‫‪1000000‬‬


‫‪41 :‬‬ ‫‪000‬‬ ‫‪000‬‬ ‫‪000‬‬ ‫‪1100‬‬ ‫‪1000000‬‬
‫(ب‬
‫‪42 :‬‬ ‫‪000‬‬ ‫‪000‬‬ ‫‪000‬‬ ‫‪0101‬‬ ‫‪1000011‬‬
‫‪43 :‬‬ ‫‪000‬‬ ‫‪000‬‬ ‫‪110‬‬ ‫‪0000‬‬ ‫‪1000000‬‬

‫‪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‬‬

‫‪SUB‬‬ ‫‪1111‬‬ ‫‪AC  AC  M  EA‬‬ ‫تفري‬

‫‪ADM‬‬ ‫‪1111‬‬ ‫‪M  EA  M  EA  AC‬‬ ‫جمع با حافظه‬

‫ماسك كـرد بهتهـا بـا‬


‫‪BTCL‬‬ ‫‪1111‬‬ ‫‪AC  AC  MEA‬‬
‫مقدار حافظه‬
‫انشعاب در صورت صفر‬
‫‪BZ‬‬ ‫‪1111‬‬ ‫‪if  AC  0 then  PC  EA ‬‬
‫بود ‪AC‬‬

‫‪SEQ‬‬ ‫‪1111‬‬ ‫‪if  AC  MEA then  PC PC 1‬‬ ‫گذر در صورت برابرس‬

‫انشعاب اگر ‪ AC‬مثبت و‬


‫‪BPNZ‬‬ ‫‪1111‬‬ ‫‪if  AC  0 then  PC  EA ‬‬
‫غهر صفر باشد‪.‬‬

‫حل‪ :‬برنامه سمبلیک روالها به صورت زير است‪:‬‬


‫معماري كامپيوتر ‪029 /‬‬
‫‪ / 011‬معماري كامپيوتر‬

‫‪17‬ـ يك روال ريز برنامه براس دستورالعمل ‪( ISZ‬افـزايش و عبـور در صـورت‬


‫صفر بود ) كه در فصل ‪( 5‬جدول ‪4‬ــ‪ )5‬تعريـف شـده بنويسـهد‪ .‬از قالـب ريـز‬
‫دستورالعمل بخش ‪3‬ـ‪ 7‬استفاده كنهد‪ .‬توجه كنهد كـه شـرط وضـعهت ‪ DR  0‬در‬
‫‪DR‬‬ ‫مهدا ‪ CD‬كامپهوتر بخش ‪3‬ـ‪ 7‬در دسترس نهست‪ ،‬با اين وجود ميتوانهد ‪ AC‬و‬
‫است يا نه‪.‬‬ ‫‪AC 0‬‬ ‫را با هم تعويض كرده و با بهت ‪ Z‬چك كنهد كه آيا‬
‫حل‪:‬‬

‫‪18‬ـ روال ريز برنامه سمبلهك را بـراس دسـتورالعمل ‪( BSA‬انشـعاب و ذخهـره‬


‫آدرس) كه در فصل ‪ 5‬تعريف شد بنويسهد (جدول ‪4‬ـ‪ .)5‬از قالب ريز دستورالعمل‬
‫بخش ‪3‬ـ‪ 7‬استفاده كنهد‪ .‬تعداد ريز دستورالعملها را به كمهنه ترين حالت برسانهد‪.‬‬
‫معماري كامپيوتر ‪010 /‬‬

‫حل‪:‬‬

‫‪19‬ـ نشا دههد كه چگونه خروجيهاس ‪ 5‬و ‪ 6‬دييـدر ‪ F3‬در شـيل ‪7‬ــ‪ 7‬بـه‬
‫شمارنده برنامه ‪ PC‬وصل ميشوند‪.‬‬
‫حل‪ :‬از جدول ‪4‬ك‪ 4‬داريم‪:‬‬
‫‪F3 101  5 ‬‬ ‫‪PC  PC  1‬‬

‫‪F3  110 6 ‬‬ ‫‪PC  AR‬‬

‫‪21‬ـ نشا دههد كه چگونه يك مهدا ‪ 9‬بهتي ريز عمل در ريـز دسـتورالعمل را‬
‫ميتوا به زير مهدا هايي تقسهم كرد تا ‪ 46‬ريز عمل را مشخص نمايند؟ چنـد ريـز‬
‫عمل ميتوا در يك ريز دستورالعمل مشخص كرد؟‬
‫حل‪:‬‬
‫ريز عمل را مشخص كند‪.‬‬ ‫‪25 -1(NOP)=31‬‬ ‫يک زير میدان ‪ 5‬بیتي ميتواند‬
‫ريز عمل را مشخص كند‪.‬‬ ‫‪24  1  15‬‬ ‫يک زير میدان ‪ 1‬بیتي ميتواند‬
‫بیت ‪5 + 1 = 5‬‬
‫‪34 + 45 = 16‬‬ ‫ريز عمل‬
‫‪ / 012‬معماري كامپيوتر‬

‫‪21‬ـ كامپهوترس داراس ‪ 16‬ثبات‪ ،‬يك ‪( ALU‬واحد محاسبه و منط ) با ‪ 32‬عمـل‬


‫و يك شهفت دهنده با هشت عمل است كه همگي به يك سهستم گـذرگاه مشـترك‬
‫متصلاند‪.‬‬
‫الف) براس يك ريز عمل كلمه كنترلي بنويسهد‪.‬‬
‫‪SRC1‬‬ ‫‪SRC2‬‬ ‫‪DEST‬‬ ‫‪ALU‬‬ ‫‪SHIFT‬‬
‫‪4‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪5‬‬ ‫‪3‬‬

‫ب) تعداد بهت ها را در هر مهدا كلمـه كنترلـي مشـخص كنهـد و يـك طـرح‬
‫رمزگذارس كلي را ارائه نمايهد‪.‬‬
‫‪ 46‬ثبات به چهار بیت برای انتخاب نیاز دارد‪ 36 .‬عمل ‪ ALU‬بكه ‪ 5‬بیكت و ‪ 8‬عمكل‬
‫شیفت به ‪ 3‬بیت برای انكد كردن عمل نیاز دارند‪ .‬برای هر عمل به سه ثبات نیاز داريم‪.‬‬
‫را نشا دههد‪.‬‬ ‫‪R 4  R 5  R6‬‬ ‫ج) بهتهاس كلمه كنترل ريز عمل‬

‫‪R5‬‬ ‫‪R6‬‬ ‫‪R4‬‬ ‫‪ADD‬‬ ‫‪SHIFT‬‬


‫‪1414‬‬ ‫‪1441‬‬ ‫‪1411‬‬ ‫‪11411‬‬ ‫‪111‬‬

‫‪22‬ـ فرض كنهد كه منط ورودس تواليگر ريز برنامه شيل ‪ 8‬ـ‪ 7‬چهـار ورودس‬
‫را داراست‪ .‬عملهات اجرا شده در‬ ‫‪L‬‬ ‫و‬ ‫‪S0 , S1‬‬ ‫و ‪( T‬تست) و سه خروجي‬ ‫‪I0 , I1 , I2‬‬

‫واحد در جدول زير لهست شده است‪ .‬يك مدار منطقي ورودس با استفاده از حداقل‬
‫تعداد گهتها طراحي كنهد‪.‬‬

‫‪I2‬‬ ‫‪I1‬‬ ‫‪I0‬‬ ‫عمل‬


‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪T 0‬‬ ‫افزايش ‪ CAR‬اگر ‪ ، T  1‬پرش به ‪ AD‬اگر‬
‫‪X‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫پرش به ‪ AD‬بدو شرط‬
‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪CAR‬‬ ‫افزايش بدو شرط‬
‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪T 0‬‬ ‫پرش به ‪ AD‬اگر ‪ ، T  1‬افزايش ‪ CAR‬اگر‬
‫معماري كامپيوتر ‪011 /‬‬

‫اگـر‬ ‫‪CAR‬‬ ‫فراخواني زير روال اگر ‪ ، T  1‬افزايش‬


‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬
‫‪T 0‬‬
‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫بازگشت بدو شرط از زير روال‬
‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫نگاشت بدو شرط آدرس خارجي‬

‫حل‪:‬‬
‫‪ / 014‬معماري كامپيوتر‬

‫‪23‬ـ يك افزايشگر تركهبي ‪ 7‬بهتي براس تواليگر ريز برنامه شيل ‪ 8‬ـ ‪ 7‬طراحي‬
‫كنهد (شيل ‪ 8‬ـ‪ )4‬با اضافه كرد يك ورودس كنترلي ‪ D‬افزايشگر را ت ههـر دههـد‪.‬‬
‫وقتي ‪ D 0‬است‪ ،‬مدار يك واحد افزايش مييابد‪ ،‬ولي وقتي ‪ D  1‬است مـدار دو‬
‫واحد افزايش مييابد‪.‬‬
‫حل‪:‬‬
‫الف) افزايشگر تركهبي ‪ 7‬بهتي‪:‬‬

‫ب) مدار ت ههر يافته‪:‬‬


‫معماري كامپيوتر ‪011 /‬‬

‫انحصارس‬ ‫‪OR‬‬ ‫‪24‬ـ بهن ‪ MUX2‬و مدار منطقي ورودس در شيل ‪ 8‬ـ‪ 7‬يك گهت‬
‫قرار دههد‪ .‬ييي از ورودسهاس گهت از خروجي آزمايشي مـالتي پليسـر وارد مـي‬
‫شود‪ .‬ورودس ديگر گهت از بهتي با نام ‪( P‬به معنـي قطبهـت) در ريـز دسـتورالعمل‬
‫حاصل از حافظه كنترلي ميآيد‪ .‬خروجي گهت به ورودس ‪ T‬در مدار منطقي ورودس‬
‫متصل ميشود‪ .‬كنترل قطبهت ‪ P‬چه كارس انجام ميدهد؟‬
‫حل‪:‬‬
‫‪ P‬برای تعیین قطبیت بیت وضعیت انتخاب شده به كار ميرود‪.‬‬

‫زماني كه ‪ T  G , P 0‬زيرا ‪G 0  G‬‬


‫زماني كه ‪ T  G ' ,P  1‬زيرا ' ‪G 1 G‬‬

‫كه در آن ‪ G‬مقدار بیت وضعیت انتخاب شده در ‪ MUX2‬است‪.‬‬


‫‪ / 016‬معماري كامپيوتر‬

‫فصل هشتم‪ :‬واحد مركزی پردازش‬


‫‪1‬ـ يك ‪ CPU‬با ساماندهي گذرگاه مشابه با شيل ‪2‬ـ‪ 8‬داراس ‪ 16‬ثبات ‪ 32‬بهتـي‪،‬‬
‫يك ‪ ALU‬و يك رمزگشاس مقصد است‪.‬‬
‫وجود دارد و اندازه هـر مـولتي پليسـر‬ ‫‪A‬‬ ‫الف) چند مولتي پليسر در گذرگاه‬
‫چقدر است‪.‬‬
‫ب) چند ورودس انتخابكننده براس ‪ MUX A‬و ‪ MUX B‬بزم است‪.‬‬
‫ج) در دييدر چند ورودس و خروجي وجود دارد؟‬
‫د) چند ورودس و خروجي داده ‪ ،‬از جملـه ورودس و خروجـي رقـم نقلـي‪ ،‬در‬
‫‪ ALU‬وجود دارد‪.‬‬
‫هـ) با فرض وجود ‪ 35‬عمل در ‪ ،ALU‬كنترل را براس سهستم فرمولبندس كنهد‪.‬‬
‫حل‪:‬‬
‫الف) رجیسترها ‪ 36‬بیتي و ‪ 46‬رجیستر ‪ 36 ‬مالتي پلكسر هركدام ‪46×4‬‬
‫‪ 1‬ورودی برای انتخاب يكي از ‪ 46‬رجیستر‬ ‫‪MUX‬‬ ‫ب) ‪ 46‬رجیستر ‪ ‬هر‬
‫ج) ‪ 46‬رجیستر ‪ ‬ديكدر ‪ 1‬به ‪46‬‬
‫‪32  32  1  65‬‬ ‫د) ورودی‪:‬‬
‫‪32  1  33‬‬ ‫خروجي‪:‬‬
‫‪SELD  4‬‬ ‫‪SELB  4‬‬ ‫هك) ‪ 46‬رجیستر بنابراين تعداد بیتها ‪ SEL A  4 ‬و‬
‫‪OPR‬‬ ‫‪ 35‬دستورالعمل ‪ ‬بیت ‪= 6‬‬
‫پس‬
‫‪1‬‬ ‫‪+1‬‬ ‫‪+1‬‬ ‫‪+6‬‬ ‫بیت ‪= 48‬‬
‫‪SELA‬‬ ‫‪SELB‬‬ ‫‪SELD‬‬ ‫‪OPR‬‬

‫‪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‬‬ ‫كلمه كنترل دودويي‬

‫‪R1  R2  R 3‬‬ ‫‪R2‬‬ ‫‪R3‬‬ ‫‪R1‬‬ ‫‪ADD‬‬ ‫‪141 144 11411141‬‬

‫‪R4  R4‬‬ ‫‪R4‬‬ ‫ككك‬ ‫‪R4‬‬ ‫‪COMA‬‬ ‫‪411 111 41114441‬‬

‫‪R5  R5  1‬‬ ‫‪R5‬‬ ‫ككك‬ ‫‪R5‬‬ ‫‪DECA‬‬ ‫‪414 111‬‬ ‫‪41411441‬‬

‫‪R6  SH1R1‬‬ ‫‪R1‬‬ ‫ككك‬ ‫‪R6‬‬ ‫‪SHLA‬‬ ‫‪114 111 44144111‬‬

‫‪R 7  Input‬‬ ‫‪Iuput‬‬ ‫ككك‬ ‫‪R7‬‬ ‫‪TSFA‬‬ ‫‪111‬‬ ‫‪111‬‬ ‫‪44411111‬‬


‫‪ / 018‬معماري كامپيوتر‬

‫‪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‬‬

‫ب) ‪FULL 0, EMPTY  1‬‬

‫حل‪:‬‬
‫الف) پشته با ‪ 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 ‬‬

‫‪A  B* C*D  E*  F  G ‬‬ ‫ج)‬


‫‪A* B  C*  D  E ‬‬ ‫د)‬

‫‪F*  G  H ‬‬
‫ابتكدا درخكت عبكارت براسكاس‬ ‫‪RPN‬‬ ‫حل‪ :‬در تبديل عبارات میانوندی به عبارات‬
‫اولويت پايین به باال را رسم كرده و سپس پیمايش ‪ Postorder‬انجام مكيدهیم‪( .‬پیمكايش‬
‫‪ post‬ابتدا فرزند سمت چپ سپس فرزند سمت راست و سپس پكدر را پیمكايش‬ ‫‪order‬‬

‫ميكند‪).‬‬
‫مثال‪:‬‬
‫‪3  2* 5  8 ‬‬
‫‪‬‬
‫پیمايش‬
‫‪3258+*+‬‬
‫به همین ترتیب برای اين سؤال داريم‪:‬‬
‫(الف‬ ‫‪AB*CD*EF* ‬‬

‫(ب‬ ‫‪AB*ABD*CE*  * ‬‬


‫‪ / 041‬معماري كامپيوتر‬

‫(ج‬ ‫‪FG  E*CD* B*A ‬‬

‫(د‬ ‫‪ABCDE  *  *FGH  */‬‬

‫‪ 8‬ـ عبارت محاسباتي زير را از ‪ RPN‬به مهانوندس تبديل كنهد‪.‬‬


‫‪ABCDE  *  /‬‬ ‫الف)‬
‫‪ABCDE*/ ‬‬ ‫ب)‬
‫‪ABC*/ D  EF/ ‬‬ ‫ج)‬
‫* ‪ABCDEFG  *  * ‬‬ ‫د)‬
‫حل‪ :‬روند پاسخ اين سؤال عكس سؤال قبل است‪ .‬يعني تبديل فكرم ‪ RPN‬بكه فكرم‬
‫میانوندی عبارت در اين سؤال نیز برای عبكارت يكک پشكته ترتیكب داده و از چكپ بكه‬
‫راست عمل ميكنیم‪:‬‬
‫در صورت برخورد با عملوند آن را در پشته ‪ push‬ميكنیم‪.‬‬
‫در صورت برخورد با عملگر دو عنصر باالی پشته را چپ و راسكت عملگكر قكرار‬
‫ميدهیم و پس عبارت را مثاسبه كرده نتیجه را در پشته ‪ push‬ميكنیم‪.‬‬
‫پس داريم‪:‬‬
‫‪A‬‬
‫(الف‬ ‫‪ABCDE  *  / ‬‬
‫‪B   D  E  *C‬‬
‫‪C‬‬
‫(ب‬ ‫‪ABCDE*/    A  B ‬‬
‫‪D*E‬‬
‫‪A‬‬ ‫‪E‬‬
‫(ج‬ ‫‪ABC* / D  EF /  ‬‬ ‫‪D ‬‬
‫‪B*C‬‬ ‫‪F‬‬
‫(د‬ ‫‪ABCDEFG  *  *  *‬‬ ‫‪ F  G  *E  D *C  B *A‬‬
‫‪9‬ـ عبارت محاسباتي عددس زير را به ‪ RPN‬تبـديل و عملهـات پشـته را بـراس‬
‫محاسبه نتهجه نشا دههد‪.‬‬
‫])‪[(3+4)(10(2+6)+8‬‬
‫حل‪ :‬ابتدا عبارت را به فرم ‪ RPN‬تبديل كرده و سپس روند مثاسبه عبارت بكا پشكته‬
‫را اجرا ميكنیم‪.‬‬
‫معماري كامپيوتر ‪040 /‬‬

‫‪ 3  4 102  6  8   616‬‬


‫‪‬‬
‫‪RPN‬‬
‫* ‪ 34  26  10* 8 ‬‬
‫‪push‬‬ ‫حال داريم‪ :‬از چپ به راست در صورت برخورد با هر عملوند آن را در پشته‬
‫كرده و در صورت برخورد با عملگر عمل عملگر را بكا دو عنصكر بكاالی پشكته انجكام‬
‫ميدهیم‪ .‬در هكر سكتون بكاالترين داده عنصكر بكاالی پشكته اسكت‪.‬ترتیب برخكورد بكا‬
‫عملوندها و عملگرها در جدول از چپ به راست است‪.‬‬
‫‪6‬‬ ‫‪41‬‬ ‫‪8‬‬
‫پشته‬ ‫‪1‬‬ ‫‪6‬‬ ‫‪6‬‬ ‫‪8‬‬ ‫‪8‬‬ ‫‪81‬‬ ‫‪81‬‬ ‫‪88‬‬
‫‪3‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪646‬نتیجه‬
‫‪3‬‬ ‫‪1‬‬ ‫‪+‬‬ ‫‪6‬‬ ‫‪6‬‬ ‫‪+‬‬ ‫‪41‬‬ ‫*‬ ‫‪8‬‬ ‫‪+‬‬ ‫*‬

‫در اينجا دو نكته مهم وجود دارد‪.‬‬


‫‪4‬ك ما به تعداد عملوندها در پشته عمل ‪ push‬انجام ميدهیم‪.‬‬
‫‪6‬ك اينكه ظرفیت پشته را چقدر در نظر بگیكريم «در اينجكا مكا ظرفیكت را ‪ 3‬در نظكر‬
‫گرفته ايم» بستگي به آزمون و خطا در بدست آوردن مقكدار عبكارت بكا پشكته دارد‪ .‬در‬
‫اينجا ظرفیت ‪ 3‬برای پشته كافي بوده است‪.‬‬
‫‪11‬ـ سازما يك حافظه به شيل ‪ (FIFO‬اولهن ورودس اولهن خروجـي ) اسـت‬
‫به اين مفهوم كه اولهن داده ذخهره شده ‪ ،‬اولهن داده بازيابي شده است‪ .‬نشا دههـد‬
‫با سه شمارنده كار ميكند‪ .‬يك شـمارنده نوشـتن‪،WC ،‬‬ ‫‪FIFO‬‬ ‫چگونه يك حافظه‬
‫آدرس نوشتن در حافظه را نگه ميدارد‪ .‬يك شمارنده خواند ‪ RC‬آدرس خوانـد‬
‫در حافظه را حفظ مينمايد‪ .‬يك شمارنده فضاس موجود در حافظـه‪ ،ASC ،‬تعـداد‬
‫كلمات ذخهره شده در ‪ FIFO‬را معهن مينمايد‪ ASC .‬براس هر كلمه ذخهره شده يك‬
‫واحد اضافه ميشود و برعيس براس كلمات دريافت شده يك واحد كم ميگردد‪.‬‬
‫حل‪ :‬ساختار ‪ FIFO‬بیانگر ساختار «صف» در ساختمان دادهها ميباشد‪.‬‬
‫‪ / 042‬معماري كامپيوتر‬

‫‪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‬برای چک كردن پر يا خالي بودن صف استفاده ميشود‪.‬‬

‫‪11‬ـ يك كامپهوتر داراس دستورالعملهاس ‪ 32‬بهتي و آدرس ‪ 12‬بهتي است‪ .‬اگـر‬


‫تعداد ‪ 251‬دستورالعمل دو آدرس وجود داشته باشد‪ ،‬چه تعداد دسـتورالعمل تـك‬
‫آدرسي را ميتوا تشيهل داد؟‬
‫حل‪ :‬دستورالعملها ‪ 36‬بیتي‬
‫آدرسها ‪ 46‬بیتي‬
‫‪256  250  6 ‬‬ ‫‪ 651‬دستورالعمل ‪ 8 opcode  28  256 ‬بیتي‬
‫پس‪:‬‬
‫‪8‬‬ ‫‪+‬‬ ‫‪46‬‬ ‫‪+‬‬ ‫‪46‬‬ ‫بیت ‪= 36‬‬
‫‪Op-code‬‬ ‫‪Address 1‬‬ ‫‪Address 2‬‬
‫دستورالعملهای دو آدرسي‬
‫معماري كامپيوتر ‪041 /‬‬

‫پس‪:‬‬
‫‪Op-code‬‬ ‫‪Address‬‬

‫‪‬‬ ‫‪  6  212  24576‬ماكزيمم تعداد دستورالعملهای تک آدرسي‬


‫الزم به توضیح است اين سؤال در ترجمه كتاب موريس مانو لثاظ نشده است امكا‬
‫در متن انگلیسي آن مطرح شده است‪.‬‬
‫‪12‬ـ برنامهاس بنويسهد كه عبارت رياضي زير را محاسبه كند‪.‬‬

‫‪X  A  B  C*  D*E  F‬‬

‫‪G  H*K‬‬
‫الف) با استفاده از كامپهوتر با ثباتهاس عمومي و دستورات سه آدرسه‬
‫ب) با استفاده از كامپهوتر با ثباتهاس عمومي و دستورات دو آدرسه‬
‫ج) با استفاده از كامپهوتر نوع انبارهاس با دستورات يك آدرسه‬
‫د) با استفاده از كامپهوتر با ساماندهي پشته با دستورات صفر آدرسه‬
‫حل‪ :‬ابتدا فرم ‪ RPN‬را با توجه به مباحپ مطرح شده به دست ميآوريم‪ .‬سپس طبو‬
‫موارد گفته شده عمل ميكنیم‪.‬‬
‫فرم‬ ‫‪RPN : AB  CDE*F  *  GHK*  /‬‬

‫د) با دستورات‬ ‫ج) با دستورات‬ ‫ب) با دستورات‬ ‫الف) با دستورات‬


‫صفر آدرسي‬ ‫تك آدرسي‬ ‫دو آدرسي‬ ‫سه آدرسي‬
‫با استفاده از‬ ‫‪Load‬‬ ‫‪A‬‬
‫‪MOV R1 , A‬‬ ‫‪SUB R1 , A, B‬‬
‫‪RPN‬‬ ‫فرم‬
‫‪Push‬‬ ‫‪A‬‬ ‫‪SUB‬‬ ‫‪B‬‬
‫‪SUB R1 , B‬‬ ‫‪MUL R2 , D, E‬‬
‫‪Push‬‬ ‫‪B‬‬ ‫‪Store X‬‬
‫‪MOV R2 , D‬‬ ‫‪SUB R2 , R2 , F‬‬
‫‪ / 044‬معماري كامپيوتر‬

‫‪SUB‬‬ ‫‪Load‬‬ ‫‪D‬‬


‫‪MUL R2 , E‬‬ ‫‪MUL R2 , R2 , C‬‬
‫‪Push‬‬ ‫‪C‬‬ ‫‪MUL‬‬ ‫‪E‬‬
‫‪SUB R2 , F‬‬ ‫‪ADD R1 , R1 , R2‬‬
‫‪Push‬‬ ‫‪D‬‬ ‫‪SUB‬‬ ‫‪F‬‬
‫‪MUL R2 ,C‬‬ ‫‪MUL R2 , H, K‬‬
‫‪Push‬‬ ‫‪E‬‬ ‫‪MUL‬‬ ‫‪C‬‬
‫‪ADD R1 , R2‬‬ ‫‪ADD R2 , R2 ,G‬‬
‫‪MUL‬‬ ‫‪ADD‬‬ ‫‪X‬‬
‫‪MOV R2 , H‬‬ ‫‪DIV X, R1 , R2‬‬
‫‪Push F‬‬ ‫‪Store‬‬ ‫‪X‬‬
‫‪MUL R2 , K‬‬
‫‪SUB‬‬ ‫‪Load‬‬ ‫‪H‬‬ ‫‪ADD R2 ,G‬‬

‫‪MUL‬‬ ‫‪MUL K‬‬


‫‪DIV R1, R2‬‬
‫‪ADD‬‬ ‫‪ADD‬‬ ‫‪G‬‬
‫‪MOV X, R1‬‬
‫‪Push‬‬ ‫‪G‬‬ ‫‪Store T‬‬

‫‪Push‬‬ ‫‪H‬‬ ‫‪Load X‬‬

‫‪Push K‬‬ ‫‪DIV T‬‬

‫‪MUL‬‬ ‫‪Store X‬‬

‫‪ADD‬‬

‫‪DIV‬‬

‫‪POP X‬‬

‫‪13‬ـ واحد حافظه كامپهوتر ‪ 256K‬كلمـه ‪ 32‬بهتـي دارد‪ .‬كـامپهوتر داراس قالـب‬
‫دستورات چهار مهداني است‪ :‬مهدا كد عملهاتي ‪ ،‬مهـدا روش آدرسدهـي بـراس‬
‫هفت روش موجود‪ ،‬مهدا آدرس ثبات براس انتخاب ييي از ‪ 61‬ثبات پردازشگر‪ ،‬و‬
‫آدرس حافظه‪ ،‬قالب دستور و تعداد بهتها در هر مهدا را اگر دستور در يك كلمه‬
‫حافظه باشد معهن كنهد‪.‬‬
‫حل‪:‬‬
‫معماري كامپيوتر ‪041 /‬‬

‫ظرفیت حافظه‪ 18 256 k 28 210  218 :‬خط آدرس‬


‫‪ 6 26  64 , 60‬بیت مشخص كردن رجیستر‬ ‫تعداد رجیسترها‪:‬‬
‫‪ 3  23  8 , 7‬بیت مشخص كردن مد آدرسدهي‬ ‫تعداد مدهای آدرسدهي‪:‬‬
‫پس‪:‬‬
‫‪op-code‬‬ ‫‪Mode‬‬ ‫‪Resister‬‬ ‫‪Address‬‬
‫‪5‬‬ ‫‪+‬‬ ‫‪3‬‬ ‫‪+‬‬ ‫‪6 +‬‬ ‫‪18‬‬ ‫‪= 32‬‬
‫‪14‬ـ يك دستور دو كلمهاس در حافظه و در آدرسي كه بـا سـمبل ‪ W‬مشـخص‬
‫‪Y‬‬ ‫شده ذخهره شده است‪ .‬مهدا آدرس دستور‪( ،‬ذخهره شـده در ‪ ) W 1‬بـا سـمبل‬
‫معهن شده است‪ .‬عملوند بيار رفته در هنگام اجراس دستور در آدرس ‪ Z‬قـرار دارد‪.‬‬
‫يك ثبات انديس داراس مقدار ‪ X‬است‪ .‬نشا دههد كه چگونه ‪ Z‬از سـاير آدرسهـا‬
‫محاسبه ميشود اگر كه روش آدرسدهي دستور به شيل زير باشد‪.‬‬
‫د) انديس دار‬ ‫ج) نسبي‬ ‫ب) غهرمستقهم‬ ‫الف) مستقهم‬
‫‪Z‬‬ ‫حل‪ :‬آدرس مؤثر در‬
‫‪Z=Y‬‬ ‫الف) مستقیم‪:‬‬
‫]‪Z = M[Y‬‬ ‫ب) غیرمستقیم‪:‬‬
‫‪Z = Y+W+Z‬‬ ‫ج) نسبي‪:‬‬
‫‪PC‬‬ ‫آدرس بعدی‬
‫‪Z = Y+X‬‬ ‫و) انديس دار‪:‬‬
‫‪15‬ـ يك دستورالعمل انشعاب از نوع نسـبي در آدرس معـادل دهـدهي ‪ 751‬از‬
‫يك حافظه ذخهره شده است انشعاب به آدرس ‪ 511‬صورت گرفته است‪.‬‬
‫الف) مقدار مهدا آدرس نسبي دستور (معادل دهدهي) چقدر است؟‬
‫ب) مقدار مهدا آدرس نسبي را به دودويي در ‪ 12‬بهت نشا دههد‪( .‬چـرا بايـد‬
‫عدد به فرم ميمل ‪ 2‬باشد؟)‬
‫را پس از فاز برداشـت (واكشـي) بدسـت آوريـد و‬ ‫‪PC‬‬ ‫ج) مقدار دودويي در‬
‫‪ / 046‬معماري كامپيوتر‬

‫مقدار ‪ 511‬را محاسبه كنهد‪ ،‬سپس نشا دههد كـه مقـدار دودويـي در ‪ PC‬بعـالوه‬
‫آدرس نسبي محاسبه شده در قسمت (ب) برابر عدد دودويي ‪ 511‬است‪.‬‬
‫حل‪ :‬در خانه ‪ 411‬هستیم ‪ PC 751 ‬حال بكا چكه آدرس نسكبي بايكد بكه آدرس‬
‫‪ 511‬برويم؟‬
‫الف)‬
‫‪ :‬آدرس نسبي‬ ‫‪500 751 251‬‬

‫ب)‬
‫‪-251 =2's complement (251) = 111100000101‬‬
‫ج)‬
‫‪PC 7510010 11101111‬‬

‫‪RA :  251 111100000101‬‬

‫‪ 500  PC  RA 000111110100‬‬


‫‪16‬ـ واحد كنترل وقتي كه يك دستور با آدرس غهرمستقهم را برداشـت و اجـرا‬
‫ميكند‪ ،‬چند بار به حافظه مراجعه مينمايد اگر الف) دستور از نوع محاسباتي بـوده‬
‫و يك عملوند را از حافظه بزم داشته باشد ب) دستور از نوع انشعاب باشد‪.‬‬
‫حل‪:‬‬
‫دستورالعمل حسابي‪ = 3 :‬دريافت عملوند از حافظه ‪ +‬دريافت آدرس مؤثر ‪+‬‬
‫دريافت دستورالعمل از حافظه‬
‫دستورالعمل انشعاب ‪ = 6 :‬دريافت آدرس مؤثر و دادن آن به ‪ + PC‬دريافت‬
‫دستورالعمل از حافظه‬
‫‪ 17‬ـ مهدا آدرس يك دستور با آدرس انديس دار چه باشد تا مشابه يك دستور‬
‫غهرمستقهم ثباتي گردد؟‬
‫حل‪ :‬طبو تعريف داريم‪:‬‬
‫= ثبات‬ ‫‪R1‬‬ ‫= آدرس مؤثر‬ ‫‪R1‬‬ ‫مد آدرسدهي ثباتي غیرمستقیم‪ :‬مثتويات‬
‫معماري كامپيوتر ‪041 /‬‬

‫مد آدرسدهي شاخصدار ‪ :‬آدرس موجود در دستورالعمل ‪ +‬مثتويات ‪ = R1‬آدرس مؤثر‬


‫‪ = R1‬ثبات‬
‫بنابراين برای برآورده كردن خواسته سؤال‪ =  :‬آدرس موجود در دستورالعمل‬
‫‪18‬ـ يك دستور در ميا ‪ 311‬با مهدا آدرسش در ميا ‪ 311‬ذخهره شده است‪.‬‬
‫نهز حاوس عـدد ‪211‬‬ ‫‪R1‬‬ ‫مهدا آدرس داراس مقدار ‪ 411‬است‪ .‬يك ثبات پردازشگر‬
‫است‪ .‬آدرس مؤثر را اگر روش آدرسدهي دستور الف) مسـتقهم ب) بالفصـل ج)‬
‫به عنوا ثبات شـاخص باشـد بـه‬ ‫‪R1‬‬ ‫نسبي د) غهرمستقهم ثباتي هـ) شاخصدار با‬
‫دست آوريد‪.‬‬
‫حل‪:‬‬
‫الف) مد آدرسدهي مستقیم‪ :‬آدرس مؤثر = ‪111‬‬
‫ب) مد آدرسدهي بالفصل‪ :‬آدرس مؤثر = ‪314‬‬
‫ج) مد آدرسدهي نسبي‪ :‬آدرس مؤثر = ‪316 + 111 = 416‬‬
‫د) مد آدرسدهي ثباتي غیرمستقیم‪ :‬آدرس مؤثر = ‪611‬‬
‫هك) مد آدرسدهي شاخصدار‪ :‬آدرس مؤثر= ‪611 + 111 = 611‬‬
‫‪19‬ـ با فرض داشتن يك كامپهوتر ‪ 8‬بهتي‪ ،‬يك جمع با دقت مضاعف براس اعداد‬
‫بدو عالمت ‪ 32‬بهتي زير با استفاده از دستور جمع با رقم نقلي را انجام دههد‪ .‬هـر‬
‫بايت به صورت عدد دو رقمي مبناس ‪ 16‬ميباشد‪.‬‬

‫‪ 6E‬‬ ‫‪C3 56 78   13 55 6B 8 F‬‬


‫حل‪ :‬برای اين عبارت دو رقم دو رقم شكانزده شكانزدهي را جمكع ككرده و در هكر‬
‫جمع رقم نقلي را مثاسبه كرده به بعدی ميدهیم‪:‬‬
‫‪6E‬‬ ‫‪C3‬‬ ‫‪56‬‬ ‫‪7A‬‬
‫‪13‬‬ ‫‪55‬‬ ‫‪6B‬‬ ‫‪8F‬‬
‫‪82‬‬ ‫‪18‬‬ ‫‪C2‬‬ ‫‪9‬‬
‫‪C 1 C 0 C 1 C 0‬‬
‫رقم نقلي خروجي =‪1‬‬ ‫رقم نقلي ورودی‬
‫‪ / 048‬معماري كامپيوتر‬

‫‪21‬ـ براس دو رشته اعداد دودويـي ‪ 11111111‬و ‪ ، 11111111‬اعمـال منطقـي‬


‫‪ XOR ،OR ، AND‬را انجام دههد‪.‬‬
‫حل‪:‬‬
‫‪AND : 10011100‬‬
‫‪10101010‬‬

‫‪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‬شدن ‪ 1‬در نظر ميگیريم‪ .‬پس‪:‬‬


‫‪AND  A, 0000000011111111‬‬
‫ب) برای ‪4‬كردن تعدادی از بیتها از عملگر ‪ OR‬استفاده ميكنیم‪.‬‬
‫معماري كامپيوتر ‪049 /‬‬

‫مكانهای بدون تغییر ‪ 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  1, Z  0, V  1‬‬ ‫‪C  1,S  0, Z  0, V  0‬‬

‫ج) ‪R  9A  R   9A ‬‬


‫‪01110010‬‬ ‫‪9A 01100110‬‬
‫‪AND 10001100‬‬ ‫د)‬ ‫‪ 01110010‬‬
‫‪00000000‬‬ ‫‪11011000‬‬
‫‪ / 012‬معماري كامپيوتر‬

‫‪C  0 ,S  0 , Z  1 , V  0‬‬ ‫‪C 0 , S  1, Z 0 , V  1‬‬


‫هك)‬
‫‪01110010‬‬
‫‪XOR  01110010‬‬
‫‪00000000‬‬

‫‪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 1A  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‬‬
‫پس‪:‬‬

‫رابطه‬ ‫وضعیت بیتها‬

‫‪AB‬‬ ‫‪ C' Z'  1‬‬


‫‪AB‬‬ ‫‪C 0‬‬
‫معماري كامپيوتر ‪011 /‬‬

‫‪AB‬‬ ‫‪C 1‬‬

‫‪AB‬‬ ‫‪ C  Z  1‬‬


‫‪AB‬‬ ‫‪Z 1‬‬

‫‪AB‬‬ ‫‪Z 0‬‬

‫‪27‬ـ دو عدد عالمتدار به شيل ميمل ‪ 2‬با هم طب رابطه ‪ A-B‬مقايسه شـدهاند‪.‬‬


‫با توجه به نتهجه مقايسه بهتهاس وضعهت ‪ S‬و ‪ Z‬و ‪ V‬و ‪ 1‬و ‪ 1‬خواهند شد‪( .‬دقـت‬
‫كنهد كه اگر سرريز ر دهد ت ههر عالمتي وجود خواهد داشت‪ ).‬نشـا دههـد كـه‬
‫اندازه نسبي ‪ A‬نسبت به ‪ B‬با توجه به بهتهاس وضعهت در جدول مربـوط بـه ايـن‬
‫مسلله (و جدول ‪11‬ـ‪ )8‬قابل استنتاج است‪.‬‬
‫حل‪ :‬طبو سؤال وضعیتهای شكرطي جكدول ‪44‬كك‪ 8‬بكرای ‪ A‬و ‪ B‬عالمكتدار از‬
‫‪ V‬و ‪ Z‬تعیین ميگردد‪.‬‬ ‫‪S‬‬ ‫طريو بیتهای‬
‫داريم‪:‬‬
‫‪S  1 , V  1‬‬
‫‪A  B   A  B 0  ‬‬ ‫‪ S  V   0‬‬
‫‪S  0 , V  0‬‬
‫‪S  1 , V  0‬‬
‫‪AB  ‬‬ ‫‪ S  V   1‬‬
‫‪S  0 , V  1‬‬
‫‪A  B   A  B AND  A  B  S  V   0 and Z  0‬‬
‫‪A  B   A  B OR‬‬ ‫‪ A  B   S  V   1‬‬ ‫‪OR Z  1‬‬
‫پس‪:‬‬

‫رابطه‬ ‫وضعیت بیتها‬

‫‪AB‬‬ ‫‪S  V   0‬‬ ‫‪and‬‬ ‫‪Z 0‬‬

‫‪AB‬‬ ‫‪S  V  0‬‬


‫‪ / 014‬معماري كامپيوتر‬

‫‪AB‬‬ ‫‪S  V   1‬‬


‫‪AB‬‬ ‫‪S  V   1‬‬ ‫‪or‬‬ ‫‪Z 1‬‬

‫‪AB‬‬ ‫‪Z 1‬‬

‫‪AB‬‬ ‫‪Z 0‬‬

‫‪28‬ـ بزم است يـك مـدار ديجهتـال بـا چهـار ورودس ‪ C‬و ‪ S‬و ‪ Z‬و ‪ V‬بـا ‪11‬‬
‫خروجي طراحي شود‪ ،‬كه هر يك مربوط به يك شرط انشعاب در مسـلله ‪26‬ــ‪ 8‬و‬
‫‪27‬ـ‪ 8‬است‪( .‬حابت مساوس و نامساوس در هـر دو جـدول ييـي اسـت‪ ).‬نمـودار‬
‫منطقي مدار با استفاده از دو گهت ‪ ،OR‬يـك ‪ XOR‬و پـنج معيوسكننـده را رسـم‬
‫كنهد‪.‬‬
‫حل‪ :‬برای طراحي مدار منطقي رابطههای گفته شده از نتايج بدست آمكده در پاسكخ‬
‫‪ C‬بكه عنككوان‬ ‫‪Z V S‬‬ ‫سكؤاالت ‪ 66‬و ‪ 64‬اسكتفاده كككرده و بكا اسكتفاده از بیتهككای‬
‫ورودی مدار را طراحي مينمايیم‪.‬‬
‫معماري كامپيوتر ‪011 /‬‬

‫‪29‬ـ دو عدد ‪ 8‬بهتي ‪ A 01000001‬و ‪ B  10000100‬مفروضاند‪.‬‬


‫الف) معادل دهدهي هر عدد را با فرض اينيـه (‪ )1‬آنهـا بـدو عالمـت و (‪)2‬‬
‫عالمتدار هستند بدست آوريد‪.‬‬
‫ب) دو عدد دودويي را جمع كنهد و نتهجه را تفسهر كنهد با اين فـرض كـه (‪)1‬‬
‫بدو عالمت و (‪ )2‬عالمت دارند‪.‬‬
‫ج) مقادير بهتهاس ‪ C‬و ‪ Z‬و ‪ S‬و ‪ V‬را پس از جمع مشخص كنهد‪.‬‬
‫د) دستورات انشعابي شرطي كه شرط آنها برقرار اسـت را از جـدول (‪11‬ــ‪)8‬‬
‫لهست كنهد‪.‬‬
‫حل‪:‬‬
‫‪A  01000001‬‬
‫‪ B  10000100‬‬ ‫الف)‬
‫‪11000101‬‬
‫ب)‬
‫‪65  132  197‬‬ ‫بدون عالمت‪ A :‬و ‪ B‬مثبت‬
‫‪ B‬منفي ‪65 124  59‬‬ ‫عالمتدار ‪ A :‬مثبت‬

‫ج) با توجه به قسمت الف ‪C  0 , Z  0 , S  1 , V  0‬‬


‫‪ / 016‬معماري كامپيوتر‬

‫د) رابطههای انشعابي برقرار‪:‬‬


‫‪C  0  BNC‬‬
‫‪Z  0  BNZ‬‬
‫‪S  1  BM‬‬
‫‪V  0  BNV‬‬
‫‪31‬ـ برنامهاس در يك كامپهوتر دو عدد بدو عالمت ‪ A‬و ‪ B‬را بـا انجـام عمـل‬
‫‪ A  B‬و تصــحهح بهتهــاس وضــعهت مقايســه ميكنــد‪ .‬اگــر ‪ A 01000001‬و‬
‫‪ B  10000100‬باشد‪،‬‬
‫الف) اختالف را محاسبه و نتهجه دودويي را تفسهر كنهد‪.‬‬
‫ب) مقادير بهتهاس وضعهت ‪( C‬قرض) و ‪ Z‬را معهن كنهد‪.‬‬
‫ج) دستورات انشعاب شرطي را از جدول ‪11‬ـ‪ 8‬كـه اتفـاق ميافتنـد را لهسـت‬
‫كنهد‪.‬‬
‫حل‪:‬‬
‫الف)‬
‫‪A  B  A   B‬‬
‫‪A 01000001‬‬ ‫‪65‬‬
‫‪B  10000100‬‬ ‫‪132‬‬
‫‪AB‬‬ ‫‪10111101‬‬ ‫‪ 67‬‬

‫ب)‬
‫در تفريو ‪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‬‬ ‫الف)‬
‫‪AB‬‬ ‫‪1011110‬‬ ‫‪10111101‬‬

‫‪S  1, Z 0 , V  1‬‬ ‫ب) با توجه به قسمت الف‪:‬‬


‫ج)‬
‫‪A  65 , B  124  A  B  BGT , BGE, BNE‬‬
‫مخالف كوچكتر مساوی بزرگتر‬

‫‪32‬ـ محتويات بابترين ميا حافظه يك پشته ‪ 5321‬اسـت‪ .‬محتـواس اشـارهگر‬


‫پشته(‪ )SP‬نهز ‪ 3561‬ميباشد‪ .‬يك دسـتور فراخـواني دو كلمـهاس در آدرس ‪1121‬‬
‫حافظه قرار دارد و در آدرس ‪ 1121‬هم مهدا آدرس آ يعنـي ‪ 6721‬ذخهـره شـده‬
‫است‪ .‬محتواس ‪ PC‬و ‪ SP‬و بابترين ميا پشته چهست؟‬
‫الف) قبل از برداشتن دستور فراخواني از حافظه‬
‫ب) پس از اجراس دستور فراخواني‬
‫ج) پس از بازگشت از زير روال‬
‫حل‪:‬‬
‫مقدار بابس‬
‫‪PC‬‬ ‫‪SP‬‬
‫‪TOS  stack‬‬
‫مقدار ابتدايي‬ ‫‪1121‬‬ ‫‪3561 5321‬‬
‫”‪“Call‬‬ ‫بعد از فراخواني‬ ‫‪6721‬‬ ‫‪3559 1122‬‬
‫‪ / 018‬معماري كامپيوتر‬

‫”‪“Return‬‬ ‫بعد از بازگشت‬ ‫‪1122‬‬ ‫‪3561 5321‬‬

‫‪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‬معماري كامپيوتر‬

‫‪PC  M TR ‬‬


‫‪ ‬ابتدای فاز برداشت دستورالعمل‬
‫ب)‬
‫‪PC  M SP‬‬

‫‪SP  SP 1‬‬
‫‪PSW  M SP‬‬

‫‪SP  SP 1‬‬
‫‪36‬ــ مثالهـايي از كامپهوترهـاس داراس قالــب دسـتورات مت هـر عبارتانــد از‬
‫‪ Intel‬قالب دستورات ييي از آنها را با دستورات با طول‬ ‫‪386‬‬ ‫‪ IBM370‬و ‪ VAX11‬و‬
‫ثابت ‪ RISCI‬مقايسه كنهد‪.‬‬
‫حل‪ :‬برای نمونه قالب دستورالعملهای ‪ IBM, 370‬در اينجا اشاره ميشود‪:‬‬
‫‪ 6‬نوع قالب دستورالعمل دارد به شرح زير‪:‬‬ ‫‪IBM 370‬‬

‫‪RR‬‬ ‫‪Op-code‬‬ ‫‪R1‬‬ ‫‪R2‬‬

‫‪RX‬‬ ‫‪Op-code‬‬ ‫‪R1‬‬ ‫‪X2‬‬ ‫‪B2‬‬ ‫‪D2‬‬

‫‪RS‬‬ ‫‪Op-code‬‬ ‫‪R1‬‬ ‫‪R3‬‬ ‫‪B2‬‬ ‫‪D2‬‬

‫‪SI‬‬ ‫‪Op-code‬‬ ‫‪I2‬‬ ‫‪B1‬‬ ‫‪D1‬‬

‫‪SS‬‬ ‫‪Op-code‬‬ ‫‪L‬‬ ‫‪B1‬‬ ‫‪D1‬‬ ‫‪B2‬‬ ‫‪D2‬‬


‫‪S‬‬ ‫‪Op-code‬‬ ‫‪B2‬‬ ‫‪D2‬‬

‫بقیه موارد جستجو شده و مقايسهها انجام شود‪.‬‬


‫معماري كامپيوتر ‪060 /‬‬

‫‪37‬ـ سه كامپهوتر از دريچههاس ثبات زير اسـتفاده ميكننـد‪ ،‬سـايز دريچـهها و‬


‫تعداد كل ثبات در هر ثبات چقدر است؟‬
‫كامپهوتر ‪1‬‬ ‫كامپهوتر ‪2‬‬ ‫كامپهوتر ‪3‬‬
‫ثباتهاس عام‬ ‫‪11‬‬ ‫‪8‬‬ ‫‪16‬‬
‫ثباتهاس محلي‬ ‫‪11‬‬ ‫‪8‬‬ ‫‪16‬‬
‫ثباتهاس مشترك‬ ‫‪6‬‬ ‫‪8‬‬ ‫‪16‬‬
‫تعداد دريچهها‬ ‫‪8‬‬ ‫‪4‬‬ ‫‪16‬‬

‫حل‪ :‬طبو تعاريف داريم‪:‬‬


‫‪Computer 1 : 10  12  10  32‬‬ ‫‪L  2C  G‬‬ ‫سايز پنجره =‬
‫‪Computer2 : 8  16  8  32  ‬‬ ‫‪‬‬ ‫‪‬‬
‫‪Computer 3 : 16  32  16  64‬‬ ‫عمومي مشترك شخصي‬

‫سايز رجیستر فايل = ‪  L  C W  G‬‬

‫تعداد پنجره‬
‫‪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‬معماري كامپيوتر‬

‫هـ) يك عدد عالمتدار را به ‪ 4‬تقسهم كند‪.‬‬


‫و) ههچ كارس انجام ندهد‪.‬‬
‫حل‪ :‬با توجه به جدول ‪46‬ك‪ 8‬كتاب‪:‬‬
‫‪SUB R22 , # 1 , R22‬‬ ‫الف) كاهش رجیستر‪:‬‬
‫‪XOR R22 , #  1 , R22‬‬ ‫ب) مكمل يک رجیستر‪:‬‬
‫‪SUB #0, R22 , R22‬‬ ‫ج) منهای قدرمطلقي يک رجیستر‪:‬‬
‫‪ADD # 0 , # 0 , R22‬‬ ‫د) صفر كردن يک رجیستر‪:‬‬
‫‪SRA R22 , #2 , R22‬‬ ‫هك) تقسیم يک عدد عالمت دار بر ‪: 1‬‬
‫‪OR‬‬ ‫‪R1 , R1 , R1‬‬ ‫يا‬ ‫‪ADD‬‬ ‫‪R1 , # 0 , R1‬‬ ‫و) هیچ كار‪:‬‬
‫‪39‬ـ دستورس از ‪ RISC I‬را به زبا اسمبلي بنويسهد كه سـبب پـرش بـه آدرس‬
‫‪ 3211‬گردد به شرطي كه بهت وضعهت ‪ Z  1‬باشد‪.‬‬
‫الف) با استفاده از روش بالفصل‬
‫ب) با استفاده از روش نسبي ‪ PC  3400‬‬
‫حل‪:‬‬
‫‪JMP Z , # 3200 , # 0‬‬ ‫الف)‬
‫‪JMPR Z, 200‬‬ ‫ب)‬

‫فصل نهم‪ :‬پردازش خط لولهای و برداری‬


‫‪1‬ـ در برخي از محاسبات علمي بزم است تا رابطه حسـابي ‪ Ai  Bi  Ci  Di ‬‬
‫با رشتهاس از اعداد انجام شود‪ .‬يك پهيربندس خط لولـه را بـراس انجـام ايـن كـار‬
‫مشخص كنهد‪ .‬محتواس تمام ثباتهاس خط لوله را براس(‪ 6‬تا ‪ ) i  1‬لهست نمايهد‪.‬‬
‫حل‪:‬‬
‫معماري كامپيوتر ‪061 /‬‬

‫‪2‬ـ يينمودار فاصله ـ زما براس يك خط لوله شش قطعهاس رسم كنهد كه زما‬
‫پردازش هشت وظهفه را نشا دهد‪.‬‬

‫‪3‬ـ تعداد سهيلهاس ساعتي كه براس ‪ 211‬وظهفه در يك خط لوله شش قطعـهاس‬


‫بزم است را معهن كنهد‪.‬‬
‫حل‪:‬‬
‫‪ / 064‬معماري كامپيوتر‬

‫اگر ‪ k‬تعداد قطعه و ‪ n‬تعداد وظهفه باشد‪ ،‬پس از ‪ k‬سهيل ساعت اجراس دسـتور‬
‫اول تمام ميشود و ‪ n 1‬دستور باقيمانده هر كدام در يك سهيل ساعت بـه پايـا‬
‫ميرسند‪ .‬پس داريم‪:‬‬
‫تعداد سیكل ساعت مورد نیاز‬ ‫‪ k  n  1  62  200  1  205‬‬ ‫سیكل ساعت‬
‫‪4‬ـ يك سهستم غهر خط لولهاس براس پردازش يك وظهفه ‪ 51ns‬زمـا نهـاز دارد‪.‬‬
‫هما وظهفه در يك خط لوله شش قطعهاس به يك سـهيل سـاعت ‪ 11‬نانوثانهـهاس‬
‫نهازمند است‪ .‬نسبت افزايش سرعت خط لولـه بـراس ‪ 111‬وظهفـه را معـهن كنهـد‪.‬‬
‫حداكثر تسريع قابل دسترسي چقدر است؟‬
‫حل‪:‬‬

‫زمان اجرای غیر خط لولهای‬ ‫‪ntn‬‬ ‫‪100 50‬‬ ‫‪500‬‬


‫= ‪( S‬تسريع)‬ ‫=‬ ‫‪‬‬ ‫‪‬‬ ‫‪ 4 / 76‬‬
‫زمان اجرای خط لولهای‬ ‫‪‬‬ ‫‪k‬‬ ‫‪‬‬ ‫‪n‬‬ ‫‪‬‬ ‫‪1‬‬‫‪‬‬ ‫‪tp‬‬ ‫‪‬‬ ‫‪6‬‬ ‫‪‬‬ ‫‪99‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪10‬‬ ‫‪105‬‬

‫‪t n  50 ns , k  6 , t p  10 ns, n  100‬‬


‫‪nt n‬‬ ‫‪t‬‬ ‫‪50‬‬
‫(حداكثر تسريع)‬ ‫‪Smax  lim‬‬ ‫‪ n  5‬‬
‫‪n ‬‬ ‫‪‬‬ ‫‪k‬‬ ‫‪‬‬ ‫‪n‬‬ ‫‪‬‬ ‫‪1‬‬‫‪p p‬‬
‫‪t‬‬ ‫‪t‬‬ ‫‪10‬‬
‫‪ 5‬ـ خط لوله شيل ‪2‬ـ‪ 9‬داراس زمانهاس انتشار زير است‪ 40 ns :‬بـراس خوانـد‬
‫عملوند از حافظه به ثبات ‪ 45 ns , R2 , R1‬براس انتشار سهگنال در ضربكننده‪5 ns ،‬‬

‫‪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  n 1‬‬
‫‪tp ‬‬
‫‪ n  6  30‬‬
‫= زمان متوسط‬ ‫تعداد تكلیفها‬ ‫=‬
‫‪n‬‬ ‫‪n‬‬
‫‪ / 066‬معماري كامپيوتر‬

‫‪n  10‬‬ ‫‪ : t avg 48 ns‬برای‬


‫‪n  100‬‬ ‫‪ : t avg 31/ 8 ns‬برای‬
‫‪n ‬‬ ‫‪ : t avg  30 ns‬برای‬
‫‪7‬ـ زما تأخهر چهار قطعه در خط لوله شيل ‪6‬ـ‪ 9‬به صورت زير است‪:‬‬
‫‪t r  5 ns‬‬ ‫‪ .‬تأخیر ثباتهای واسط‬ ‫‪t4  45 ns , t 3  95 ns , t2  30 ns , t1  50 ns‬‬

‫الف) جمع ‪ 111‬جفت عدد در خط لوله چقدر طول ميكشد؟‬


‫(زمان الزم برای قطعه ‪  95  5  100 ns )3‬سیكل ساعت‬
‫‪ t p  100 ns‬‬

‫‪k 4‬‬
‫زمان الزم برای جمع ‪ 411‬جفت عدد‬
‫‪  k  n  1 t p   4  99100 10300ns  10/ 3 MS‬‬
‫ب) چگونه ميتوا زما كل را به نصف زما محاسبه شده در قسـمت (الـف)‬
‫كاهش داد؟‬
‫قطعه ‪ 3‬را به دو قطعه با تأخیرهای ‪ 50 ns‬و ‪ 45 ns‬تقسیم مكيكنیم‪ .‬در ايكن حالكت‬
‫داريم‪:‬‬
‫‪t p  50  5  55 ns‬‬
‫و‬ ‫‪k 5‬‬

‫‪   k  n  1 t p   5  99 55  5720 ns  5 / 72 MS‬زمان الزم‬


‫كه تقريباً نصف زمان مثاسبه شده در قسمت الف است‪.‬‬
‫‪ 8‬ـ چگونه ميتوانهد جمعكننده ممهز شناور خط لولهاس شـيل ‪ 6‬ـ ‪ 9‬را بـراس‬
‫به كار بگهريد؟‬ ‫‪X1  X2  ...  X300‬‬ ‫جمع ‪ 111‬عدد ممهز شناور‬
‫حل‪ :‬خروجي جمع كننكده را در يكک مسكیر بكازخوردی بكه ورودی ‪ B2b‬وصكل‬
‫اسكتفاده مكيكنیم‪( .‬از شكمايي‬ ‫‪X100‬‬ ‫تكا‬ ‫‪X1‬‬ ‫ميكنیم و از ورودی ‪ A2a‬برای دادههكای‬
‫مانند خط لوله جمعكننده در شكل ‪46‬ك‪ 5‬استفاده ميكنیم‪).‬‬
‫معماري كامپيوتر ‪061 /‬‬

‫‪9‬ـ يك خط لوله دستورالعمل شش قطعهاس را براس يك كامپهوتر فرمـول بنـدس‬


‫كنهد‪ .‬عملهات كه در هر قطعه بايد انجام شود را مشخص كنهد‪.‬‬
‫حل‪ :‬يک طراحي ميتواند شامل قطعههای زير باشد (خط لوله به شش قطعه تقسیم‬
‫شده است)‪:‬‬
‫)‪(DE‬‬ ‫‪6‬ك ديكدر دستور‬ ‫)‪(FI‬‬ ‫‪4‬ك برداشت دستور از حافظه‬
‫)‪(FO‬‬ ‫‪1‬ك برداشت عملوند از حافظه‬ ‫)‪(EA‬‬ ‫‪ )3‬مثاسبه آدرس مؤثر‬
‫)‪(WB‬‬ ‫‪ 6‬ك ذخیره نتیجه در مكان مناسب‬ ‫)‪(EX‬‬ ‫‪ )5‬اجرای دستور‬
‫‪11‬ـ چهار روش سختافزارس ممين را كه ميتواند در خط لولـه دسـتورالعمل‬
‫براس كمهنه كرد افت عمليرد ناشي از انشعاب دستور به كار رود‪ ،‬شرح دههد‪.‬‬
‫حل‪:‬‬
‫‪ 4‬ك دريافت زودهنگام دستور مقصد‪ :‬در اين روش عكالوه بكر دسكتور بعكد دسكتور‬
‫مقصد نیز دريافت و ذخیره ميشود؛ اگر شرب انشعاب برقرار باشد خط لولكه از دسكتور‬
‫مقصد انشعاب ادامه كار ميدهد‪ .‬روش كاملتر ايكن اسكت ككه از هكر دو جهكت عمكل‬
‫برداشت دستور ادامه يابد تا تصمیم انشعاب گرفته شود‪ .‬نه آن زمان واحد كنترل دربكاره‬
‫رشته صثیح دستورالعملها برای ادامه برنامه تصمیم ميگیرد‪.‬‬
‫‪ BTB:‬يک حافظكه اشكتراكي اسكت ككه در‬ ‫)‪(BTB‬‬ ‫‪6‬ك بكارگیری بافر مقصد انشعاب‬
‫قطعه برداشت خط لوله كار گذاشكته ميشكود‪ .‬هكر ورودی بكه ‪ BTB‬متشككل از آدرس‬
‫انشعاب اجرا شده قبلي و دستور مقصد برای آن انشعاب است‪ .‬ايكن بكافر چنكد دسكتور‬
‫بعد از انشعاب را نیز ذخیره ميكند‪ .‬وقتي كه خط لوله دستور انشعاب را ديككد ميكنكد‬
‫‪ BTB‬را برای آدرس دسكتورالعمل جسكتوجكو مينمايكد‪ .‬اگكر آدرس در ‪ BTB‬باشكد‬
‫دستور مستقیما در دسترس است و برداشت پیش هنگام دستور برای مسیر جديد ادامكه‬
‫مييابد‪ .‬اگر دستور در ‪ BTB‬نباشد خط لوله به رشته دسكتور جديكدی شكیفت نمكوده و‬
‫دستور مقصد را در ‪ BTB‬ذخیره ميكنكد‪ .‬مزيكت ايكن روش ايكن اسكت ككه دسكتورات‬
‫انشعابي كه قبالً اتفاق افتادهاند بدون توقف در خط لوله موجودند‪.‬‬
‫‪ / 068‬معماري كامپيوتر‬

‫‪ 3‬ك استفاده از بافر حلقه اين بافر يک فايل ثبات كوچک و سكريع اسكت ككه تثكت‬
‫نظر قطعه برداشت دستور خط لوله ميباشد‪ .‬وقتي كه يک حلقه در برنامه شناسايي شود‬
‫در يک بافر حلقه به طور كامل همراه با انشعابات ذخیره ميشود‪ .‬بنابراين حلقكه برنامكه‬
‫ميتواند مستقیماً و بدون دستیابي به حافظه اجرا شود‪ .‬تا اينكه آخرين انشعاب موجكب‬
‫خروج از حلقه شود‪.‬‬
‫‪1‬ك پیش بیني انشعاب‪ :‬يک خط لوله با پیشبیني انشعاب نتیجه حاصل از انشعاب را‬
‫قبل از اجرای آن به كمک مدارهای منطقي اضافي پیشبیني مينمايد‪ .‬خكط لولكه سكپس‬
‫شروع به دريافت پیش هنگكام رشكته دسكتورات مسكیر پیشبینكي شكده مينمايكد‪ .‬يكک‬
‫پیشبیني صثیح زمان تلف شده به وسیله انشعاب را از بین ميبرد‪.‬‬
‫‪11‬ـ چهار دستور رادر برنامـه زيـر در نظـر بگهريـد‪ .‬فـرض كنهـد كـه اولـهن‬
‫دستورالعمل از مرحله ‪ 1‬در خط لوله شيل ‪ 8‬ـ ‪ 9‬آغاز شود‪ .‬عملهات انجام شده در‬
‫قطعه چهار‪ ،‬در چهار مرحله را مشخص كنهد‪.‬‬
‫‪Load R1  M  312‬‬

‫‪ADD R2  R2  M  313 ‬‬

‫‪INC R 3  R 3  1‬‬
‫‪STORE M  314  R 3‬‬
‫حل‪:‬‬
‫مرحله ‪1‬‬
‫‪FI DA FO EX‬‬
‫‪FI DA FO‬‬
‫‪FI DA‬‬
‫‪FI‬‬

‫‪R1‬‬ ‫قطعه ‪ : EX‬انتقال كلمه حافظه به‬


‫قطعه ‪ : FO‬خواندن ‪M  313 ‬‬
‫معماري كامپيوتر ‪069 /‬‬

‫)‪(INC‬‬ ‫قطعه ‪ : DA‬ديكد دستور افزايش‬


‫قطعه ‪ : FI‬برداشت دستور ‪ STORE‬از حافظه‬
‫‪12‬ـ برنامهاس را مثال بزنهد كه موجب برخورد داده در خط لوله سـه قطعـه اس‬
‫بخش ‪ 5‬ـ ‪ 9‬گردد‪.‬‬
‫حل‪:‬‬
‫‪Load: R1  Memory‬‬
‫‪Increment : R1  R1 1‬‬
‫‪1‬‬ ‫‪2‬‬ ‫‪3‬‬
‫‪I‬‬ ‫‪A‬‬ ‫‪E‬‬
‫‪A‬‬
‫‪I‬‬ ‫‪E‬‬

‫‪ R1‬در ‪ E‬بارگذاری ميشود و نميتوان همزمان آن را افزايش داد‪.‬‬


‫‪13‬ـ مثالي ارائه نمايهد كه در آ در خط لوله سه قطعهاس بخش ‪ 5‬ـ ‪ 9‬از تـأخهر‬
‫بار كرد استفاده كند‪.‬‬
‫حل‪:‬‬
‫يك دستور ‪ NO-OP‬بهن دو دستور مثال سؤال ‪ 12‬قرار ميدههم‪:‬‬
‫‪R1  Memory‬‬ ‫‪I‬‬ ‫‪A‬‬ ‫‪E‬‬
‫‪NOP‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬
‫‪R1 R1 1‬‬ ‫‪I‬‬ ‫‪A‬‬ ‫‪E‬‬
‫‪14‬ـ برنامهاس مثال بزنهد كه موجب جريمه انشعاب در خط لولـه سـه قطعـهاس‬
‫بخش ‪ 5‬ـ ‪ 9‬گردد‪.‬‬
‫حل‪:‬‬
‫‪101 Add R2 to R 3‬‬
‫‪102 Branch to 104‬‬
‫‪103 Increment R1‬‬
‫‪104 Store‬‬ ‫‪R1‬‬
‫‪ / 011‬معماري كامپيوتر‬

‫‪I‬‬ ‫‪A‬‬ ‫‪E‬‬


‫‪I‬‬ ‫‪A‬‬ ‫‪E‬‬
‫‪‬‬ ‫‪‬‬ ‫‪‬‬
‫‪-‬‬ ‫‪A-‬‬ ‫‪E-‬‬

‫‪I‬‬ ‫‪A‬‬ ‫‪E‬‬


‫اتالف زمان ناشي از انشعاب در خط لوله‬
‫‪15‬ـ مثالي ارائه دههد كه در آ از انشعاب با تأخهر در خط لولـه سـه قطعـهاس‬
‫بخش ‪ 5‬ـ ‪ 9‬استفاده شود‪.‬‬
‫حل‪ :‬از مثال مسأله ‪41‬ك‪ 5‬استفاده ميكنیم‪.‬‬
‫‪101‬‬ ‫‪Branch‬‬ ‫‪to 105‬‬ ‫‪I‬‬ ‫‪A E‬‬
‫‪102‬‬ ‫‪ADD R2 to R 3‬‬ ‫‪I A E‬‬
‫‪103 NO  operation‬‬ ‫‪I‬‬ ‫‪A‬‬ ‫‪E‬‬
‫‪104 Incremet R1‬‬

‫‪105‬‬ ‫‪Store‬‬ ‫‪R1‬‬ ‫‪I‬‬ ‫‪A‬‬ ‫‪E‬‬

‫‪16‬ـ ضرب دو ماتريس ‪ 41×41‬را در يك پردازنده بردارس در نظر بگهريد‪.‬‬


‫الـف) چنـد جملـه ضـرب در هــر حاصلضـرب داخلـي وجـود دارد و چنــد‬
‫حاصلضرب داخلي بايد حساب شود‪.‬‬
‫ضرب داخلي بايد مثاسكبه‬ ‫‪402  1600‬‬ ‫در هر ضرب داخلي ‪ 11‬ضرب نیاز است و‬
‫شود (هر ضرب داخلي برای يک المان ماتريس حاصلضرب)‬
‫ب) چند عمل ضرب ـ جمع براس محاسبه ماتريس بزم است؟‬
‫ضرب داخلي داريم كه هر يک ‪ 11‬عمل ضرب ك جمع نیاز دارند‪:‬‬ ‫‪402‬‬

‫‪40 402  403  64000‬‬


‫‪17‬ـ در شيل ‪12‬ـ‪ 9‬وقتي كه ماتريسهاس ‪ 61×61‬در هـم ضـرب شـوند چنـد‬
‫سهيل ساعت براس پردازش حاصلضرب داخلي در خـط لولـه نهـاز اسـت؟ چنـد‬
‫معماري كامپيوتر ‪010 /‬‬

‫حاصلضرب داخلي وجـود دارد و چنـد سـهيل سـاعت بـراس محاسـبه مـاتريس‬
‫حاصلضرب نهاز است؟‬
‫‪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‬مگافالپس پردازش ميشود‪.‬‬
‫چقدر زما براس انجام محاسبات طول مي كشد؟‬
‫حل‪:‬‬

‫ثانیه ‪  250106 2500‬زمان اجرا‬


‫‪9‬‬
‫‪4167‬‬
‫‪/‬‬ ‫دقیقه‬
‫‪10010‬‬
‫‪21‬ـ كامپهوترس را با چهار پردازنده خط لولهاس ممهـز شـناور در نظـر بگهريـد‪.‬‬
‫فرض كنهد كه هر پردازنده از سهيل زما ‪ 40 ns‬استفاده ميكند‪ .‬براس اجـراس ‪411‬‬
‫عمل ممهز شناور چقدر وقت نهاز است؟ اگر همهن عمل با استفاده از يك پردازنـده‬
‫خط لولهاس تيي با سهيل ساعت ‪ 10 ns‬انجـام شـود آيـا تفـاوتي وجـود خواهـد‬
‫‪ / 012‬معماري كامپيوتر‬

‫داشت؟‬
‫حل‪:‬‬
‫‪ 111‬عمل را بین چهار پردازنده تقسیم ميكنیم‪ .‬داريم‪:‬‬
‫‪400‬‬
‫‪ ‬زمان اجرا‬ ‫‪ 40  4000 ns‬‬
‫‪4‬‬
‫با استفاده از يک پردازنده با سیكل ‪ 10 ns‬داريم‪:‬‬
‫‪  40010  4000 ns‬زمان اجرا‬
‫معماري كامپيوتر ‪011 /‬‬

‫فصل دهم‪ :‬معماری كامپيوتر و الگوريتمهای‬


‫حسابي‬
‫‪1‬ـ اگر در شيل ‪1‬ـ‪ 11‬به جاس ‪ A  B 1‬عمل ‪( B  A‬متمم ‪ 1‬عـدد ‪ A‬بعـالوه‬
‫‪ )B‬را انجام دههم‪ ،‬متمم ساز نهاز نهست‪ .‬الگوريتمي به شيل فلوچارت براس جمع و‬
‫تفري اعداد دودويي ممهز ثابت با نمايش اندازه عالمتدار بدست آوريد كه در آ‬
‫اندازهها با دو ريز عمل ‪ A  A‬و ‪ E  A  B‬تفري شوند‪.‬‬
‫حل‪ :‬با توجه به تعريف متمم در اعداد داريم‪ ) :‬فرم متمم ‪)6‬‬

‫‪A  B  A  B 1‬‬
‫بنابراين در صورت سؤال‪:‬‬
‫‪B  A  B  A 1‬‬
‫بنابراين فلوچارت زير را داريم‪:‬‬
‫‪ / 014‬معماري كامپيوتر‬

‫‪2‬ـ هر يك از مسهرهاس فلوچارت شيل ‪2‬ـ‪ 11‬را شـمارهگذارس كنهـد و سـپس‬


‫كل مسهرس كه الگوريتم هنگام محاسبه اعداد با نمايش اندازه عالمتدار زيـر طـي‬
‫ميكند را تعههن نمايهد‪ .‬در هر مورد مقدار ‪ AVF‬را بنويسهد‪ .‬بهـت سـمت چـپ در‬
‫عددهاس زير نماينده بهت عالمت است‪.‬‬
‫‪1011111 1101101‬‬ ‫ب)‬ ‫‪0101101 0011111‬‬ ‫الف)‬
‫د) ‪0101101 0101101‬‬ ‫ج) ‪01011010011111‬‬

‫هـ) ‪10111110101101‬‬

‫حل‪ :‬با توجه به شكل ‪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‬معماري كامپيوتر‬

‫وجود سريز را بررسي كنهد‪.‬‬


‫ب) ‪ 35    40‬‬ ‫الف) ‪ 35    40‬‬
‫ج) ‪ 35    40‬‬
‫حل‪ :‬ميدانیم‬
‫‪A  B  A   B ‬‬
‫بنابراين موارد ب و ج نتیجه يكساني را بدست خواهند داد‪.‬‬
‫الف)‪ E‬و‪ F‬دو رقم نقلي آخر‬
‫‪35‬‬ ‫‪0 100011‬‬
‫‪40‬‬ ‫‪0 101000‬‬ ‫‪+‬‬ ‫‪E=0, F=1‬‬ ‫‪E  F  1‬‬ ‫رخداد سرريز‬
‫‪75‬‬ ‫‪1001011‬‬
‫ب)‬
‫‪35‬‬ ‫‪1011101‬‬
‫‪40‬‬ ‫‪1011000 +‬‬ ‫‪E=1, F=0‬‬ ‫‪E  F  1‬‬ ‫رخداد سرريز‬
‫‪70‬‬ ‫‪0110101‬‬
‫‪n‬‬ ‫‪4‬ـ عددهاس دودويي را با نمايش متمم ‪ 2‬عالمت دار در نظر بگهريد‪ .‬هر عـدد‬
‫بهت براس اندازه (يـا مقـدار) عـددس‬ ‫‪k  n 1‬‬ ‫بهت دارد‪ :‬يك بهت براس عالمت و‬
‫‪‬‬ ‫‪‬‬
‫منفي مانند ‪ –x‬به صورت ‪ 2k  2k  x‬نمايش داده ميشـود كـه در آ اولـهن ‪2k‬‬

‫متمم ‪ 2‬عدد ‪ x‬است‪ .‬عدد مثبـت بـه صـورت‬ ‫‪2‬‬ ‫‪k‬‬


‫‪x‬‬ ‫دهندهس بهت عالمت و ‪‬‬ ‫نشا‬
‫‪ 0 x‬نمايش داده ميشود‪ ،‬كه ‪ 1‬بهت عالمت و ‪ x‬مقدار ‪ k‬بهتـي آ اسـت‪ .‬بـا ايـن‬
‫سمبلهاس كلي‪ ،‬ثابت كنهد كه مجموع ‪  x     y ‬را ميتوا با جمـع عـددهايي‬
‫شامل بهتهاس عالمت آنها و حذف نقلي خروجي از بهت عالمت شيل داد‪ .‬به بها‬
‫ديگر الگوريتم جمع دو عدد دودويي با نمايش متمم ‪ 2‬عالمتدار را ثابت كنهد‪.‬‬
‫حل‪ :‬برای هر كدام از حاالت ‪  x     y ‬سمبلها را جايگزين كرده و اثباتها را‬
‫انجام ميدهیم‪.‬‬
‫معماري كامپيوتر ‪011 /‬‬

‫نمككايش نتیجككه مككورد انتظككار در سیسككتم نمايش با سمبلهای درخواسكتي سكؤال در‬
‫رديف‬ ‫عبارت‬
‫سیستم مكمل (‪)6‬‬ ‫مكمل (‪)6‬‬

‫‪4‬‬ ‫)‪(+x)+(+y‬‬ ‫)‪(0+x)+(0+y‬‬ ‫)‪0+(x+y‬‬

‫‪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 ‬‬ ‫‪2‬‬ ‫‪k‬‬


‫‪ ‬‬
‫‪ 2k  x  2k  2k  y‬‬ ‫‪‬‬ ‫‪2k  2k   x  y ‬‬

‫حال برای تکتک رديفها داريم‪:‬‬


‫‪4‬ك‬
‫‪0  x   0  y   0   x  y ‬‬
‫‪6‬ك‬
‫‪  x  y ‬صرف نظر از رقم نقلي ‪ ‬رقم نقلي ‪2k  2k  2k1 ‬‬

‫‪3‬ك مثل مورد ‪6‬‬


‫‪  y  x ‬صرفنظر از رقم نقلي ‪ ‬رقم نقلي ‪2k  2k  2k1 ‬‬

‫‪1‬ك‬
‫‪   x  y ‬صرفنظر از رقم نقلي ‪ ‬رقم نقلي ‪2k 1  2k 1 2k 2 ‬‬

‫‪ 5‬ـ يك رويه سختافزارس براس آشيارسازس سرريز با مقايسه عالمت مجمـوع‬


‫و عالمتهاس مضاف و مضاف علهه بسازيد‪ .‬عددها در نمايش متمم (‪ )2‬عالمـتدار‬
‫هستند‪.‬‬
‫حل‪ :‬در عبارت روبرو در رابطه با تعريف رخداد سرريز داريم‪:‬‬
‫‪ / 018‬معماري كامپيوتر‬

‫‪AB‬‬
‫سرريز زماني رخ ميدهد كه‪:‬‬
‫‪ )4‬هر دو عدد مثبت عالمت مجموع منفي‬
‫‪ )6‬هر دو عدد منفي عالمت مجموع مثبت‬
‫پس جدول زير را داريم‪:‬‬
‫‪AS‬‬ ‫‪A‬‬ ‫عالمت‬
‫‪BS‬‬ ‫‪B‬‬ ‫عالمت‬
‫مجموع ‪TS‬‬ ‫عالمت‬
‫‪TS‬‬ ‫‪BS‬‬ ‫‪AS‬‬ ‫‪OV‬‬

‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬


‫‪1‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫‪4‬‬
‫‪1‬‬ ‫‪4‬‬ ‫‪1‬‬ ‫‪1‬‬
‫‪1‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪1‬‬
‫‪4‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬
‫‪4‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫‪1‬‬
‫‪4‬‬ ‫‪4‬‬ ‫‪1‬‬ ‫‪4‬‬
‫‪4‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪1‬‬

‫پس‪:‬‬
‫‪OV  T'S B'S AS  TSBSA'S‬‬
‫پس مدار منطقي زير را خواهیم داشت‪:‬‬
‫معماري كامپيوتر ‪019 /‬‬

‫‪ 6‬ـ الف) ‪  9   6   15‬را با عددهاس دودويي با نمايش متمم ‪ 1‬عالمتدار‬


‫فقط پنج بهتي براس هر عدد (با بهت عالمت) انجـام دههـد‪ .‬نشـا دههـد كـه رويـه‬
‫آشيارسازس سرريز با بررسي دو نقلي آخر در اين مورد به نتهجه نميرسد‪.‬‬
‫ب) رويه اصالح شدهاس را براس آشيارسازس سرريز وقتي كـه اعـداد مـتمم ‪1‬‬
‫استفاده ميشوند پهشنهاد كنهد‪:‬‬
‫حل‪ :‬الف) برای مثال نقض مثال زير را در نظر بگیريد‪:‬‬
‫‪9  101102‬‬

‫‪6  110012‬‬

‫‪9‬‬ ‫‪10110‬‬
‫‪ 6‬‬ ‫‪11001‬‬
‫‪ 15‬‬ ‫‪01111‬‬
‫انثصككاری آنهككا ‪4‬‬ ‫‪OR‬‬ ‫در ايككن عمككل دو رقككم نقل كي آخككر متفككاوت بككوده پككس‬
‫برميگرداند‪ .‬در حالي كه قاعدتاً ما نبايد سرريز را داشته باشیم زيرا‬
‫نتیجه منفي است‪.‬‬
‫ب) با توجه به مثال نقض باال ما نتیجه را برای "‪ " 0111......1‬شدن چكک مكيكنیم‪.‬‬
‫پس‪:‬‬
‫‪ / 081‬معماري كامپيوتر‬

‫‪7‬ـ الگوريتمي را به شيل فلوچارت براس جمع و تفري دو عدد دودويي ممهـز‬
‫ثابت وقتي كه عددهاس منفي به صورت متمم ‪ 1‬هستند بدست آوريد‪.‬‬
‫حل‪ :‬با توجه به حل سؤال قبل و تركیب آن با الگوريتم جمع و تفريو اعكداد منفكي‬
‫متمم ‪ 6‬در صفثه ‪ 336‬كتاب فلوچارت زير را خواهیم داشكت‪ M :‬و ‪ N‬دو رقكم نقلكي‬
‫آخر نتیجه هستند‪.‬‬
‫عمل تفريو‬

‫معماري كامپيوتر ‪080 /‬‬

‫خیر‬ ‫بلي‬

‫سرريز داريم‬ ‫سرريز نداريم‬


‫‪ 8‬ـ ثابت كنهد ضرب دو عدد ‪ n‬رقمي در پايه ‪ ،r‬حاصلضربي بزرگتر از ‪ 2n‬رقم‬
‫تولهد نميكند‪ .‬نشا دههد كه اين به معني آ است كه سرريزس در عمل ضرب ر‬
‫نميدهد‪.‬‬
‫حل‪ :‬ميدانیم بیشترين مقدار قابل نمايش برای يک عدد ‪ n‬رقمي ‪ r n 1‬و برای يكک‬
‫رقمي ‪ r2n  1‬است‪ .‬بنابراين مكاكزيمم حاصكل ضكرب دو عكدد ‪ n‬رقمكي در‬ ‫‪2n‬‬ ‫عدد‬
‫يكديگر برابر است با‪:‬‬
‫‪ r 1 r 1  r‬‬
‫‪n‬‬ ‫‪n‬‬ ‫‪2n‬‬
‫‪ 2r n  1  r2n  1‬‬

‫‪ .........  r n  1‬‬


‫‪ / 082‬معماري كامپيوتر‬

‫و به ازای ‪ 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‬‬
‫‪= 65110‬‬

‫‪11‬ـ محتواس ثباتهاس ‪ E‬و ‪ A‬و ‪ Q‬و ‪( SC‬مطـاب شـيل ‪12‬ــ‪ )11‬را در حـهن‬
‫روند تقسهم (الف) ‪ 11111111‬بر ‪ 1111‬و (ب) ‪ 11111111‬بر ‪ 1111‬نشـا دههـد‪.‬‬
‫معماري كامپيوتر ‪081 /‬‬

‫(ازمقسوم ‪ 8‬بهتي استفاده كنهد‪).‬‬


‫حل‪ :‬همانند روال شكل (‪6‬ك‪ )41‬نتايج به صورت زير خواهد بود‪:‬‬
‫الف) ‪B  1011 , B  10101, DVF  0‬‬

‫‪E‬‬ ‫‪A‬‬ ‫‪Q‬‬ ‫‪SC‬‬


‫‪1‬‬ ‫‪4141‬‬ ‫‪1144‬‬ ‫‪411‬‬
‫‪4‬‬ ‫‪1411‬‬ ‫‪1441‬‬
‫‪1414‬‬
‫‪4‬‬ ‫‪4114‬‬ ‫‪1444‬‬ ‫‪144‬‬
‫‪4‬‬ ‫‪1141‬‬ ‫‪4441‬‬
‫‪1414‬‬
‫‪4‬‬ ‫‪1444‬‬ ‫‪4444‬‬ ‫‪141‬‬
‫‪1‬‬ ‫‪4444‬‬ ‫‪4441‬‬
‫‪1414‬‬
‫‪4‬‬ ‫‪1411‬‬ ‫‪4444‬‬ ‫‪114‬‬
‫‪1‬‬ ‫‪4114‬‬ ‫‪4441‬‬
‫‪1414‬‬
‫‪1‬‬ ‫‪4441‬‬ ‫‪4441‬‬
‫‪4144‬‬
‫‪4‬‬ ‫‪4114‬‬ ‫‪4441‬‬
‫خارج قسمت باقي مانده‬

‫‪B  0011‬‬ ‫ب) ‪B  1  1101‬‬


‫‪ / 084‬معماري كامپيوتر‬

‫‪E‬‬ ‫‪A‬‬ ‫‪Q‬‬ ‫‪SC‬‬


‫‪1111‬‬ ‫‪4444‬‬ ‫‪411‬‬
‫‪1‬‬ ‫‪1114‬‬ ‫‪4441‬‬
‫‪4414‬‬
‫‪1‬‬ ‫‪4441‬‬ ‫‪4441‬‬
‫‪1144‬‬
‫‪4‬‬ ‫‪1114‬‬ ‫‪144‬‬
‫‪1‬‬ ‫‪1144‬‬ ‫‪4411‬‬
‫‪4414‬‬
‫‪4‬‬ ‫‪1111‬‬ ‫‪4414‬‬ ‫‪141‬‬
‫‪1‬‬ ‫‪1114‬‬ ‫‪4141‬‬
‫‪4414‬‬
‫‪1‬‬ ‫‪4441‬‬ ‫‪4141‬‬
‫‪1144‬‬
‫‪4‬‬ ‫‪1114‬‬ ‫‪114‬‬
‫‪1‬‬ ‫‪1144‬‬ ‫‪1411‬‬
‫‪4414‬‬
‫‪4‬‬ ‫‪1414‬‬ ‫‪111‬‬
‫‪1111‬‬
‫خككككككارج‬
‫باقي مانده‬
‫قسمت‬

‫‪11‬ـ نشا دههد كه جمع ‪ B‬پس از عمل ‪ A  B 1‬مقدار اولهه ‪ A‬را مي دهد‪ .‬بـا‬
‫رقم نقلي پاياني چه بايد كرد؟‬
‫حل‪ :‬طبو تعريف متمم (‪)6‬‬
‫معماري كامپيوتر ‪081 /‬‬

‫‪A  B  1  A  Zu  B  Zn  A  B‬‬
‫حال با ‪ B‬جمع ميكنیم‪:‬‬
‫‪2‬‬‫‪K‬‬
‫‪‬‬
‫‪ A  B  B  2n  A‬‬

‫از رقم نقلي صرفنظر ميكنیم ‪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‬‬

‫‪a 3 a2a1a0‬‬ ‫*‬ ‫‪b3 b2b1b0‬‬


‫‪C7 C6 C5 C4 C3 C2C1C0 ‬‬ ‫نتیجه‬
‫‪ / 086‬معماري كامپيوتر‬

‫‪0‬‬

‫جمعكننده ‪ 1‬بیتي‬

‫جمعكننده ‪ 1‬بیتي‬

‫جمعكننده ‪ 1‬بیتي‬

‫با توجه به شككل مكيبینیم ككه در ضكرب ‪ 1‬بیكت در ‪ 1‬بیكت ‪ 46‬گیكت ‪ AND‬و ‪3‬‬
‫‪J‬‬ ‫جمعكننده ‪ 1‬بیتي نیاز است‪ .‬در حالت كلي اگكر ضربشكونده ‪ k‬بیتكي و ضكربكننده‬
‫عدد جمعكننده ‪ K‬بیتكي‬ ‫‪ AND‬و ‪J 1‬‬ ‫تا گیت‬ ‫‪JK‬‬ ‫بیتي باشد برای ضرب آرايهای به‬
‫نیاز است‪.‬‬
‫معماري كامپيوتر ‪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 ‬‬

‫‪Qn‬‬ ‫‪Qn 1‬‬ ‫‪AC‬‬ ‫‪QR‬‬ ‫‪Qn 1‬‬ ‫‪SC‬‬

‫‪11111‬‬ ‫‪41144‬‬ ‫‪1‬‬ ‫‪414‬‬


‫‪4‬‬ ‫‪1‬‬ ‫تفريو‬ ‫‪41114‬‬
‫‪41114‬‬
‫شیفت راست‬ ‫‪44111‬‬ ‫‪44114‬‬ ‫‪4‬‬ ‫‪411‬‬
‫‪4‬‬ ‫‪4‬‬ ‫شیفت راست‬ ‫‪44411‬‬ ‫‪14411‬‬ ‫‪4‬‬ ‫‪144‬‬
‫‪1‬‬ ‫‪4‬‬ ‫جمع‬ ‫‪14444‬‬
‫شیفت راست‬ ‫‪11414‬‬ ‫‪41441‬‬ ‫‪1‬‬ ‫‪141‬‬
‫‪1‬‬ ‫‪1‬‬ ‫شیفت راست‬ ‫‪11141‬‬ ‫‪44144‬‬ ‫‪1‬‬ ‫‪114‬‬
‫‪ / 088‬معماري كامپيوتر‬

‫‪4‬‬ ‫‪1‬‬ ‫تفريو‬ ‫‪41114‬‬


‫‪41144‬‬
‫شیفت راست‬ ‫‪44114‬‬ ‫‪44414‬‬ ‫‪4‬‬ ‫‪111‬‬
‫‪-455‬‬

‫‪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‬‬
‫‪93‬‬
‫‪8‬‬ ‫‪3‬‬
‫‪83‬‬
‫‪7‬‬ ‫‪4‬‬
‫‪74‬‬
‫‪6‬‬ ‫‪4‬‬
‫‪64‬‬
‫‪5‬‬ ‫‪5‬‬
‫‪55‬‬ ‫‪ 52  3  28‬‬

‫‪17‬ـ يك عدد دودويي ممهز شناور هفت بهت براس نماس بايـاس شـدهاش دارد‪.‬‬
‫مقدار ثابت باياس ‪ 64‬است‪.‬‬
‫الف) لهست باياس شده تمام نماها را از ‪ -64‬تا ‪ +63‬بدست آوريد‪.‬‬
‫معماري كامپيوتر ‪090 /‬‬

‫ب) نشا دههد كه يك مقايسهگر مقدار هفت بهتي ميتواند براس مقايسـه انـدازه‬
‫نسبي دو نما بيار رود‪.‬‬
‫ج) نشا دههد كه پس از جمع دو نماس باياس شده بزم است ‪ 64‬را كـم كنـهم‬
‫تا مجموع نماها به شيل باياس شده بدست آيد‪ .‬چگونـه ميتـوا ‪ 64‬را بـا جمـع‬
‫كرد مقدار متمم ‪ 2‬آ تفري كرد؟‬
‫د) نشا دههد كه پس از تفري دو نماس باياس شـده بزم اسـت ‪ 64‬را اضـافه‬
‫كنهم تا تفاضل باياس شده نماها را داشته باشهم‪.‬‬
‫حل‪:‬‬
‫الف)‬
‫‪e 64 63 ......... 1 0 1 ......... 62 63‬‬

‫‪e  64  1 .......... 63 64 65 .......... 126 127‬‬


‫ب) بديهي است تعداد بیت برای نمايش مثدوده (‪ )-64 – 63‬برابكر بكا تعكداد بیكت‬
‫برای نمايش مثدوده ‪ 0  127 ‬است‪.‬‬

‫‪27  128‬‬
‫ج) مشخص است بايد ‪ 61‬كم شود‪.‬‬
‫‪ e1  64    e2  64    e1  e2  64   64‬‬
‫د) مشخص است بايد ‪ 61‬اضافه شود‪.‬‬
‫‪ e1  64    e2  64   e1  e2‬‬
‫‪ 18‬ـ الگوريتمي به شيل فلوچارت براس مقايسه دو عـدد دودويـي عالمـتدار‬
‫وقتي كه عددهاس منفي به شيل متمم ‪ 2‬عالمتدار باشند به دست آوريد‪.‬‬
‫الف) با استفاده از عمل تفري با عددهاس متمم ‪ 2‬عالمتدار‬
‫ب) با مرور و مقايسه جفت بهتها از چپ به راست‬
‫حل‪ :‬دقت شود هر گاه عالمت دو عدد متفاوت بود عدد كه بیت عالمكت آن صكفر‬
‫‪ / 092‬معماري كامپيوتر‬

‫است بزرگتر است‪.‬‬


‫الف) در غیر اين صورت طبو روال عمل خواهیم كرد‪.‬‬

‫ب) از سمت بیتهای با ارزشتر تساوی بودن را چک ميكنیم و به سمت بیتهكای‬


‫كم ارزشتر حركت ميكنیم‪.‬‬
‫معماري كامپيوتر ‪091 /‬‬

‫‪19‬ـ مسلله ‪ 18‬را براس اعداد دودويي مقدار عالمتدار تيرار كنهد‪.‬‬
‫حل‪:‬‬

‫الف)‬
‫‪ / 094‬معماري كامپيوتر‬

‫ب) در رابطه با سیستم مقدار عالمتدار داريم‪:‬‬


‫برای اعداد مثبت آنكه بیت با ارزشتر (‪ )4‬باشد بزرگتر است‪.‬‬
‫برای اعداد منفي آنكه بیت با ارزشتر (‪ )4‬باشد كوچکتر است‪.‬‬
‫معماري كامپيوتر ‪091 /‬‬

‫‪21‬ـ فرض كنهد ‪ ،n‬تعداد بهتهاس مانتهس در يك عـدد دودويـي ممهـز شـناور‬
‫است‪ .‬هنگامي كه مانتهسها در جمع و تفري هم رديف ميشـوند‪ ،‬اخـتالف نماهـا‬
‫ممين است بزرگتر از ‪ n 1‬باشد‪ .‬اگر اين حالت ر دهد‪،‬مانتهس با نماس كوچيتر‬
‫كالً از ثبات شهفت داده ميشود‪ .‬هم رديف كرد مانتهس را در شيل (‪15‬ــ‪ )11‬بـا‬
‫اضافه كرد يك توالي شمارشي كه تعداد شهفتها را ميشمارد اصالح كنهد‪ .‬اگـر‬
‫تعداد شهفتها بزرگتر از ‪ n 1‬باشد‪ ،‬بزرگترين عـدد بـراس تعهـهن نتهجـه بيـار‬
‫خواهد رفت‪.‬‬
‫شود دو عدد زير بكرای عمكل‬ ‫حل‪ :‬اين مطلب را با يک مثال نمايش ميدهیم‪ .‬فر‬
‫‪ / 096‬معماري كامپيوتر‬

‫جمع آماده ميشوند‪.‬‬


‫‪A  0/11011 25‬‬
‫‪B 0/10111 210‬‬
‫‪ 5‬بار شیفت بكه‬ ‫‪A‬‬ ‫‪ 5‬واحد اضافه شود و مانتیس‬ ‫‪A‬‬ ‫ميبايست به نمای‬ ‫‪A+B‬‬ ‫در‬
‫راست انجام شود كه عمالً مانتیس از بین خواهد رفت‪.‬‬

‫بنابراين با استفاده از شمارنده ‪ 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‬‬ ‫بیت‬
‫در ضرب روبرو‬
‫‪1112  * 1102 ‬‬
‫‪2‬‬ ‫‪2‬‬
‫‪ / 212‬معماري كامپيوتر‬

‫‪111110 101010 24  101 27‬‬


‫ب) در رابطه با تقسیم هم همین قضیه وجود دارد‪.‬‬

‫‪27‬ـ سختافزارس را كه براس جمع و تفري دو عدد دهدهي در نمـايش انـدازه‬


‫عالمتدار به كار ميرود نشا دههد‪ .‬چگونگي آشيارسازس سرريز را نشا دههد‪.‬‬
‫حل‪:‬‬
‫معماري كامپيوتر ‪211 /‬‬

‫با جمع ‪ 673‬با متمم ‪ 11‬عدد ‪ 356‬و چشمپوشـي‬ ‫‪673  356‬‬ ‫‪28‬ـ نشا دههد كه‬
‫از نقلي پاياني انجام ميشود‪ .‬بالك دياگرام سه مرحله از واحد حسـابي دهـدهي را‬
‫رسم كنهد و نشا دههد چگونه اين عمل پهادهسازس ميشود‪ .‬تمام بهتهـاس ورودس‬
‫و خروجي واحد حساب را لهست كنهد‪.‬‬
‫حل‪:‬‬
‫‪673  356  317‬‬ ‫‪  356   644‬مكمل ‪41‬‬
‫‪ 673‬‬
‫‪ 644‬‬
‫‪317‬‬
‫و نقلي ‪1‬‬
‫با استفاده از يک سويیچ ‪ M‬مشخص ميكنیم تفريو يا جمع انجام ميشود بكه شككل‬
‫روبرو‪:‬‬
‫‪AB‬‬
‫‪ / 214‬معماري كامپيوتر‬

‫برای سه واحد حسابي دهدهي داريم‪:‬‬

‫‪29‬ـ نشا دههد كه به جاس جمعكننده دودويي چهار بهتي پايهن رتبـه در شـيل‬
‫‪11‬ـ‪ 11‬ميتوا يك تمام جمعكننده و دو نهم جمعكننده گذاشت‪.‬‬
‫حل‪ :‬دقت شود زماني ميتوانیم به جای ‪ F.A.‬از ‪ H.A.‬استفاده كنیم كه يا رقكم نقلكي‬
‫ورودی نداشته باشیم و يا رقم نقلي خروجي نداشته باشیم‪.‬‬
‫با توجه به شكل ‪41‬ك‪ 41‬كتاب ميتوانیم داشته باشیم‪:‬‬
‫معماري كامپيوتر ‪211 /‬‬

‫‪31‬ـ با تينهكهاس طراحي مدارهاس تركهبي‪ ،‬توابـع بـولي متممسـاز ‪ 9‬و اعـداد‬
‫‪ BCD‬شيل ‪19‬ـ‪ 11‬را بدست آوريد‪ .‬دياگرام منطقي آ را رسم كنهد‪.‬‬
‫حل‪ :‬جدول زير را داريم‪:‬‬
‫‪ / 216‬معماري كامپيوتر‬

‫جداول ككارنو را تشككیل داده تكا مكدار منطقكي‬ ‫‪X1 , X2 , X4 , X8‬‬ ‫طبو جدول برای‬
‫بهینه شده را بدست آوريم‪:‬‬

‫حال مدارهای منطقي را با فرمولهای بدست آمده تشكیل ميدهیم‪.‬‬


‫معماري كامپيوتر ‪211 /‬‬

‫‪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‬معماري كامپيوتر‬

‫‪10‬‬ ‫‪10000‬‬ ‫‪10011‬‬


‫‪11‬‬ ‫‪10001‬‬ ‫‪10100‬‬
‫‪12‬‬ ‫‪10010‬‬ ‫‪10101‬‬
‫‪13‬‬ ‫‪10011‬‬ ‫‪10110‬‬
‫‪14‬‬ ‫‪10100‬‬ ‫‪10111‬‬
‫‪15‬‬ ‫‪10101‬‬ ‫‪11000‬‬
‫‪16‬‬ ‫‪10110‬‬ ‫‪11001‬‬
‫‪17‬‬ ‫‪10111‬‬ ‫‪11010‬‬
‫‪18‬‬ ‫‪11000‬‬ ‫‪11011‬‬
‫‪19‬‬ ‫‪11001‬‬ ‫‪11100‬‬

‫دقت شود زماني كه جمع دو عدد بین ‪ 1‬تا ‪ 5‬دسیمال شود رقم نقلي نداريم‪.‬‬
‫‪Y=Z-3 = Z+13-16‬‬ ‫(ناديده گرفتن رقم نقلي)‬
‫رقم نقلي خروجي = رقم نقلي تصثیح نشده‬
‫‪Y=Z+3‬‬

‫‪32‬ـ مدارس براس يك متمم ساز ‪،9‬هنگامي كه ارقام دهدهي به شيل كد افزونـي‬
‫‪ 3‬نمايش داده ميشوند‪ ،‬بدست آوريد‪ .‬يك ورودس كنترل مد تعههن ميكند آيا رقـم‬
‫معماري كامپيوتر ‪219 /‬‬

‫متمم شده است يا نه‪ .‬مزيت اين كار نسبت به كد ‪ BCD‬چهست؟‬


‫حل‪ :‬در ارتباب با مزيت كد افزوني سه نسبت به كد ‪ BCD‬برای اسكتفاده در سكاخت‬
‫ميدانیم كد افزوني ‪ 3‬خود مكمل است‪ .‬بنابراين برای بدست آوردن متمم‬ ‫ساز‪9‬‬ ‫متمم‬
‫كافي است متمم هر رقم را بنويسیم‪.‬‬ ‫‪9‬‬

‫برای مدار داريم‪:‬‬

‫در اين مدار با استفاده از سويیچ ‪ M‬و ‪ 4‬كردن آن ميتوان مكمل هر بیت را بدسكت‬
‫آورد‪.‬‬
‫‪33‬ـ سختافزار به كار رفته براس جمع و تفري دو عدد دهدهي با نمايش مـتمم‬
‫‪ 11‬عالمتدار عددهاس منفي را نشا دههـد‪ .‬نشـا دههـد چگونـه سـرريز آشـيار‬
‫ميشود‪ .‬الگوريتمي به شيل فلوچارت تههه كنهد و خود را از درستي تولهـد پاسـخ‬
‫آ مطملن سازيد‪.‬‬
‫حل‪ :‬اساس كار الگوريتم درخواستي مانند الگوريتم داده شده بكرای جمكع و تفريكو‬
‫در سیستم متمم (‪ )6‬دودويي است‪( .‬فلوچارت شكل ‪6‬ك‪)41‬‬
‫در ضمن در ارتباب با تشخیص خطای سرريز داريم‪:‬‬
‫‪ / 201‬معماري كامپيوتر‬

‫‪34‬ـ محتواس ثباتهاس ‪ A‬و ‪ E‬و ‪ Q‬و ‪ SC‬را در حـهن ضـرب دهـدهي (شـيل‬
‫بدست آوريـد‪ .‬ثباتهـا را سـه رقمـي‬ ‫‪999 199‬‬ ‫و ب)‬ ‫‪470152‬‬ ‫‪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 /‬‬

‫فصل يازدهم‪ :‬سازمان ورودی‪ -‬خروجي‬


‫در شيل ‪2‬ـ‪ 11‬برابـر بـا‬ ‫‪I/O‬‬ ‫‪1‬ـ آدرسهاس واگذار شده به چهار ثبات واسط‬
‫معادل دودويي اعداد ‪ 14 ،13 ،12‬و ‪ 15‬است‪ .‬مدار خارجي بزم بـهن يـك آدرس‬
‫‪ RS1‬و ‪ RS0‬از مدار واسطه وصـل‬ ‫‪, CS‬‬ ‫هشت بهتي از ‪ CPU‬و در ورودسهاس‬ ‫‪I/O‬‬

‫شونده را نشا دههد‪.‬‬


‫حل‪:‬‬

‫‪A7 .......A2‬‬ ‫‪A1A0‬‬ ‫‪CS  A2A3 A'4 A'5 A'6 A'7‬‬


‫= ‪12‬‬ ‫‪000011‬‬ ‫‪0‬‬ ‫‪0‬‬
‫‪‬‬ ‫‪RS1  A1‬‬
‫= ‪13‬‬ ‫‪000011‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪RS0  A0‬‬
‫= ‪14‬‬ ‫‪000011‬‬ ‫‪1 0‬‬
‫‪1‬‬ ‫‪1‬‬
‫= ‪15‬‬ ‫‪000011‬‬

‫‪RS1 RS0‬‬

‫يكساناند كه با استفاده از يک ‪ 6 AND‬ورودی بكه ‪ CS‬متصكل‬ ‫‪A7‬‬ ‫تا‬ ‫‪A2‬‬ ‫(بیتهای‬


‫ميشوند و دو بیت آخر همان ‪ RS1‬و ‪ RS0‬هستند‪).‬‬
‫‪CPU‬‬ ‫‪2‬ـ شش واحد واسط از نوعي كه در شيل ‪2‬ـ‪ 11‬نشا داده شده بـه يـك‬
‫هشت بهتي استفاده ميكند متصلاند‪ .‬هـر يـك از شـش ورودس‬ ‫‪I/O‬‬ ‫كه از آدرس‬
‫انتخاب تراشه ‪ CS‬به خط آدرس متفاوتي متصل است‪ ،‬بنـابراين خـط بـا ارزشتـر‬
‫آدرس به ورودس ‪ CS‬اولهن واحد واسط و ششمهن خط آدرس بـه ششـمهن واحـد‬
‫واسط متصل است‪ .‬دو خط آدرس كم ارزشتر به ‪ RS1‬و ‪ RS0‬از هـر شـش واحـد‬
‫واسط متصلاند‪ .‬آدرس هشت بهتي ثباتهاس هر واسطه را تعههن كنهد‪.‬‬
‫حل‪:‬‬
‫‪ / 206‬معماري كامپيوتر‬

‫‪ 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‬تههه كنهد‪ .‬در نمـودار زمـاني آدرس را نهـز‬
‫نشا دههد‪.‬‬
‫حل‪:‬‬
‫‪106‬‬
‫‪20 MHz  20106 Hz  T ‬‬ ‫‪ 50 ns‬‬
‫‪20‬‬
‫بنابراين دياگرام به صورت زير است‪:‬‬
‫‪ / 221‬معماري كامپيوتر‬

‫‪9‬ـ مدار واسط ارتباطي غهرهمگام شيل ‪ 8‬ـ ‪ 11‬بهن يـك ‪ CPU‬و يـك چـاپگر‬
‫وصل شده است‪ .‬فلوچارتي رسم كنهد كه دنباله عمـل هـاس فرسـتاد كـاراكتر از‬
‫‪ CPU‬به چاپگر را نشا دهد‪.‬‬
‫حل‪( :‬ثبات ها مربوط به شيل ‪ 8‬ـ‪ 11‬هستند‪ .‬پرچم خروجي يك بهت در ثبـات‬
‫وضعهت است‪).‬‬
‫معماري كامپيوتر ‪220 /‬‬

‫‪11‬ـ حداقل شش وضعهت مختلف را براس ‪ 1‬كرد بهتهاس ثبـات وضـعهت در‬
‫يك واسط ارتباطي غهرهمگام ارايه دههد‪.‬‬
‫حل‪:‬‬
‫‪1‬ـ پرچم خروجي زماني كه ثبات انتقال خالي است‪.‬‬
‫‪2‬ـ پرچم ورودس زماني كه ثبات دريافت پر است‪.‬‬
‫‪3‬ـ فعال كرد وقفه اگر يك پرچم فعال است‪.‬‬
‫‪4‬ـ خطاس تواز‬
‫‪ 5‬ـ خطاس كادربندس‬
‫‪ / 222‬معماري كامپيوتر‬

‫‪ 6‬ـ خطاس بازنويسي‬


‫‪11‬ـ اگر واسط به پايانهاس وصل باشد كه به يك بهت توقف نهاز دارد‪ ،‬چند بهت‬
‫در ثبات شهفت فرستنده شيل ‪ 8‬ـ ‪ 11‬وجود دارد؟ با استفاده از كد اسـيي تـواز‬
‫زوج بهتهاس ثبات شهفت را وقتي كه حرف ‪ W‬ارسال شود مشخص كنهد‪.‬‬
‫حل‪:‬‬
‫‪ 41‬بیت ‪ :‬بیت شروع ‪ 4 +‬بیت اسكي ‪ +‬بیت توازن ‪ +‬بیت توقف‬
‫از جدول ‪4‬ك‪ 44‬داريم‪:‬‬
‫كداسكي ‪4141444 : W‬‬
‫با توازن زوج ‪44141444 :‬‬
‫با بیت شروع و توقف‪4441414441 :‬‬
‫‪12‬ـ بر روس يك خط ‪ 1200-Baud‬با هر يك از روشهاس زير چنـد كـاراكتر در‬
‫هر ثانهه فرستاده ميشود؟ (كد كاراكترها را هشت بهتي فرض كنهد‪).‬‬
‫الف) ارسال سرس همگام (همزما )‬
‫‪1200‬‬
‫‪150‬‬ ‫كاراكتر بر ثانیه‬
‫‪8‬‬
‫ب) ارسال غهر همگام (با دو بهت توقف)‬
‫‪1200‬‬
‫‪ 109‬‬ ‫كاراكتر بر ثانیه‬
‫‪11‬‬
‫ج) ارسال سرس غهرهمگام (با يك بهت توقف)‬
‫‪1200‬‬
‫‪120‬‬ ‫كاراكتر بر ثانیه‬
‫‪10‬‬
‫‪13‬ـ اطالعاتي با سرعت ‪ m‬بايت در ثانهـه بـه يـك بـافر ‪ FIFO‬وارد ميشـود‪.‬‬
‫اطالعات پاك شده از آ نهز ‪ n‬بايت در ثانهه است‪ ،‬بهشهنه ظرفهـت بـافر ‪ 12‬بايـت‬
‫است‪.‬‬
‫باشد چه مدت طول ميكشد تا بافر خالي‪ ،‬پر شود؟‬ ‫‪mn‬‬ ‫الف) اگر‬

‫ظرفیت بافر‬ ‫‪k‬‬ ‫بايت‬


‫اختالف سرعت ورود و پاك شدن‬ ‫)‪(m-n‬‬ ‫ثانیه ‪ /‬بايت‬
‫معماري كامپيوتر ‪221 /‬‬

‫= زمان پر شده‬ ‫=‬

‫‪12‬‬
‫زمان پر شدن بافر‬ ‫‪‬‬ ‫ثانیه‬
‫‪mn‬‬
‫چقدر طول ميكشد تا بافر پر‪ ،‬خالي شود؟‬ ‫‪mn‬‬ ‫ب) اگر‬
‫همانند زمان پر شدن داريم‪:‬‬
‫‪12‬‬
‫زمان خالي شدن بافر‬ ‫‪‬‬ ‫ثانیه‬
‫‪nm‬‬
‫باشد آيا بافر ‪ FIFO‬بزم است؟‬ ‫‪mn‬‬ ‫ج) اگر‬
‫خیر زماني به بافر نیاز داريم كه اختالف سرعت وجكود داشكته باشكد و الزم باشكد‬
‫يكي منتظر ديگری بماند‪.‬‬
‫‪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‬كرد بهـت‬
‫پرچم ارائه دههد‪.‬‬
‫حل‪:‬‬

‫رويه ‪ 4‬كردن و صفر كردن پرچم‪.‬‬


‫اگر ثبات داده پر باشد‪( .‬بعد از نوشتن توسط ‪)CPU‬‬ ‫‪flag 0‬‬

‫اگر ثبات داده خالي باشد (بعد از انتقال به وسیله جانبي)‬ ‫‪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 /‬‬

‫اولويت را بدست آوريد‪ .‬فرض كنهـد كـه سـه‬ ‫‪83‬‬ ‫‪24‬ـ جدول درستي انيدر‬
‫از انيدر اولويت براس تههه آدرس بردار به و به شيل ‪ 101xyz00‬بيار‬ ‫‪xyz‬‬ ‫خروجي‬
‫رون د‪ .‬هشت آدرس بردار را با شروع از آ كه بابترين اولويت را دارد بنويسهد‪.‬‬
‫حل‪:‬‬
‫‪ / 211‬معماري كامپيوتر‬

‫‪25‬ـ در شيل ‪14‬ـ‪11‬چه بايد كرد تا چهار مقدار ‪ VAD‬برابر بـا ‪79 ،78 ،77 ،76‬‬
‫گردند؟‬
‫حل‪:‬‬
‫‪76  010011002‬‬
‫پس كافي است ‪ 6‬عدد صفر را با ‪ 141144‬جايگزين كنیم تا اعداد مورد نظر بدسكت‬
‫آيند‪.‬‬
‫‪26‬ـ براس بررسي زماني كه منبع در حال سرويسدهي به وقفه قبلي به كـامپهوتر‬
‫به وسهله هما منبع‪ ،‬وقفه ميدهد‪ ،‬چه برنامهاس نهاز است؟‬
‫حل‪ :‬ابتدا بیت ماسک مربوب به منبع وقفه را فعال ميكنیم ككه بتوانكد دوبكاره وقفكه‬
‫بدهد‪ .‬بكرای تشكخیص در شكروع روال سكرويس مقكدار آدرس بازگشكت را در پشكته‬
‫بررسي ميكنیم‪ .‬اگر اين مقدار آدرسي درون برنامه سرويس منبكع باشكد بكدين معنكي‬
‫است كه همان منبع در هنگام سرويسدهي دوباره وقفه ايجاد كرده است‪.‬‬
‫‪27‬ـ چرا خط هاس كنتـرل خوانـد و نوشـتن در كنترلكننـده ‪ DMA‬دو طرفـه‬
‫است؟ در چه شرايطي و به چه منظورس از آنها به عنوا ورودس استفاده ميشـود؟‬
‫در چه شرايطي و به چه منظورس از آنها به عنوا خروجي استفاده ميشود؟‬
‫حل‪ :‬هنگامي كه ‪ CPU‬با كنترلكننده ‪ DMA‬ارتباب برقرار ميكند خطوب خوانكدن و‬
‫نوشتن به عنوان ورودی از ‪ CPU‬به ‪ DMA‬استفاده ميشوند‪ .‬ايكن ككار امككان برقكراری‬
‫ارتباب با ثباتهای ‪ DMA‬را برای ‪ CPU‬فراهم ميكند‪.‬‬
‫هنگامي كه كنترل كننده ‪ DMA‬با حافظه ارتباب برقرار ميكنكد خطكوب خوانكدن و‬
‫نوشتن به عنوان خروجي از ‪ DMA‬به حافظه استفاده ميشوند و عمل خواندن يا نوشتن‬
‫را مشخص ميكنند‪.‬‬
‫‪28‬ـ ميخواههم ‪ 256‬كلمه را از يك ديسك م ناطهسي به بخشي از حافظه كه از‬
‫طبـ شـيل ‪18‬ــ‪11‬‬ ‫‪DMA‬‬ ‫آدرس ‪ 1231‬شروع ميشود جابجا كنهم‪ .‬جابجايي بـا‬
‫معماري كامپيوتر ‪210 /‬‬

‫صورت ميگهرد‪ ،‬روند اين كار چگونه خواهد بود؟‬


‫‪ DMA‬را با انتقال مقادير زير مقداردهي اولیه ميكند‪:‬‬ ‫‪CPU‬‬ ‫حل‪ :‬الف)‬
‫‪ 656‬به ثبات شمارنده كلمه‬
‫‪DMA‬‬ ‫‪ 4631‬به ثبات آدرس‬
‫بیتهايي به ثبات كنترل برای مشخص كردن عمل نوشتن‬
‫ب) ‪4‬ك وسیله ‪ I/O‬يک درخواست ‪ DMA‬ميفرستد‪.‬‬
‫‪6‬ك ‪ DMA‬درخواست گذرگاه )‪ (BR‬به ‪ CPU‬ميفرستد‪.‬‬
‫‪3‬ك ‪ CPU‬با اعطای گذرگاه )‪ (BG‬پاسخ ميدهد‪.‬‬
‫‪1‬ك مثتوای ثبات آدرس ‪ DMA‬روی گذرگاه آدرس قرار ميگیرد‪.‬‬
‫‪ 5‬ك ‪ DMA‬سیگنال «تصديو ‪ »DMA‬را به وسیله ‪ I/O‬ميفرستد و خط كنترل نوشكتن‬
‫حافظه را فعال ميكند‪.‬‬
‫‪ 6‬ك كلمه داده توسط وسیله ‪ I/O‬روی گذرگاه داده قرار ميگیرد‪.‬‬
‫‪DMA‬‬ ‫‪4‬ك ثبات آدرس ‪ DMA‬يک واحد افزايش پیدا ككرده و ثبكات شكمارنده كلمكه‬
‫يک واحد كاهش مييابد‪.‬‬
‫‪ 8‬ك مراحل ‪ 1‬تا ‪ 4‬برای انتقال هر كلمه تكرار ميشود‪.‬‬
‫‪29‬ـ يك كنترلكننده ‪ DMA‬كلمههاس ‪ 16‬بهتي را با سـرقت سـهيل بـه حافظـه‬
‫منتقل ميكند‪ .‬اين كلمهها از وسهلهاس دريافت ميشود كه كاراكترها را بـا سـرعت‬
‫‪ 2411‬كاراكتر در ثانهه مي فرستد‪ CPU .‬دستورها را با سرعت يك مهلهـو در ثانهـه‬
‫برداشت و اجرا ميكند‪ CPU .‬در اثر جابجايي به شهوه ‪ DMA‬تـا چـه انـدازه كنـد‬
‫ميشود؟‬
‫يكک بكار (يكا بیشكتر) بكر حافظكه مراجعكه ميكنكد‪.‬‬ ‫‪110 1s‬‬
‫‪/‬‬
‫‪6‬‬
‫حل‪ CPU :‬در هر‬
‫دريافت ميشوند‪ .‬دو كاراكتر ‪ 8‬بیتي بستهبندی شكده‬ ‫‪12400‬‬
‫‪/‬‬ ‫‪ 4`6/ 6 s‬‬ ‫كاراكترها در هر‬
‫دريافت ميشوند‪ .‬پس هر ‪ 833/3‬سكیكل از‬ ‫‪2  416/ 6  833 / 3 s‬‬ ‫در كلمه ‪ 46‬بیتي هر‬
‫يک سیكل برای دريافت كاراكتر استفاده ميشود‪ .‬بنابراين حداكثر كاهش سكرعت‬ ‫‪CPU‬‬
‫‪ / 212‬معماري كامپيوتر‬

‫‪ CPU‬برابر است با‪:‬‬


‫‪1‬‬
‫‪100 0/12%‬‬
‫‪833 / 3‬‬
‫‪31‬ـ چرا ‪ DMA‬به هنگام درخواست جابجايي به حافظه نسبت به ‪ CPU‬به هنگام‬
‫درخواست جابجايي به حافظه اولويت دارد؟‬
‫حل‪ CPU :‬ميتواند برای برداشت دستورها و داده از حافظه بدون هكیچ آسكیبي بكه‬
‫جز از دست دادن زمان منتظر بماند اما ‪ DMA‬معموالً داده را از وسیلهای انتقال ميدهكد‬
‫كه نميتواند متوقف شود چكون جريكان ورودی اطالعكات ادامكه دارد و ممككن اسكت‬
‫دادههايي از بین برود‪.‬‬
‫‪ IBM‬رسم كنهد و ارتباط ‪ CPU‬با گذرگاه‬ ‫‪370‬‬ ‫‪31‬ـ فلوچارتي شبهه ‪21‬ـ‪ 11‬براس‬
‫جابجايي ‪ I/O‬را توضهح دههد‪.‬‬
‫حل‪:‬‬

‫‪ CPU‬مستقیماً از طريو خطوب كنترل اختصاصي با كانالها و از طريو نكواحي رزرو‬


‫شده ذخیرهسازی در حافظه بطور غیرمستقیم تبادل اطالعات ميكند‪ .‬شككل ‪64‬كك‪ 44‬در‬
‫كتاب قالب كلمات مربوب به عملكرد كانال را نشان ميدهد‪.‬‬
‫معماري كامپيوتر ‪211 /‬‬

‫‪32‬ـ آدرس يك پايانه متصل به يك پردازنـده انتقـال داده از دو حـرف الفبـاس‬


‫انگلهسي يا يك حرف و به دنبال آ ييي از ده رقم تشيهل شده است‪ .‬چنـد آدرس‬
‫مختلف ميتوا ايجاد كرد؟‬
‫‪ 66‬حرف و ‪ 41‬رقم وجود دارد‪:‬‬
‫تعداد آدرس ممكن‬ ‫‪26 26  26 10  936‬‬

‫‪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‬ـ الف) چند تراشه ‪ 128×8 ، Ram‬براس ساخت يك حافظه بـا ظرفهـت ‪2148‬‬
‫بزم است؟‬
‫ب) چند خط گذرگاه آدرس نهاز است تا ‪ 2148‬بايت حافظـه دسـتهابي شـود؟‬
‫چند خط از اين خط ها براس همه تراشهها مشترك است؟‬
‫پ) چند خط براس انتخاب تراشه بايد دييد شود؟ اندازه دييدر را تعههن كنهد‪.‬‬
‫حل‪:‬‬
‫‪2048‬‬
‫‪ 16‬‬ ‫مورد نیاز‪:‬‬ ‫‪Ram‬‬ ‫الف) تعداد تراشه‬
‫‪128‬‬
‫ب) ‪ 44‬خط آدرس نیاز داريم ‪2048  211 ‬‬

‫‪ 1‬خط احتیكاج اسكت‬ ‫‪Ram‬‬ ‫برای ديكدر انتخاب و فعالسازی هر كدام از تراشههای‬
‫‪Decoder‬‬ ‫زيرا‬
‫‪4 * 16‬‬ ‫‪16‬‬

‫‪11 4  7‬‬ ‫پس خطوب آدرس مشترك‬


‫پ) همانطور كه گفته شد ديكدر ‪ 1‬به ‪ 46‬نیاز خواهد بود‪.‬‬
‫‪2‬ـ كامپهوترس از يك ‪ RAM‬با ظرفهت ‪ 1124×1‬استفاده ميكند‪.‬‬
‫الف) چند تراشه نهاز است و چگونه خط هاس آنها بايد متصـل شـود تـا ‪1124‬‬
‫بايت حافظه حاصل شود‪.‬‬
‫ب) چند تراشه براس تههه ‪ 16k‬بايت حافظه نهاز است؟ توضهح دههد كه چگونـه‬
‫تراشهها بايد به گذرگاه حافظه وصل شوند‪.‬‬
‫حل‪:‬‬
‫‪ 4161×8‬از تراشكه رم ‪ 8 4161×4‬تراشكه بكه‬ ‫‪RAM‬‬ ‫الف ) بكرای سكاخت تراشكه‬
‫صورت موازی به هم متصل ميشوند‪ .‬مانند شكل زير‪:‬‬
‫‪ / 216‬معماري كامپيوتر‬

‫‪16  8  128 ‬‬ ‫ب) در كل ‪ 468‬تراشه ‪ 4161×4 Ram‬الزم است‪.‬‬


‫‪16k  24  210  214 ‬‬ ‫‪ 41‬خط آدرس خواهیم داشت‪:‬‬
‫كه ‪ 41‬خط آدرس برای آدرسدهي تراشهها و ‪ 1‬خط آدرس برای انتخكاب يككي از‬
‫‪ 46‬تراشه به وسیله يک ديكدر ‪ 1‬به ‪ 46‬استفاده ميشود‪.‬‬
‫‪3‬ـ يك تراشه ‪ ROM‬با ‪ 1124×8‬بهت داراس چهـار ورودس انتخـاب بـوده و بـا‬
‫منبع ت ذيه ‪ 5‬ولتي كار ميكند براس بسته ‪ IC‬چند پايه نهاز است‪ .‬بـالك ديـاگرام را‬
‫رسم كرده و پايانههاس ورودس و خروجي را در ‪ ROM‬نامگذارس كنهد‪.‬‬
‫حل‪:‬‬
‫‪ 41‬خط آدرس ‪1024  210 ‬‬
‫‪1024  8‬‬
‫‪‬‬ ‫‪ 8‬خط خروجي‬
‫‪ROM‬‬
‫پس داريم‪:‬‬

‫‪10  4  8  2  25 pin‬‬ ‫(پین)‬


‫‪ROM‬‬ ‫‪4‬ـ سهستم حافظه شيل ‪4‬ـ‪ 12‬را بـه ‪ 4196‬بايـت ‪ ROM‬و ‪ 4196‬بايـت‬
‫گسترش دههد‪ .‬نقشه حافظه ـ آدرس را رسم كنهد‪ .‬تعههن كنهد كه اندازه دييدر بايد‬
‫چقدر باشد‪.‬‬
‫معماري كامپيوتر ‪211 /‬‬

‫حل‪:‬‬
‫تعداد تراشه ‪: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‬معماري كامپيوتر‬

‫ميكند‪ .‬سهستم كامپهوتر به ‪ 2k‬بايت از ‪ 4k ، RAM‬بايـت از ‪ ROM‬و چهـار واحـد‬


‫نگاشـت حافظـه‬ ‫‪I/O‬‬ ‫واسط‪ ،‬كه هر يك چهار ثبات دارد‪ ،‬نهـاز دارد‪ .‬از پهيربنـدس‬
‫استفاده شده است‪ .‬به دو بهت با ارزشتر گذرگاه آدرس ‪ 11‬بـراس ‪ 11 RAM‬بـراس‬
‫‪ ROM‬و ‪ 11‬براس ثباتهاس واسطه اختصاص داده ميشود‪.‬‬
‫الف) چند تراشه ‪ RAM‬و ‪ ROM‬بزم است‪.‬‬
‫ب) نقشه حافظه ‪ -‬آدرس را براس سهستم رسم كنهد‪.‬‬
‫پ) محدوده آدرس را برحسب شانزده شانزدهي بـراس ‪ RAM‬و ‪ ROM‬و مـدار‬
‫واسط تعههن كنهد‪.‬‬
‫حل‪:‬‬
‫تعداد تراشههای ‪ RAM‬مورد نیاز‪:‬‬
‫‪2048‬‬
‫‪ 8 , 2048  211 , 256  28‬‬
‫‪256‬‬
‫تعداد تراشههای ‪ ROM‬مورد نیاز‪:‬‬
‫‪4096‬‬
‫‪ 4 , 4096  212 , 1024  210‬‬
‫‪1024‬‬
‫چهار واحد واسطه كه هر كدام ‪ 1‬رجیستر دارد‪.‬‬

‫‪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‬معماري كامپيوتر‬

‫‪7‬ـ يك سهستم ديسك م ناطهسي داراس پارامترهاس زير است‪:‬‬


‫= زمان متوسط برای قرار گرفتن هد مغناطیسي روی يک شیار‬ ‫‪TS‬‬

‫‪ = R‬سرعت چرخش ديسک برحسب دور بر ثانیه‬


‫= تعداد بیتها در شیار‬ ‫‪Nt‬‬

‫= تعداد بیتها در قطاع‬ ‫‪Ns‬‬

‫كه برای خواندن يک قطاع نیاز است چقدر است؟‬ ‫‪Ta‬‬ ‫زمان متوسط‬
‫حل‪ :‬زمان متوسط =‬
‫زمان متوسط الزم برای قرار گرفتن هد مغناطیسي روی يک شیار‬
‫‪ +‬متوسط زماني كه طول ميكشد ديسک با چرخش خود هكد را در مككان مناسكب‬
‫جای دهد = نصف يک چرخش كامل‬
‫‪ +‬زماني كه طول ميكشد اطالعات از سكتور خوانده شود‪.‬‬
‫پس‪:‬‬
‫‪1 Ns 1‬‬
‫‪Ta  Ts ‬‬ ‫‪ ‬‬
‫‪2R Nt R‬‬
‫‪ 8‬ـ سرعت جابجايي يك نوار م ناطهسي هشت شهاره كه سرعتش ‪ 121‬اينچ در‬
‫ثانهه و تراكم آ ‪ 1611‬بهت در اينچ است چقدر است؟‬
‫حل‪ :‬دقت شود كه ‪ 8‬بیت مربوب به يک كاراكتر دقیقاً همزمان خوانده ميشود (بكه‬
‫دلیل ماهیت نوار مغناطیسي) بنابراين داريم‪:‬‬
‫نرخ انتقال‬ ‫‪ 1600120  192000‬‬ ‫كاراكتر در ثانیه‬
‫‪9‬ـ تابع متمم منط انطباق يك كلمه را در حافظه انجمني بدست آوريد‪ .‬به بهـا‬
‫مجموع توابع ‪ OR‬انحصـارس اسـت‪ .‬ديـاگرام منطقـي را‬ ‫‪M'i‬‬ ‫ديگر‪ ،‬نشا دههد كه‬
‫بدست آيد‪.‬‬ ‫‪Mi‬‬ ‫رسم نموده و با يك وارونگر آ را پايا دههد تا‬ ‫‪M'i‬‬ ‫براس‬
‫‪n‬‬
‫‪n‬‬ ‫ضرب همه عبارتها به ازای ‪ g‬های از ‪ 4‬تكا‬ ‫‪‬‬ ‫حل‪ :‬در ابتدا بايد گفت مفهوم‬
‫‪g1‬‬
‫معماري كامپيوتر ‪240 /‬‬

‫‪n‬‬
‫مجموع همه عبارتها به ازای ‪g‬های از ‪ 4‬تا ‪ n‬ميباشد‪.‬‬ ‫‪‬‬ ‫ميباشد‪ .‬همچنین مفهوم‬
‫‪g1‬‬

‫داريم‪:‬‬

‫برای رسم مدار منطقي برای يک بیت داريم‪( :‬بیت ‪)4‬‬

‫وارونگر‬
‫‪11‬ـ تابع بول را براس منط انطباق يك كلمه با يك حافظه انجمنـي بـا در نظـر‬
‫گرفتن يك بهت نشانه كه مشخص ميكند كلمه فعال است يـا غهرفعـال را بدسـت‬
‫آوريد‪.‬‬
‫حل‪ :‬اين بیت نشانه را به عنوان يكي از پايههای يكک گیكت منطقكي ‪ AND‬بكه ككار‬
‫ميبريم تا فعال بودن يا نبودن كلمه مشخص شود‪ .‬پس‪:‬‬

‫‪ :‬بیت نشانه‬ ‫‪Ti‬‬

‫‪Mi Ti‬‬ ‫وضعیت‬


‫‪1‬‬ ‫‪1‬‬ ‫نه فعال و نه منطبو‬
‫‪1‬‬ ‫‪4‬‬ ‫فعال و غیرمنطبو‬
‫‪4‬‬ ‫‪1‬‬ ‫منطبو و غیرفعال‬
‫‪ / 242‬معماري كامپيوتر‬

‫‪4‬‬ ‫‪4‬‬ ‫فعال و منطبو‬

‫‪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 .‬‬

‫است‬ ‫‪Fi1 0‬‬ ‫‪4‬و‬ ‫‪A‬‬ ‫بیت اول‬


‫يا‬
‫‪ / 246‬معماري كامپيوتر‬

‫‪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‬‬

‫پس برای مدار داريم‪:‬‬


‫معماري كامپيوتر ‪241 /‬‬

‫‪15‬ـ يك حافظه نها انجمنـي دو تـايي از بالكهـاس چهـار كلمـهاس اسـتفاده‬


‫ميكند‪ .‬حافظه نها ميتواند در مجموع ‪ 2148‬كلمه از حافظـه اصـلي را در خـود‬
‫جاس دهد‪ .‬اندازه حافظه اصلي ‪ * 128×32‬است‪.‬‬
‫الف) همه اطالعات بزم براس ساختن اين حافظه نها را فرمول بندس كنهد‪.‬‬
‫ب) اندازه حافظه نها چقدر است؟‬
‫و به صورت‬ ‫”‪“two-way‬‬ ‫حل‪ :‬حافظه نهان از نوع انجمني ”‪ “Associative‬و دوتايي‬
‫بالكهای ‪ 1‬كلمهای است‪.‬‬
‫* در متن انگلیسي كتاب معماری كامپیوتر اندازه حافظكه اصكلي ‪ 468k×36‬عنكوان‬
‫شده است‪ .‬پس داريم‪:‬‬

‫‪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‬‬

‫‪16‬ـ زما دستهابي يك حافظـه نهـا ‪ 111ns‬و حافظـه اصـلي ‪ 1111ns‬اسـت‪.‬‬


‫‪ / 248‬معماري كامپيوتر‬

‫پهشبهني ميشود ‪ 81‬درصد درخواستهاس حافظه براس خوانـد و ‪ 21‬درصـد بقهـه‬


‫براس نوشتن ميباشند‪ .‬نسبت برد براس دستهابيهاس خواند فقـط ‪ 1/9‬اسـت‪ .‬رويـه‬
‫كاملنويسي استفاده ميشود‪.‬‬
‫الف) زما دستهابي متوسط سهستم فقط با در نظر گرفتن سهيل خوانـد چقـدر‬
‫است؟‬
‫ب) زما دستهابي متوسط سهستم براس درخواست هاس خواند و نوشتن چقـدر‬
‫است؟‬
‫ج) نسبت برد با در نظر گرفتن سهيلهاس نوشتن چقدر است؟‬
‫است‪.‬‬ ‫‪Hit Ratio‬‬ ‫حل‪ :‬منظور از نسبت برد‬
‫در حالت كلي برای زمان دستیابي متوسط سیستم داريم‪:‬‬
‫‪t a  ht c  1 h   t c  t m ‬‬
‫‪tc‬‬ ‫زمان دستیابي حافظه نهان =‬
‫‪tm‬‬ ‫زمان دستیابي حافظه اصلي =‬
‫‪h‬‬ ‫احتمال وجود داده در حافظه نهان =‬
‫حال داريم‪:‬‬
‫الف)‬
‫‪t a  ht c  1 h   t c  t m   0/ 9 100  0/111000  200 ns‬‬
‫‪ 200‬بدسكت آوريكم‪.‬‬ ‫‪ns‬‬ ‫ب) از قسمت الف برای خواندن زمان متوسط دستیابي را‬
‫حال داريم‪( :‬خواندن ‪ 200ns‬و نوشتن ‪)1000ns‬‬
‫‪t a  0/2 10000/ 8 200  360 ns‬‬
‫ج) از ‪ 81‬درصد دستورات كه خواندن هستند ‪ 1/5‬آنها در حافظه نهان هستند پس‪:‬‬
‫‪h 0/ 8 0/ 9  0/ 72‬‬
‫‪17‬ـ يك مجموعه حافظه نها انجمني چهار تايي در هر مجموعـه چهـار كلمـه‬
‫( بـا‬ ‫)‪LRU‬‬ ‫دارد‪ .‬يك رويه جايگزيني بر پايه الگوريتم قـديميترين مـورد اسـتفاده‬
‫معماري كامپيوتر ‪249 /‬‬

‫شمارندههاس دو بهتي متناظر با هر يك از كلمه هاس مجموعه پهادهسـازس ميشـود‪.‬‬


‫بنابراين مقدارس درمحدوده ‪ 1‬تا ‪ 3‬براس هر كلمه ثبـت ميشـود‪ .‬وقتـي بـردس ر‬
‫دهد(‪ ،)Hit‬شمارنده متناظر با كلمه دسترسي ‪ 1‬ميگردد‪ .‬شـمارندههايي كـه مقـدار‬
‫قبلي آنها كمتر از مقدار شمارنده مورد دسترسي است‪ 1 ،‬واحد افـزايش مييابنـد و‬
‫بقهه ت ههر نميكنند‪ .‬اگر باخت ر دهد(‪ ،)Miss‬كلمهاس كـه مقـدار شـمارنده آ ‪3‬‬
‫است حذف ميشود‪ ،‬كلمه جديد در محل آ قـرار داده ميشـود و شـمارنده آ ‪1‬‬
‫ميگردد‪ .‬سه شمارنده ديگر ‪ 1‬واحد افزاش مييابند‪ .‬براس دنباله دسترسي هاس زيـر‬
‫روند را انجام دههد‪.‬‬
‫‪ABCDBEDACECE‬‬
‫حل‪:‬‬
‫داريم‪:‬‬
‫ورود‬ ‫‪3‬‬ ‫‪6‬‬ ‫‪4‬‬ ‫‪1‬‬ ‫مقادير شمارنده‬
‫‪ABCD‬‬ ‫ورود‬ ‫‪A‬‬ ‫‪B‬‬ ‫‪C‬‬ ‫‪D‬‬

‫‪Hit B‬‬ ‫‪A‬‬ ‫‪C‬‬ ‫‪D‬‬ ‫‪B‬‬

‫‪Miss E‬‬ ‫‪C‬‬ ‫‪D‬‬ ‫‪B‬‬ ‫‪E‬‬

‫‪Hit D‬‬ ‫‪C‬‬ ‫‪B‬‬ ‫‪E‬‬ ‫‪D‬‬

‫‪Miss A‬‬ ‫‪B‬‬ ‫‪E‬‬ ‫‪D‬‬ ‫‪A‬‬

‫‪Miss C‬‬ ‫‪E‬‬ ‫‪D‬‬ ‫‪A‬‬ ‫‪C‬‬

‫‪Hit E‬‬ ‫‪D‬‬ ‫‪A‬‬ ‫‪C‬‬ ‫‪E‬‬

‫‪Hit C‬‬ ‫‪D‬‬ ‫‪A‬‬ ‫‪E‬‬ ‫‪C‬‬

‫‪Hit E‬‬ ‫‪D‬‬ ‫‪A‬‬ ‫‪C‬‬ ‫‪E‬‬

‫‪18‬ـ يك كامپهوتر ديجهتال داراس واحد حافظه ‪ 64k×16‬و يك حافظـه نهـا ‪1k‬‬
‫استفاده ميكند و سايز بالك‬ ‫)‪(Direct‬‬ ‫كلمهاس است‪ .‬حافظه نها از نگاشت مستقهم‬
‫‪ / 211‬معماري كامپيوتر‬

‫چهار كلمه است‪.‬‬


‫الف) در مهدا هاس نشانه‪ ،‬شاخص‪ ،‬بالك‪ ،‬و كلمه قالب آدرس چند بهت وجـود‬
‫دارد؟‬
‫ب) در هر كلمه حافظه نها چند بهت وجـود دارد‪ ،‬و آنهـا چگونـه بـه توابـع‬
‫مختلف كارس تقسهم شدهاند؟‬
‫ج) حافظه نها چند بالك را در خود جاس ميدهد‪.‬‬
‫حل‪:‬‬
‫حافظه اصلي ‪ 46‬خط آدرس و ‪ 46‬خط داده ‪ 64k 26  210  216 ‬حافظه‬
‫و تعداد كلمههای در يكک بكالك را‬ ‫‪Index‬‬ ‫الف) دقت شود برای آدرس ما ‪ TAG‬و‬
‫در نظر ميگیريم‪.‬‬
‫‪ = 41‬تعداد بیتهای آدرسدهي حافظه نهان ‪ 1k  210 ‬حافظه نهان‬
‫تعداد بیتهای ‪ 16  10  6 TAG‬‬

‫‪ 6‬بیت ‪ 8‬بیت ‪ 6‬بیت‬ ‫‪6  8  2  16‬‬

‫<< سايز بالك چهار كلمه‬ ‫‪TAG‬‬ ‫‪Block‬‬ ‫‪WORD‬‬

‫ب) دقت شود برای كلمه حافظه نهكان ‪ TAG L‬داده و بیكت ‪ VALID‬را در نظكر‬
‫ميگیريم‪.‬‬

‫‪ 4‬بیت‬ ‫‪ 6‬بیت‬ ‫‪ 46‬بیت‬ ‫‪1 6  18  23‬‬ ‫بیت‬


‫‪V‬‬ ‫‪TAG‬‬ ‫‪DATA‬‬

‫ج)‬
‫حافظه نهان‬ ‫‪ 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‬‬

‫چهار صفثه مستقیم در حافظه اصلي را پس از هر تغییر دسترسكي صكفثات تعیكین‬


‫كنید به شرطي كه الگوريتم جايگزيني مورد استفاده (الف) ‪ FIFO‬و (ب) ‪ LRU‬باشد‪.‬‬
‫حل‪ :‬برای هر كدام از الگوريتمها جدول صفثه را رسم مينمايیم‪:‬‬
‫‪ Miss‬صفثات است‬ ‫‪M‬‬ ‫و منظور از‬ ‫‪Hit‬‬ ‫‪H‬‬ ‫منظور از‬
‫‪(First In First Out) FIFO‬‬ ‫الف)‬
‫‪ 4‬مراجعه‬ ‫‪6‬‬ ‫‪3‬‬ ‫‪1‬‬ ‫‪5‬‬ ‫‪6‬‬ ‫‪4‬‬ ‫‪8‬‬ ‫‪5‬‬ ‫‪41 44 46 43 41 45‬‬
‫‪1‬‬ ‫‪6‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪6‬‬ ‫‪6‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪6‬‬ ‫‪3‬‬ ‫‪5‬‬ ‫‪4‬‬
‫‪-‬‬ ‫‪1‬‬ ‫‪6‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪6‬‬ ‫‪6‬‬ ‫‪6‬‬ ‫‪6‬‬ ‫‪1‬‬ ‫‪6‬‬ ‫‪3‬‬ ‫‪5‬‬
‫‪-‬‬ ‫‪-‬‬ ‫‪1‬‬ ‫‪6‬‬ ‫‪6‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪6‬‬ ‫‪1‬‬ ‫‪6‬‬ ‫‪3‬‬
‫‪-‬‬ ‫‪-‬‬ ‫‪-‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪6‬‬ ‫‪6‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫‪6‬‬ ‫‪1‬‬ ‫‪6‬‬
‫‪Page‬‬
‫‪M‬‬ ‫‪M‬‬ ‫‪M‬‬ ‫‪M‬‬ ‫‪H‬‬ ‫‪M‬‬ ‫‪H‬‬ ‫‪M‬‬ ‫‪H‬‬ ‫‪H‬‬ ‫‪H‬‬ ‫‪M‬‬ ‫‪M‬‬ ‫‪M‬‬ ‫‪M‬‬
‫‪Fault‬‬

‫‪(Least Recently Used) LRU‬‬ ‫ب)‬


‫‪ 4‬مراجعه‬ ‫‪6‬‬ ‫‪3‬‬ ‫‪1‬‬ ‫‪5‬‬ ‫‪6‬‬ ‫‪4‬‬ ‫‪8‬‬ ‫‪5‬‬ ‫‪41 44 46 43 41 45‬‬
‫‪1‬‬ ‫‪6‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪5‬‬ ‫‪5‬‬
‫‪-‬‬ ‫‪1‬‬ ‫‪6‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪3‬‬ ‫‪3‬‬ ‫‪3‬‬
‫‪ / 214‬معماري كامپيوتر‬

‫‪-‬‬ ‫‪-‬‬ ‫‪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‬بیت ‪ 468  27 ‬قطعه‬


‫‪ 5‬بیت ‪ 32  25 ‬صفثه‬
‫‪ 46‬بیت ‪ 4K  22  210  212‬كلمه‬

‫پس ‪:‬‬
‫‪ 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‬بیت را اختصاص ميدهد‪.‬‬
‫‪01001002‬‬ ‫‪‬‬ ‫قطعه ‪36‬‬
‫‪011112‬‬ ‫‪‬‬ ‫صفثه ‪45‬‬
‫كلمه ‪011 1110100002  6111‬‬
‫پس‪ :‬آدرس منطقي برابر است با‪:‬‬
‫‪0100100‬‬ ‫‪01111 011111010000‬‬
‫‪ 61‬بیت‬
‫‪ / 216‬معماري كامپيوتر‬

‫تستهای فصل ‪« 4‬انتقال ثباتها و ريزعملها»‬


‫‪1‬ـ به منظور ساخت يك گذرگاه مشترك‪ ،‬كـه تعـداد ‪ 32‬ثبـات )‪16 (Register‬‬
‫بهتي را به همديگر وصل بنمايد‪ ،‬حداقل سختافزار بزم چهست؟‬
‫(مهندسي كامپهوتر ـ سراسرس ‪)81‬‬
‫هر كدام با ‪ 1‬خط انتخاب‬ ‫‪MUX‬‬ ‫الف) ‪ 46‬عدد‬
‫ب) ‪ 36‬عدد ‪ MUX‬هر كدام با ‪ 1‬خط انتخاب‬
‫ج) ‪ 46‬عدد ‪ MUX‬هر كدام با ‪ 5‬خط انتخاب‬
‫د) ‪ 36‬عدد ‪ MUX‬هر كدام با ‪ 5‬خط انتخاب‬
‫‪2‬ـ كداميك از انتقال بهن رجهسترها غلط است؟‬
‫(آزاد ـ ‪)81‬‬
‫‪YT : R1  R2 , R2  R1‬‬ ‫ب)‬ ‫الف) ‪XT : AR  AR , AR  0‬‬
‫د) ‪NT: PC  PC 1‬‬ ‫ج) ‪ZT: PC  AR , AR  AR 1‬‬

‫‪3‬ـ در شيل زير كداميك از موارد انتقال رجهسترس )‪ (RTL‬قابل اجرا است؟‬
‫(مهندسي كامپهوتر ـ سراسرس ‪)83‬‬
‫‪X:R1  R2‬‬ ‫الف)‬
‫‪XT :R1  R2‬‬ ‫ب)‬
‫ج) ‪XT:R1  R2‬‬

‫د) ‪TX :R1  R1  R2‬‬


‫معماري كامپيوتر ‪211 /‬‬

‫‪4‬ـ كدام عبارت صحهح است؟‬


‫(مهندسي ‪ IT‬ـ سراسرس ‪)87‬‬
‫الف) برای پیادهسازی گذرگاه مشترك با وجود ‪ 8‬ثبات ‪ 46‬بیتي جهت پیادهسازی با‬
‫روش بافر سه حالته به ‪ 8‬بكافر ‪ 46‬بیتكي و يكک رمزگشكای ‪ 3×8‬نیكاز اسكت و جهكت‬
‫پیادهسازی با ‪ MUX‬به ‪ 8×4 MUX 46‬نیاز است‪.‬‬
‫ب) برای پیادهسازی گذرگاه مشترك با وجود ‪ 8‬ثبات ‪ 46‬بیتي جهت پیادهسازی بكا‬
‫روش بافر سه حالته به ‪ 8‬بكافر ‪ 46‬بیتكي و يكک رمزگشكای ‪ 1×46‬نیكاز اسكت و جهكت‬
‫پیادهسازی با ‪ MUX‬به ‪ 8×4 MUX 46‬نیاز است‪.‬‬
‫ج) برای پیادهسازی گذرگاه مشترك با وجود ‪ 8‬ثبات ‪ 46‬بیتي جهت پیادهسكازی بكا‬
‫روش بافر سه حالته به ‪ 46‬بكافر ‪ 8‬بیتكي و يكک رمزگشكای ‪ 1×46‬نیكاز اسكت و جهكت‬
‫به ‪ 8×4 MUX 46‬نیاز است‪.‬‬ ‫‪MUX‬‬ ‫پیادهسازی با‬
‫د) برای پیادهسازی گذرگاه مشترك با وجود ‪ 8‬ثبات ‪ 46‬بیتي جهكت پیادهسكازی بكا‬
‫روش بافر سه حالت به ‪ 46‬بكافر ‪ 8‬بیتكي و يكک رمزگشكای ‪ 3×8‬نیكاز اسكت و جهكت‬
‫به ‪ 46×4 MUX 46‬نیاز است‪.‬‬ ‫‪MUX‬‬ ‫پیادهسازی با‬
‫‪ / 218‬معماري كامپيوتر‬

‫حل تستهای فصل ‪4‬‬


‫‪4‬ك گزينهی ج صثیح است‪.‬‬
‫در حالت كلي اگر ‪ K‬رجیستر ‪ n‬بیتي داشته باشیم برای ساخت گذرگاه مشكترك بكه‬
‫هستند نیكاز داريكم‪ .‬در ضكمن تعكداد خطكوب انتخكاب‬ ‫‪k 1‬‬ ‫‪ Mux‬كه هر كدام‬ ‫‪n‬‬ ‫تعداد‬
‫خواهد بود‪.‬‬ ‫‪log2n ‬‬ ‫‪ MUX‬ها‬
‫‪‬‬ ‫‪‬‬
‫‪6‬ك گزينهی الف صثیح است‪.‬‬
‫امكان ندارد در يک زمان متمم يک رجیستر و مقدار صفر را در همان رجیستر‬
‫ذخیره كرد‪ .‬در اينگونه موارد تداخل )‪ (conflict‬پیش ميآيد‪ .‬مانند‬
‫‪XT : PC  AR , PC  PC 1‬‬
‫الزم به ذكر است امكان جابجايي مثتوای دو رجیستر در يک زمان وجود دارد‪.‬‬
‫‪3‬ك گزينهی ج صثیح است‪.‬‬
‫آماده انتقال است‪ .‬در‬ ‫‪R1  R2‬‬ ‫و اگر ‪ 4‬باشد‬ ‫‪R2‬‬ ‫‪ 1‬باشد‬ ‫‪x‬‬ ‫با توجه به مدار اگر‬
‫ضمن در صورتي انتقال انجام ميشود كه پايه ‪ (T) load‬فعال باشد‪.‬‬
‫‪1‬ك گزينهی ج صثیح است‪.‬‬
‫در حالت كلي اگر ‪ k‬رجیستر ‪ n‬بیتي داشته باشیم برای ساخت گكذرگاه مشكترك بكا‬
‫بافر سكه حالتكه‬ ‫‪m n‬‬ ‫و همچنین‬ ‫‪ log  n‬‬
‫‪n‬‬
‫‪2‬‬ ‫استفاده از روش بافر به يک رمزگشای‬
‫نیاز داريم‪.‬‬
‫معماري كامپيوتر ‪219 /‬‬

‫تستهای فصل ‪« 5‬سازمان و طراحي يک كامپيوتر‬


‫پايه»‬
‫بـه‬ ‫‪R1  R4  R 3 , R1  R1  R2‬‬ ‫‪1‬ـ در شيل داده شده جهت انجـام عملهـات‬
‫ترتهب چند پالس ساعت بزم است؟‬
‫(مهندسي كامپهوتر ـ سراسرس ‪)81‬‬
‫(مشابه مهندسي كامپهوتر ـ سراسرس ‪)79‬‬
‫الف) ‪ 6‬و ‪3‬‬
‫ب) ‪ 3‬و ‪3‬‬
‫ج) ‪ 1‬و ‪3‬‬
‫د) ‪ 3‬و ‪1‬‬

‫‪2‬ـ در طراحي قالب دستورالعملهاس يك كـامپهوتر‪ 4 ،‬بهـت بـراس رمـز عمـل‬


‫)‪ 2 ،(opcode‬بهت براس ثبات و دو فهلد ‪ 15‬بهتي براس آدرس وجود دارد‪ .‬بـا توجـه‬
‫به قالب دستورالعمل‪ ،‬مشخصات اين كامپهوتر چهست؟‬
‫(آزاد ـ ‪)82‬‬
‫الف) ‪ 656‬دستورالعمل مختلف ‪ 6‬ثبات قابل استفاده توسكط ككاربر فضكای آدرس‬
‫‪32 KB‬‬ ‫حافظه‬
‫ب) ‪ 46‬دستورالعمل مختلف ‪ 468‬ثبات قابل استفاده توسكط ككاربر فضكای آدرس‬
‫‪4KB‬‬ ‫حافظه‬
‫‪ / 261‬معماري كامپيوتر‬

‫ج) ‪ 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‬‬

‫‪T2 : DR  M  PC‬‬ ‫‪T2 : DR  M  PC‬‬


‫‪T3 : AC  DR , PC  PC  1‬‬ ‫د)‬ ‫‪T3 : AR  DR , PC  PC  1‬‬ ‫ج)‬
‫‪T4 : M  AR   AC, goto T0‬‬ ‫‪T4 : M  AR   AC, goto T0‬‬

‫‪4‬ـ كدام دستورالعمل غهركنترلي است؟‬


‫(آزاد ـ ‪)84‬‬
‫‪JUMP‬‬ ‫د)‬ ‫‪MORE‬‬ ‫ج)‬ ‫‪SKIP‬‬ ‫ب)‬ ‫‪CALL‬‬ ‫الف)‬

‫‪ ، I‬كد عمل ‪ 1111‬بـا شـرح‬ ‫‪ 5‬ـ براس قالب دستورالعمل آدرس كد عمل‬
‫‪AC 0 then‬‬
‫كدام نماد تداعي ميشود؟ (‪ EA‬آدرس موثر است)‬
‫‪ PC  EA ‬‬
‫(آزاد ـ ‪)83‬‬
‫‪BRANCH‬‬ ‫د)‬ ‫‪EXCHANGE‬‬ ‫ج)‬ ‫‪STORE‬‬ ‫ب)‬ ‫‪ADD‬‬ ‫الف)‬
‫معماري كامپيوتر ‪260 /‬‬
‫‪ / 262‬معماري كامپيوتر‬

‫حل تستهای فصل ‪5‬‬


‫‪4‬ك گزينهی ب صثیح است‪.‬‬
‫در هر دو عملیات تعداد يكساني پكالس سكاعت نیكاز اسكت‪ .‬در پكالس اول مقكدار‬
‫رجیستر اول آماده عملیات ميشود در پالس دوم مقكدار رجیسكتر دوم آمكاده عملیكات‬
‫ميشود و در پالس سوم عمل جمع انجام شده و نتیجه بازنويسي ميشود‪.‬‬
‫‪6‬ك گزينهی د صثیح است‪.‬‬
‫با توجه به توضیثات قابل دستورالعمل به صورت زير است‪.‬‬
‫‪1‬‬ ‫‪6‬‬ ‫‪45‬‬ ‫‪45‬‬
‫‪opcode‬‬ ‫ثبات‬ ‫آدرس ‪4‬‬ ‫آدرس ‪6‬‬

‫پس داريم‪:‬‬
‫تعداد ثبات برای كار‬ ‫‪ 22  4‬‬

‫تعداد دستورالعمل مختلف‬ ‫‪ 24  16‬‬

‫‪  215  32KB‬فضای آدرسدهي حافظه‬


‫كه هیچكدام از گزينههای ‪ 6 4‬و ‪ 3‬را شامل نميشود‪.‬‬
‫‪3‬ك گزينهی ج صثیح است‪.‬‬
‫مثتككوای انبككاره )‪ (AC‬را در حافظكه ذخیككره ميكنككد‪ .‬در ايككن سككؤال‬ ‫‪STA‬‬ ‫دسككتور‬
‫دستورات دو كلمهای هستند و كلمه دوم آدرس را مشخص ميكند‪ .‬بنابراين ابتدا فیلد‬
‫آدرس از حافظه خوانده شكده و پكس مثتكوای انبكاره در آن آدرس از حافظكه ذخیكره‬
‫ميشود‪.‬‬
‫‪1‬ك گزينهی ج صثیح است‪.‬‬
‫ميكنند‪.‬‬ ‫مسیر عادی اجرای برنامه را عو‬ ‫‪SKIP , JUMP , CALL‬‬ ‫هر سه دستور‬
‫‪ : CALL‬رفتن به آدرس شروع زير برنامه‬
‫معماري كامپيوتر ‪261 /‬‬

‫‪ : JUMP‬پرش به آدرس مورد نظر از حافظه‬


‫‪ : SKIP‬پرش از دستور بعدی در صورت پذيرفته شده شرب‬
‫‪ 5‬ك گزينهی د صثیح است‪.‬‬
‫با توجه به عبارت ‪ if  AC  0 then PC  EA‬دستور يک پرش شكرطي خواهكد‬
‫بود‪.‬‬
‫‪ / 264‬معماري كامپيوتر‬

‫تستهای فصل ‪« 6‬برنامهنويس كامپيوتر پايه»‬


‫‪1‬ـ مجموعه سه دستورالعمل زير در پردازنده ‪ 8186‬چه ميكند؟‬
‫‪XOR AX, BX‬‬
‫‪XOR BX , AX‬‬
‫‪XOR AX, BX‬‬
‫(آزاد ـ ‪)78‬‬

‫الف) مثتوای ثبات ‪ AX‬را با ‪ AX+BX‬تبديل ميكند‪.‬‬


‫ب) مثتوای ثبات ‪ AX‬را با ‪ BX‬عوش ميكند‪.‬‬
‫ج) مثتوای ثبات ‪ BX‬را با ‪ BX+AX‬تبديل ميكند‪.‬‬
‫د) در نهايت هیچ تغییری در مثتوای دو ثبات داده نميشود‪.‬‬

‫‪2‬ـ مجموعه دستورات زير چه عمل را انجام ميدهند؟‬


‫‪1- MOV bx,ax‬‬
‫‪2- SHR ax‬‬
‫‪3- SHR ax‬‬
‫‪4- SHR ax‬‬
‫‪5- AND bx,07‬‬
‫(علوم كامپهوتر ـ ‪)82‬‬
‫الف) مثتوای رجیستر ‪ ax‬را بر ‪ 8‬تقسیم كرده و خارج قسمت را در رجیسكتر ‪ bx‬و‬
‫باقيمانده را در رجیستر ‪ ax‬قرار ميدهد‪.‬‬
‫‪ax‬‬ ‫ب) مثتويات رجیستر ‪ ax‬را بر ‪ 8‬تقسیم ميكند و خارج قسكمت را در رجیسكتر‬
‫قرار داده و تمام بیتهای خارج قسمت به جز سه بیت اول را صفر ميكند‪.‬‬
‫ج) مثتويات رجیستر ‪ ax‬را بر ‪ 8‬تقسیم ميكند و فقط خارج قسمت را در رجیسكتر‬
‫‪ ax‬قرار ميدهد و باقیمانده را مثاسبه نميكند‪.‬‬
‫د) مثتويات رجیستر ‪ ax‬را بر ‪ 8‬تقسیم كرده و خكارج قسكمت را در رجیسكتر ‪ ax‬و‬
‫معماري كامپيوتر ‪261 /‬‬

‫باقیمانده را در رجیستر ‪ bx‬قرار ميدهد‪.‬‬


‫‪ / 266‬معماري كامپيوتر‬

‫حل تستهای فصل ‪6‬‬


‫‪4‬ك گزينهی ب صثیح است‪.‬‬
‫از طريو جبر بول ميتوان اثبات كرد كه نتیجه اجرای برنامكه تعكويض مثتكوای دو‬
‫رجیستر ‪ AX‬و ‪ BX‬است برای مثال داريم اگر ‪ AX‬و ‪ 1 BX‬بیتي باشند‪:‬‬

‫‪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 /‬‬

‫تستهای فصل ‪« 7‬كنترل ريز برنامهنويسي شده»‬


‫‪1‬ـ دلهل استفاده از ريـز برنامهسـازس )‪ (Microprgramming‬در طراحـي واحـد‬
‫كنترل ‪ CPU‬چهسهت؟‬
‫(مهندسي كامپهوتر ـ سراسرس ‪)71‬‬
‫الف) طراحي واحد كنترل سیستماتیک شود‪.‬‬
‫ب) بتوان به آساني خطاهای طراحي را برطرف نمكود و فهرسكت دسكتورهای زبكان‬
‫ماشین را تغییر داد‪.‬‬
‫ج) بتوان برنامه نوشته شده به زبان ماشین كامپیوتر ديگری را اجرا نمود‪.‬‬
‫د) هر سه مورد‬
‫‪2‬ـ نمودار بلوكي مدار و سهگنالهاس كنترل بزم براس انجـام عملهـات جمـع و‬
‫تفري شيل زير نشا داده شده است‪ .‬در صورتي كه در طراحي واحد كنترل آ از‬
‫)‪(Microinstruction‬‬ ‫روش ريز برنامهسازس استفاده كنهم‪ .‬تعداد ريز دستورالعملهاس‬
‫بزم براس انجام عمل ‪ A-B‬را به دست آوريد‪.‬‬
‫(مهندسي كامپهوتر ـ سراسرس ‪)73‬‬
‫الف) يک ريز دستورالعمل‬
‫ب) دو ريز دستورالعمل‬
‫ج) سه ريز دستورالعمل‬
‫د) چهار ريز دستورالعمل‬

‫‪3‬ـ كـداميك از عبـارات زيـر در مـورد سـاختارهاس ريـز برنامـهريزس شـده‬


‫)‪ (Microprogrammed‬و سهمكشي )‪ (Hard wired‬درست است؟‬
‫‪ / 268‬معماري كامپيوتر‬

‫(مهندسي كامپهوتر ـ سراسرس ‪)78‬‬


‫الف) پردازندههای از نوع ”‪ “Microprogrammed‬قابلیت انعطكاف بیشكتری از لثكاظ‬
‫تغییرات احتمكالي در آينكده دارنكد و معمكوالً دسكتورالعملهای پیچیكدهتری و سكرعت‬
‫كمتری نسبت به نوع ”‪ “Hard wired‬دارند‪.‬‬
‫ب) پردازندههای از نوع ”‪ “Microprogrammed‬نميتوانند از امكان ‪ pipeline‬اسكتفاده‬
‫كنند‪ .‬در صورتي كه نوع ”‪ “Hard wired‬اين امكان را دارد و علت سرعت بیشكتر آن نیكز‬
‫همین است‪.‬‬
‫ج) پردازنككدههای از نككوع ”‪ “Microprogrammed‬سككرعت بیشككتری از ديككد اجككرای‬
‫دستورالعمل نسبت به نوع ”‪ “Hard wired‬دارند‪.‬‬
‫‪ “Hard‬دارای سككرعت بیشككتری نسككبت بككه نككوع‬ ‫”‪wired‬‬ ‫د) پردازنككدههای از نككوع‬
‫”‪ “Microprogrammed‬هستند ككه علكت عمكده آن اسكتفاده از ”‪ “pipelining‬در سكاختار‬
‫اينگونه پردازندهها است‪.‬‬
‫‪4‬ـ در مورد ريز برنامهسازس ”‪ “Microprogramming‬كداميك از جملههاس زيـر‬
‫صحهح است؟‬
‫(آزاد ـ ‪)78‬‬
‫(مشابه مهندسي ‪ IT‬ـ سراسرس ‪)84‬‬
‫الف) ريز برنامهسازی برای سیستماتیک كردن طراحي واحد كنترل به كار مكيرود و‬
‫در طراحي پردازندههای با كارايي باالی امروزی كاربرد زياد دارد‪.‬‬
‫ب) ريز برنامهسازی برای مهیاسازی زمینه تغییكر و اضكافه ككردن دسكتورات زبكان ماشكین‬
‫مناسب است ولي به دلیل مشكل بودن در طراحي كامپیوترهای امروزی به كار نميرود‪.‬‬
‫ج) ريز برنامهسازی مزايای فراوانكي دارد ولكي بكه دلیكل سكرعت ككم در طراحكي‬
‫پردازندههای سريع امروزی به كار نميرود‪.‬‬
‫د) ريز برنامهسازی اين امكان را در اختیار ميگذارد كه بتوان برنامه نوشته شكده بكه‬
‫زبان ماشین كامپیوتر ديگری را اجرا نمود و بكه همكین دلیكل در طراحكي واحكد كنتكرل‬
‫پردازندههای امروزی به كار گرفته ميشود‪.‬‬
‫معماري كامپيوتر ‪269 /‬‬

‫حل تستهای فصل ‪7‬‬


‫‪4‬ك گزينهی د صثیح است‪.‬‬
‫كنتككرل دنبالككه عملیككات بككه وسككیله ريككز دسككتورالعملها مسككتقل از زبككان ماشككین‬
‫كامپیوترهای مختلف است و دارای قابلیت تغییر توسعه و رفع خطا است‪.‬‬
‫‪6‬ك گزينهی ج صثیح است‪.‬‬
‫ابتدا رجیستر صفر شده پس با ‪ A‬جمع شده و پس از ‪ B‬كم ميشود تكا ‪ A-B‬انجكام‬
‫شود‪.‬‬
‫‪1) R 0‬‬
‫‪2) R  R  A‬‬
‫‪3) R  R  B‬‬
‫‪3‬ك گزينهی الف صثیح است‪.‬‬
‫در حالت كلي در ارتباب با مقايسه پردازندههای ريز برنامهنويسي شكده و سكیمبندی‬
‫داريم‪:‬‬
‫واحد كنترل ريز‬
‫واحد كنترل سیمبندی‬ ‫معیارها‬
‫برنامهسازی شده‬
‫كم‬ ‫زياد‬ ‫سرعت اجرا‬
‫كم‬ ‫زياد‬ ‫پیچیدگي سختافزار‬
‫زياد‬ ‫كم‬ ‫سهولت تغییر و توسعه‬
‫كم‬ ‫زياد‬ ‫میزان استفاده كنوني‬
‫بله‬ ‫بله‬ ‫امكان استفاده ‪ pipelinc‬در آنها‬
‫‪1‬ك گزينهی ج صثیح است‪.‬‬
‫با توجه به توضیثات سؤال قبل‬
‫‪ / 211‬معماري كامپيوتر‬

‫تستهای فصل ‪« 8‬واحد مركزی پردازش»‬


‫‪1‬ـ براس محاسبه تابع ‪  8  2  5  / 1 3 2  4 ‬با استفاده از ‪ ،stack‬چـه تعـداد‬
‫و حداقل تعداد كلمه بزم در ‪ stack‬براس انجام اين عمل چقـدر‬ ‫‪push‬‬ ‫دستورالعمل‬
‫است؟‬
‫(مهندسي كامپهوتر ـ سراسرس ‪)74‬‬
‫ب) ‪ 6‬مرتبه ‪ push‬و حداقل ‪ 3‬كلمه‬ ‫الف) ‪ 4‬مرتبه ‪ push‬و حداقل ‪ 5‬كلمه‬
‫د) ‪ 4‬مرتبه ‪ push‬و حداقل ‪ 1‬كلمه‬ ‫ج) ‪ 8‬مرتبه ‪ push‬و حداقل ‪ 1‬كلمه‬
‫‪2‬ـ با فرض مقادير خانههاس حافظه زيـر و داشـتن يـك پردازنـده داراس يـك‬
‫و مهـدا تـك آدرس در دسـتورالعمل‪ ،‬انباشـتگر پـس از‬ ‫)‪(Acumulator‬‬ ‫انباشتگر‬
‫اجراس هر يك از دستورات زير چه مقدارس خواهد داشت؟‬
‫(مهندسي كامپهوتر ـ سراسرس ‪)75‬‬
‫‪a: load immediate‬‬ ‫‪61‬‬ ‫ك كلمه ‪ 61‬حافظه مقدار ‪ 11‬دارد‪.‬‬
‫‪b: load indirect‬‬ ‫‪61‬‬ ‫ك كلمه ‪ 31‬حافظه مقدار ‪ 51‬دارد‪.‬‬
‫‪c: load direct‬‬ ‫‪31‬‬ ‫ك كلمه ‪ 11‬حافظه مقدار ‪ 61‬دارد‪.‬‬
‫‪d: load indirect‬‬ ‫‪31‬‬ ‫ك كلمه ‪ 51‬حافظه مقدار ‪ 41‬دارد‪.‬‬
‫ب) ‪ 11‬و ‪ 61‬و ‪ 51‬و ‪41‬‬ ‫الف) ‪ 61‬و ‪ 61‬و ‪ 31‬و ‪41‬‬
‫د) ‪ 61‬و ‪ 61‬و ‪ 51‬و ‪41‬‬ ‫ج) ‪ 61‬و ‪ 11‬و ‪ 31‬و ‪51‬‬
‫‪ (stack‬مشخص كنهد دستورات‬ ‫)‪machine‬‬ ‫‪3‬ـ با فرض داشتن يك ماشهن پشتهاس‬
‫زير كدام عبارت را اجرا ميكند؟‬
‫(مهندسي كامپهوتر ـ سراسرس ‪)76‬‬
‫الف) ‪X   A*B/ D  C   C  A  B*F/ E ‬‬
‫ب) ‪X   A*B  C / D   C / E  A  B*F‬‬
‫ج) ‪X   A / D*B  C   A  B*F*C / E ‬‬
‫معماري كامپيوتر ‪210 /‬‬

‫د) ‪X   A*B/ C  D  A  B*F*C / E ‬‬


‫‪Push A‬‬
‫‪Push B‬‬
‫‪Mul‬‬
‫‪Push C‬‬
‫‪SUB‬‬
‫‪Push D‬‬
‫‪DIV‬‬
‫‪Push C‬‬
‫‪Push E‬‬
‫‪DIV‬‬
‫‪Push A‬‬
‫‪ADD‬‬
‫‪Push B‬‬
‫‪Push F‬‬
‫‪MUL‬‬
‫‪SUB‬‬
‫‪ADD‬‬
‫‪Popx‬‬
‫را پهادهسـازس‬ ‫)‪(stack‬‬ ‫‪4‬ـ كدام مجموعه از عملهات ذيل ميتوانـد يـك پشـته‬
‫نمايد؟ عملهات ‪ push‬و ‪ pop‬براس يك ثبات به نام ‪ A‬صورت ميپذيرد؟‬
‫(مهندسي كامپهوتر ـ سراسرس ‪)79‬‬
‫‪Push A‬‬ ‫‪Pop A‬‬

‫‪SP  SP  1‬‬ ‫‪A  Mem SP ‬‬


‫(‪)4‬‬
‫‪Mem SP   A‬‬ ‫‪SP  SP 1‬‬
‫‪SP  SP  1‬‬ ‫‪A  Mem SP ‬‬
‫(‪)6‬‬
‫‪Mem SP   A‬‬ ‫‪SP  SP 1‬‬
‫‪Mem SP   A‬‬ ‫‪SP  SP  1‬‬
‫(‪)3‬‬
‫‪SP  SP 1‬‬ ‫‪A  Mem SP‬‬

‫د) هر سه‬ ‫ج) ‪ 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‬‬


‫‪4‬ك گزينهی د صثیح است‪.‬‬
‫با توجه به توضیثات حل مسهله (‪5‬ك‪ )8‬فصل واحد مركزی پردازش تعداد ‪ push‬در‬
‫پشته برابر تعداد عملوندهای عبارت است‪ .‬برای تشكخیص حكداقل ظرفیكت پشكته فكرم‬
‫‪ RPN‬عبارت را تشكیل داده و مثاسبه را انجام ميدهیم‪.‬‬
‫فرم ‪: RPN‬‬
‫‪825  132 4  /‬‬
‫حداقل سايز پشته = ‪1‬‬ ‫وضعیت پشته‪:‬‬

‫‪6‬ك گزينهی د صثیح است‪.‬‬


‫‪a : load immediate 20  AC  20‬‬
‫‪b : load indirect 20  AC  M M20  60‬‬

‫‪c :load direct 30 AC  M  30  50‬‬


‫‪d:load indirect 30  AC  M M30  70‬‬
‫‪3‬ك گزينهی ب صثیح است‪.‬‬
‫ابتدا از روی دنباله برنامه فرم ‪ PRN‬عبارت را پیدا ميكنیم‪.‬‬
‫‪  AB*C  D/ CE / A  BF* ‬عبارت ‪RPN‬‬

‫حال طبو توضیثات حل مسهله ‪ 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 /‬‬

‫تستهای فصل ‪« 9‬پردازش خط لولهای و‬


‫برداری»‬
‫‪1‬ـ يك واحد محاسباتي لولهاس )‪ (pipeline‬داراس پنج قسـمت )‪ (stage‬بـا زمـا‬
‫اجراس ‪ 28 ،23 ،39 ،36‬و ‪ 64‬نانوثانهه است‪ .‬اگر از ثباتهايي با تـأخهر ‪ 1‬نانوثانهـه‬
‫در بهن قسمتهاس مخلتف لوله استفاده شـده باشـد‪ ،‬حـداكثر تسـريع ايـن واحـد‬
‫محاسباتي نسبت به تأخهر غهر خط لولهاس چقدر است؟‬
‫(مهندسي كامپهوتر ـ سراسرس ‪)79‬‬
‫(مشابه مهندسي كامپهوتر ـ سراسرس ‪)85‬‬
‫‪4/56 )1‬‬ ‫ج) ‪5‬‬ ‫ب) ‪3/5‬‬ ‫الف) ‪6/56‬‬
‫‪2‬ـ يك برنامه موازس به ‪ 111‬ثانهه براس اجرا روس يك كامپهوتر با يك پردازنـده‬
‫دارد‪ .‬اگر ‪ %41‬محاسبات برنامه ذاتاً سريال باشد‪ ،‬بهترين زمـا بـراس اجـراس ايـن‬
‫برنامه روس يك سهستم با ‪ 2‬و ‪ 4‬بردازنده چهست؟‬
‫(علوم كامپهوتر ـ ‪)81‬‬
‫الف) ‪ 6‬پردازنده برابر ‪ 41‬ثانیه ‪ 1‬پردازنده برابر ‪ 55‬ثانیه‬
‫ب) ‪ 6‬پردازنده برابر ‪ 61‬ثانیه ‪ 1‬پردازنده برابر ‪ 41‬ثانیه‬
‫ج) ‪ 6‬پردازنده برابر ‪ 31‬ثانیه ‪ 1‬پردازنده برابر ‪ 45‬ثانیه‬
‫د) ‪ 6‬پردازنده برابر ‪ 51‬ثانیه ‪ 1‬پردازنده برابر ‪ 65‬ثانیه‬
‫‪3‬ـ اگر ‪ k‬تعداد مراحل يك سهستم خط لولـهاس )‪ (pipelined‬باشـد‪ .‬آنگـاه ايـن‬
‫سهستم خط لولهاس نسبت به يك سهستم بدو خط لوله حداكثر چند برابـر سـريعتر‬
‫ميباشد؟‬
‫ـ آزاد ‪)84‬‬ ‫‪IT‬‬ ‫(مهندسي‬
‫‪2k  1‬‬ ‫د)‬ ‫‪2k‬‬ ‫ج)‬ ‫‪k‬‬ ‫ب)‬ ‫‪2k  1‬‬ ‫الف)‬
‫‪ / 216‬معماري كامپيوتر‬

‫‪4‬ـ مشيالت خط لوله )‪ (pipeline‬دستورالعمل كدام است؟‬


‫(مهندسي كامپهوتر ـ آزاد ‪)84‬‬
‫الف) مشكل همزماني دسترسي به حافظه‬
‫ب) وابستگي دادهها‬
‫ج) مشكالت انشعاب‬
‫د) هر سه گزينه درست است‪.‬‬
‫معماري كامپيوتر ‪211 /‬‬

‫حل تستهای فصل ‪9‬‬


‫‪4‬ك گزينهی الف صثیح است‪.‬‬
‫زمان اجرا بدون خط لوله‪ :‬در ايكن مثاسكبه زمانهكای داده شكده را بكا هكم جمكع‬
‫ميكنیم و از تأخیر لچها صرفنظر ميكنیم زيرا نیاز نیستند‪.‬‬
‫‪  64  28  23  39  36  n 190 n‬زمان اجرای ‪ n‬كار بدون خط لوله‬
‫زمان اجرا با راهاندازی خط لوله = ابتدا كالك را تعیین ميكنیم‪:‬‬
‫‪T  64  1  65 ns‬‬
‫‪   k   n  1  T   5   n  1  65‬زمان اجرای ‪ n‬كار با خط لوله‬
‫تسريع برابر است با‪:‬‬
‫‪190n‬‬ ‫‪190‬‬
‫‪Smax ‬‬ ‫‪, n   SMax ‬‬ ‫‪ 2/ 92‬‬
‫‪5  65   n  1 65‬‬ ‫‪65‬‬
‫‪6‬ك گزينهی الف صثیح است‪.‬‬
‫اگر ‪ t‬زمان اجرا روی يک پردازنده باشد زمان اجرا با ‪ P‬پردازنده برابر است با‪:‬‬
‫‪ 1 f ‬‬
‫‪tP   f ‬‬ ‫‪t‬‬
‫‪‬‬ ‫‪p ‬‬
‫كه ‪ f‬درصد از برنامه است كه ذاتاً سريال ميباشد‪.‬‬
‫‪40‬‬
‫‪f‬‬
‫‪100‬‬
‫‪‬‬ ‫‪60 ‬‬
‫‪ 40 100 ‬‬
‫‪ tp  ‬‬ ‫‪‬‬ ‫‪100  70‬‬
‫‪‬‬
‫‪100 2 ‬‬
‫‪‬‬
‫‪‬‬ ‫‪‬‬
‫‪‬‬ ‫‪60 ‬‬
‫‪ 40 100 ‬‬
‫‪tp  ‬‬ ‫‪‬‬ ‫‪100  55‬‬
‫‪ 100 4 ‬‬
‫‪‬‬ ‫‪‬‬
‫‪p4‬‬
‫‪3‬ك گزينهی ب صثیح است‪.‬‬
‫‪ / 218‬معماري كامپيوتر‬

‫حداكثر تسريع در استفاده از خط لوله زماني بدسكت ميآيكد ككه اوالً زمكان اجكرای‬
‫مرحلهها با هم برابر باشد و ثانیاً تعداد كارها )‪ (n‬را به سمت بينهايت سوق دهیم‪.‬‬
‫‪nkT‬‬
‫‪lim‬‬ ‫‪k‬‬
‫‪n ‬‬ ‫‪ n 1 T‬‬
‫‪k‬‬ ‫‪‬‬ ‫‪‬‬
‫‪1‬ك گزينهی د صثیح است‪.‬‬
‫انواع مشكالت موجود در خط لوله عبارتاند از‪:‬‬
‫‪4‬ك همزماني دسترسي به منابع مشترك مثل حافظه يا ‪ ALU‬يا‪...‬‬
‫‪6‬ك وابستگي دادهای به طوری كه دستور كنوني به نتیجه اجكرای دسكتور قبلكي نیكاز‬
‫دارد‪.‬‬
‫‪3‬ك مشكل مربوب به دستورات انشعاب‬
‫معماري كامپيوتر ‪219 /‬‬

‫تستهای فصل ‪« 01‬معماری كامپيوتر و‬


‫الگوريتمهای حسابي»‬
‫‪1‬ـ نتهجه حاصل از انجام محاسبات در ‪ ALU‬ممين است باعث ‪ set‬شد برخي‬
‫فلهپ فالپها در رجهستر وضعهت شود‪ .‬اگر براس نمايش اطالعات از سهستم ميمل‬
‫‪ 2‬استفاده شود‪ ،‬كداميك از عبارات زير به ترتهب وجود ‪ overflow‬در جمع و نتهجه‬
‫صفر را تشخهص ميدهد؟‬
‫(مهندسي كامپهوتر ـ سراسرس ‪)71‬‬
‫الف) رقم نقلي نتیجه ‪ AND‬منطقي بیتهای نتیجه‬
‫‪NOR‬‬ ‫ب) ‪ OR‬انثصاری ارقام نقلكي تولیكد شكده از موضكع ‪ sign – bit‬و ماقبكل آن‬
‫بیتهای نتیجه‬
‫‪AND‬‬ ‫– ‪ sign‬و ماقبكل آن‬ ‫‪bit‬‬ ‫ج) ‪ OR‬انثصاری ارقام نقلكي تولیكد شكده از موضكع‬
‫بیتهای نتیجه‬
‫د) رقم نقلي نتیجه ‪ NAND‬منطقي بیتهای نتیجه‬
‫‪2‬ـ ميخواههم دو عدد عالمتدار را (با قرار داد ميمل ‪2‬هـا) در هـم ضـرب‬
‫كنهم‪.‬‬
‫‪Multiplicand =A‬‬

‫‪Multiplier =B‬‬

‫(مهندسي كامپهوتر ـ سراسرس ‪)71‬‬


‫الف) عالمكت ‪ A‬و ‪ B‬را مثبكت مكيكنیم و سكپس ضكرب مكيكنیم و پكس از آن در‬
‫صورت لزوم عالمت را اصالح ميكنیم‪.‬‬
‫ب) اگر ‪ A‬منفي بكود آن را مثبكت مكيكنیم ضكرب را بكا گسكترش عالمكت انجكام‬
‫ميدهیم حاصلضرب را در صورت لزوم تغییر عالمت ميدهیم‪.‬‬
‫‪ / 281‬معماري كامپيوتر‬

‫ج) اگر ‪ B‬منفي بود آن را مثبت كرده ضرب را با گسترش عالمت انجام مكيدهیم‬
‫حاصلضرب را در صورت لزوم تغییر عالمت ميدهیم‪.‬‬
‫د) ضرب را با گسترش عالمت انجام ميدهیم‪.‬‬
‫‪3‬ـ الگوريتم ‪ Booth‬داراس كداميك از ويژگيهاس زير است؟‬
‫(مهندسي كامپهوتر ـ سراسرس ‪)73‬‬
‫الف) سرعت مثاسبه با تعداد ‪4‬ها متناسب است‪.‬‬
‫ب) تعداد عملیات جمع برابر نصف تعداد ‪4‬هكا و عملیكات جابجكايي )‪ (shift‬برابكر‬
‫تعداد بیتها است‪.‬‬
‫ج) تعداد زوج بیتهای صفر و يک يا يكک و صكفر تعكداد جمعهكا و تعكداد ككل‬
‫بیتها تعداد عملیات جابجايي را تعیین ميكند‪.‬‬
‫د) سرعت مثاسبه با تعداد بیتها متناسب است‪.‬‬
‫‪4‬ـ در عمل تقسهم در چه صورت ‪ divide – overflow‬ر ميدهد؟‬
‫(علوم كامپهوتر ـ ‪)81‬‬
‫الف) فقط زماني كه تقسیم به صفر انجام شود‪.‬‬
‫ب) عدد موجود در نیمه باالی خارج قسمت از مقسوم علیه بزرگتر باشد‪.‬‬
‫ج) باقیمانده يک عدد منفي باشد‪.‬‬
‫د) هیچكدام‬
‫‪ 5‬ـ در انجام كداميك از چهار عمل اصلي روس مانتهس اعداد با ممهـز شـناور‪،‬‬
‫سرريز ر نميدهد؟‬
‫(آزاد ـ ‪)79‬‬
‫د) تقسیم‬ ‫ج) تفريو‬ ‫ب) ضرب‬ ‫الف) جمع‬
‫‪ 6‬ـ در يك سهستم نمايش اعداد حقهقي به شيل ممهز شناور بـه صـورت زيـر‬
‫است‪:‬‬
‫‪34 31‬‬ ‫‪4 6‬‬ ‫‪1‬‬
‫معماري كامپيوتر ‪280 /‬‬

‫‪S‬‬ ‫مانتیس‬ ‫توان‬

‫در يك سهستم ديگر به صورت زير نمايش داده ميشود‪.‬‬


‫‪34‬‬ ‫‪31‬‬ ‫‪8‬‬ ‫‪4‬‬ ‫‪1‬‬
‫‪S‬‬ ‫مانتیس‬ ‫توان‬

‫كدام يك از جمالت زير درباره محدوده اعداد حقهقي و دقت مـدل دوم نسـبت‬
‫به مدل صحهح ميباشد؟‬
‫(مهندسي ‪ IT‬ـ سراسرس ‪)83‬‬
‫الف) هر دو مثدوده و دقت كاهش مييابد‪.‬‬
‫ب) هر دو مثدوده و دقت افزايش مييابد‪.‬‬
‫ج) مثدوده افزايش و دقت كاهش مييابد‪.‬‬
‫د) مثدوده كاهش و دقت افزايش مييابد‪.‬‬
‫‪ 7‬ـ در اعداد ممهز شناور كوچيترين نما را به عدد صفر اختصاص ميدههم براس‬
‫اينيه‪:‬‬
‫(سراسرس ‪ 83‬ـ مهندسي ‪)IT‬‬
‫الف) به نمايش نرمال شده دست پیدا كنیم‪.‬‬
‫ب) خطای مثاسبات حداقل شود‪.‬‬
‫ج) با مقدار افزودن نما حاصل صفر تولید شود‪.‬‬
‫د) تشخیص صفر توسط مدارات داخل پردازنده سادهتر صورت گیرد‪.‬‬
‫‪ / 282‬معماري كامپيوتر‬

‫حل تستهای فصل ‪01‬‬


‫‪4‬ك گزينهی ب صثیح است‪.‬‬
‫تشخیص ‪ overflow‬از طريو ‪ OR‬انثصاری دو رقم نقلي آخر امكانپذير است‪.‬‬
‫همچنین برای تشخیص صفر بودن بايد گیتي بكار ببريم كه تنها در صورتي ‪ 4‬شكود‬
‫كه همه ورودیها ‪ 1‬باشد‪.‬‬
‫‪6‬ك گزينهی ج صثیح است‪.‬‬
‫به دلیل اينكه صفر و ‪ 4‬بودن بیتهای ‪ Multiplier‬در الگوريتم ضرب جمع شكدن و‬
‫يا عدم جمع شدن حاصلضرب جزيي را باعپ ميشكوند‪ .‬سكعي مكا بكر ايكن اسكت ككه‬
‫مثبت باشد‪ .‬پس اگر مثبت بود ضرب را انجام ميدهیم و اگر منفي بود دو‬ ‫‪Multiplier‬‬

‫راه داريم‪:‬‬
‫و ‪ Multiplicand‬را تغییر عالمكت مكيدهیم و ضكرب را انجكام‬ ‫‪Multiplier‬‬ ‫يا هر دو‬
‫ميدهیم‪.‬‬
‫را مثبت ككرده و بعكد از انجكام عمكل ضكرب حاصلضكرب را تغییكر‬ ‫‪Multiplier‬‬ ‫يا‬
‫عالمت ميدهیم‪.‬‬
‫‪3‬ك گزينهی ج صثیح است‪.‬‬
‫با توجه به الگوريتم و سرعت عملیات ضرب و تعكداد عملیكات جمكع وابسكته بكه‬
‫تعداد زوج بیتهای ‪ 14 11‬و ‪ 4‬در عدد است‪.‬‬
‫‪1‬ك گزينهی د صثیح است‪.‬‬
‫مواردی كه باعپ ميشوند در عمل تقسیم سرريز رخ دهد عبارتاند از‪:‬‬
‫ك زماني كه مقسوم علیه ‪ 1‬باشد‪.‬‬
‫ك زماني كه نیمه باالی مقسوم از مقسوم علیه بزرگتر يا مساوی باشد‪.‬‬
‫لفظ «فقط» در گزينهی الف باعپ غلط بودن اين گزينه است‪.‬‬
‫‪ 5‬ك گزينهی ب صثیح است‪.‬‬
‫معماري كامپيوتر ‪281 /‬‬

‫مطابو با تو ضیثات حل مسهلهی ‪66‬ك‪ 41‬فصل «الگوريتمهكای حسكابي و معمكاری‬


‫كامپیوتر» سرريز مانتیس بعد از عمل ضرب ممكن نیست‪.‬‬
‫‪ 6‬ك گزينهی ج صثیح است‪.‬‬
‫در اعداد ممیز شناور كه به فكرم ‪  1s 0/100 2e‬هسكتند بیتهكای بیشكتر بكرای‬
‫مانتیس دقت عدد را افزايش ميدهد زيرا باعپ ميشكود تعكداد بیشكتری رقكم اعشكاری‬
‫داشته باشیم‪ .‬از طرفي بیتهای بیشتر برای نما باز ‪ 1‬نمكايش را زيكاد ميكنكد چكون در‬
‫قسمت توان عدد واقع شده است‪.‬‬
‫‪4‬ك گزينهی ب صثیح است‪.‬‬
‫دلیل استفاده از نمای بايكاس شكده ككاهش خطكای مثاسكبات و همچنكین مقايسكه‬
‫راحتتر بین اعداد ممیز شناور است‪.‬‬
‫‪ / 284‬معماري كامپيوتر‬

‫تستهای فصل ‪« 00‬سازمان ورودی ‪ -‬خروجي»‬


‫‪1‬ـ عمل )‪ Direct Memory Access (DMA‬در مهيروپروسسورها بـه چـه منظـور‬
‫است؟‬
‫(مهندسي كامپهوتر ـ سراسرس ‪)71‬‬
‫الف) انتقال اطالعات بین دستگاههای جانبي‬
‫ب) انتقال اطالعات بین دستگاه جانبي و حافظه از طريو میكروپروسسور‬
‫ج) انتقال مستقیم اطالعات از دستگاه جانبي به حافظه‬
‫د) هیچكدام‬
‫‪2‬ـ براس انتقال دادههاس هشت بهتي روس دو سهم از يك بهت شروع )‪ ،(start‬يك‬
‫‪ (Even‬استفاده ميشـود‪ .‬سـرعت‬ ‫)‪Parity‬‬ ‫بهت ختم )‪ (STOP‬و يك بهت تواز زوج‬
‫‪ (Baude‬برابر با ‪ 1211‬بهت بر ثانهه ميباشد‪ .‬براس انتقال پهاپي ‪ 1k‬بايـت‬ ‫)‪rate‬‬ ‫انتقال‬
‫اطالعات‪ ،‬چند ثانهه وقت مورد نهاز است؟‬
‫(مهندسي كامپهوتر ـ سراسرس ‪)81‬‬
‫د) ‪6/83‬‬ ‫ج) ‪4/68‬‬ ‫ب) ‪8/53‬‬ ‫الف) ‪5/35‬‬
‫‪3‬ـ سهيل ربايي )‪ (cycle stealing‬مربوط به كدام مفهوم زير است؟‬
‫(آزاد ‪)77‬‬
‫‪Twait‬‬ ‫د)‬ ‫‪DMA‬‬ ‫ج)‬ ‫‪HALT‬‬ ‫ب)‬ ‫‪NMI‬‬ ‫الف)‬
‫‪4‬ـ داد ح تقدم به وقفه ايجاد شده توسط دستگاههاس جانبي به كـدام طريـ‬
‫انجام ميگهرد؟‬
‫(آزاد ‪)84‬‬
‫ب) وقفه تقدم موازی‬ ‫الف) وقفه زنجیری‬
‫د) هیچكدام‬ ‫ج) هر دو گزينهی ‪ 4‬و ‪6‬‬
‫‪ 5‬ـ كدام گزينه در مورد روشهاس ‪ I/O‬صحهح نهست؟‬
‫معماري كامپيوتر ‪281 /‬‬

‫(مهندسي ‪ IT‬ـ سراسرس ‪)85‬‬


‫الف) روش ‪ programmed I/O‬پردازنده اصلي را درگیر عملیات ‪ I/O‬ميكند‪.‬‬
‫ب) روش ‪ Interrupted I/O‬پردازنده اصلي را درگیر عملیات ‪ I/O‬ميكند‪.‬‬
‫ج) روش ‪ DMA I/O‬پردازنده اصلي را درگیر عملیات ‪ I/O‬ميكند‪( .‬در حین ‪)I/O‬‬
‫د) روش ‪ I/O‬با استفاده از هم پردازنده خاص ‪ I/O‬امكان نوشتن برنامكههای مخكتلط‬
‫از دستورات پردازنده اصلي و هم پردازنده ‪ I/O‬را ميدهد‪.‬‬
‫‪ / 286‬معماري كامپيوتر‬

‫حل تستهای فصل ‪00‬‬


‫‪4‬ك گزينهی ج صثیح است‪.‬‬
‫از درگیر كردن ‪ CPU‬در جزئیات عمل انتقال اطالعكات بكین دسكتگاه‬ ‫‪DMA‬‬ ‫روش‬
‫جانبي و حافظه جلوگیری ميكند‪.‬‬
‫‪6‬ك گزينهی الف صثیح است‪.‬‬
‫با توجه به بیتهای شروع ختم و توازن هر بايت اطالعات به صورت يک بسكتهی‬
‫‪ 44‬بیتي منتقل ميشود‪ .‬پس‪:‬‬
‫‪11264‬‬
‫‪1024 11 11264 bit ‬‬ ‫‪0/ 386‬‬
‫‪1200‬‬
‫‪3‬ك گزينهی ج صثیح است‪.‬‬
‫كنترلكننده ‪ DMA‬به چند روش عمل انتقال اطالعكات بكین حافظكه و ‪ I/O‬را انجكام‬
‫ميدهد كه يكي از روشها سیكل ربكايي اسكت‪ .‬در ايكن روش بعكد از تبكادل ‪ 4‬كلمكه‬
‫اطالعات گذرگاه دوباره در اختیار ‪ CPU‬قرار ميگیرد‪.‬‬
‫‪1‬ك گزينهی ج صثیح است‪.‬‬
‫دادن حو تقدم به وقفه ايجاد شده به سه روش زير قابل انجام است‪.‬‬
‫)‪(polling‬‬ ‫ك سركشي‬
‫)‪(Daisy – chain‬‬ ‫ك زنجیرهای‬
‫ك موازی‬
‫‪ 5‬ك گزينهی ج صثیح است‪.‬‬
‫‪CPU‬‬ ‫صككرفاً از بررسككيهای پشككت سككرهم توسككط‬ ‫‪Interrupted I/O‬‬ ‫در روش‬
‫جلوگیری به عمل ميآيد اما ‪ CPU‬اجرای درخواست را بر عهده خواهد داشت‪.‬‬
‫معماري كامپيوتر ‪281 /‬‬

‫تستهای فصل ‪« 01‬سازمان حافظه»‬


‫‪1‬ـ يك پردازنده داراس ‪ n‬خط آدرس ‪ J‬خط داده است‪ .‬فقط يك تراشهس حافظه‬
‫‪ ،(n‬هـر‬ ‫)‪> m‬‬ ‫با ‪ m‬خط آدرس و ‪ J‬خط داده را مستقهماً به پردازنده وصل كـردهايم‬
‫كلمه ‪ J‬بهتي از اين تراشه با چند آدرس قابل دسترسي است؟‬
‫(مهندسي كامپهوتر ـ سراسرس ‪)81‬‬
‫ب) ‪2n m‬‬ ‫الف) ‪2‬‬

‫د) قابل مثاسبه نیست‪.‬‬ ‫ج) ‪2n  m 1‬‬

‫حافظـه‬ ‫‪M1‬‬ ‫‪2‬ـ سهستمي را كه داراس دو سطح حافظه اسـت‪ ،‬در نظـر بگهريـد‪.‬‬
‫حافظه اصـلي‪ .‬زمـا دسترسـي بـه ‪ cache‬برابـر‬ ‫‪M2‬‬ ‫پنها )‪ (cache‬سهستم است و‬
‫بايد چقدر باشد‬ ‫‪M2‬‬ ‫و ضريب ‪ hit‬برابر ‪ 1/95‬است‪ .‬زما دسترسي به حافظه‬ ‫‪20 ns‬‬

‫تا زما مؤثر دسترسي به اطالعات به صورت كلي ‪ 40 ns‬باشد؟‬


‫(علوم كامپهوتر ـ ‪)79‬‬
‫‪21ns‬‬ ‫د)‬ ‫‪210ns‬‬ ‫ج)‬ ‫‪42 ns‬‬ ‫ب)‬ ‫الف) ‪400 ns‬‬

‫است و باس دادهاس آ ‪ 32‬بهتـي ميباشـد‪.‬‬ ‫‪5 mhz‬‬ ‫‪3‬ـ در يك پردازنده سرعت‬
‫رساندهاند ولـي بـاس دادهاس‬ ‫‪20 mhz‬‬ ‫در طراحي جديد اين پردازنده‪ ،‬سرعت را به‬
‫آ را ‪ 8‬بهتي كردهاند‪ .‬ماكزيمم ‪ speed – up‬به دست آمده در طراحي جديـد نسـبت‬
‫به قبل به چه صورت است؟‬
‫(علوم كامپهوتر ـ ‪)81‬‬
‫ب) ‪ speed – up‬ثابت مانده است‪.‬‬ ‫الف) ‪ 6‬برابر شده است‪.‬‬
‫د) ‪ 41‬برابر شده است‪.‬‬ ‫ج) ‪ 1‬برابر شده است‪.‬‬
‫‪4‬ـ كداميك از موارد زير از مزاياس استراتژس ‪ write through‬است؟‬
‫(مهندسي ‪ IT‬ـ آزاد ‪)84‬‬
‫‪ / 288‬معماري كامپيوتر‬

‫الف) اطالعات را ميتوان با سرعت ‪ cache‬نوشت‪.‬‬


‫ب) از پهنای باند انتقالي حداكثر استفاده به عمل ميآيد‪.‬‬
‫ج) برخورد با حالت ‪ Miss‬در حافظه ‪ cache‬راحتتر و سادهتر ميباشد‪.‬‬
‫د) موارد ‪ 6‬و ‪3‬‬
‫‪ 5‬ـ در صورتي كه دسترسي به حافظه نها )‪ (cache‬از طريـ نگاشـت مسـتقهم‬
‫‪ (Direct‬به روش مقابل باشد‪ ،‬مشخص كنهـد بـه ترتهـب حجـم حافظـه‬ ‫)‪Mapping‬‬

‫اصلي‪ ،‬حافظه نها و محل استقرار آدرس ‪ 000B3 A4FH‬چهست؟‬


‫(مهندسي كامپهوتر ـ سراسرس ‪)84‬‬
‫‪ 64‬بیت‬ ‫‪ 4‬بیت‬ ‫‪ 1‬بیت‬
‫‪tag‬‬ ‫‪Block‬‬ ‫‪offset‬‬

‫‪Block  36 10 , 2GB , 4KB‬‬ ‫ب)‬ ‫‪Block 164 10 , 4GB , 2KB‬‬ ‫الف)‬
‫‪Block  36 10 , 4GB ,2KB‬‬ ‫د)‬ ‫‪Block 16010 , 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 /‬‬

‫حل تستهای فصل ‪01‬‬


‫‪4‬ك گزينهی ب صثیح است‪.‬‬
‫‪2n‬‬
‫‪ 2n m‬‬ ‫‪2n m‬‬ ‫پس هر خانه با آدرس قابل دسترسي است‪.‬‬
‫‪2m‬‬
‫‪6‬ك گزينهی الف صثیح است‪.‬‬
‫‪ t  h.t c  1 h   t c  t m ‬میانگین (مؤثر)‬
‫در رابطه باال داريم ‪:‬‬
‫‪tc‬‬ ‫زمان دسترسي به حافظه نهان =‬
‫‪tm‬‬ ‫زمان دسترسي به حافظه =‬
‫‪95‬‬ ‫‪5‬‬ ‫‪5t‬‬
‫‪ 40 ‬‬ ‫‪ 20 ‬‬ ‫‪20  t m   4019  1 m‬‬
‫‪100‬‬ ‫‪100‬‬ ‫‪100‬‬
‫‪3‬ك گزينهی ب صثیح است‪.‬‬
‫گكذرگاه (بكاس) و همچنكین فرككانس‬ ‫طبو تعريف پهنای بانكد حافظكه بكا عكر‬
‫پردازنده رابطه مستقیم دارد‪.‬‬
‫‪BW2 8 20‬‬
‫‪  1‬‬
‫‪BW1 32 5‬‬
‫پس تغییر در پهنای باند حافظه و در نتیجه آن سرعت انتقال پديد نميآيد‪.‬‬
‫‪1‬ك گزينهی ج صثیح است‪.‬‬
‫دو استراتژی در نوشتن در حافظه نهان وجود دارد‪:‬‬
‫ك ‪ = write – through‬كلمه تغییر يافته در حافظه نهان در حافظه نیز نوشكته ميشكود‪.‬‬
‫(به هنگام ميشود‪).‬‬
‫ك ‪ = write – back‬تا زماني كه كلمه داخل حافظه نهان است در حافظه اصلي به روز‬
‫نميشود و در صورت حذف كلمه از حافظه نهان حافظه اصلي به روز ميشود‪.‬‬
‫استراتژی اول اگرچه سرعت نوشتن را پايین ميآورد اما از يكسكان بكودن مثتكوای‬
‫حافظه نهان و حافظه اصلي اطمینان داريم‪.‬‬
‫‪ / 291‬معماري كامپيوتر‬

‫‪ 5‬ك گزينهی د صثیح است‪.‬‬


‫تعداد كل بیتها ‪ 36‬بیت است پس حجم حافظه اصلي‪:‬‬
‫‪232  4 GB‬‬
‫حجم تعداد بیتهای ‪ block‬و ‪ 4+1 = 44 = offset‬پس حجم حافظه نهان (كش)‪:‬‬
‫‪211  2KB‬‬
‫برای تشخیص بالك مورد اشاره داريم‪:‬‬
‫‪ B3 A4FH  101100111010‬‬ ‫‪0100 1111 2‬‬
‫‪Block‬‬ ‫‪offset‬‬
‫‪  36 10‬‬
‫‪ 6‬ك گزينهی د صثیح است‪.‬‬
‫كندتر است‪.‬‬ ‫‪Refresh‬‬ ‫حافظه ‪ Dynamic Ram‬به دلیل نیاز به‬
290 / ‫معماري كامپيوتر‬

‫منابع‬

1- M.Morris Mano , Computer System Architecture : Solution Manual


2- M.Morris Mano , Computer System Architecture, 3rd Edition,

You might also like