Solution Architecture Computer - Farsi

Download as pdf or txt
Download as pdf or txt
You are on page 1of 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