250 likes | 617 Views
معماری کامپیوتر. دانشگاه آزاد اسلامی واحد پرند. نیمسال دوم 92-93. معماری کامپیوتر. دانشگاه آزاد اسلامی واحد پرند. مدارهای منطقی دیجیتال. گیت های منطقی. اطلاعات دودویی در کامپیوترهای دیجیتال کمیت های فیزیکی تحت عنوان سیگنال انواع بلوکهاي منطقي پايه بلوکهاي منطقي ترکيبي
E N D
معماری کامپیوتر دانشگاه آزاد اسلامی واحد پرند نیمسال دوم 92-93
معماری کامپیوتر دانشگاه آزاد اسلامی واحد پرند مدارهای منطقی دیجیتال
گیت های منطقی • اطلاعات دودویی در کامپیوترهای دیجیتال • کمیت های فیزیکی تحت عنوان سیگنال • انواع بلوکهاي منطقي پايه • بلوکهاي منطقي ترکيبي • بلوکهايي منطقي که خروجي منطقي آنها تنها تابعي از ورودي آنهاست • بلوکهاي منطقي ترتيبي • بلوکهاي منطقي که خروجي منطقي آنها تابعي از ورودي آنها و وضعيت (اطلاعات ذخيره شده) در بلوکهاست • عملکرد گيتها با موارد زير نمايش داده ميشوند • جدول درستي • توابع بولي • جدول کارنو
نامسمبل تابع جبريجدول درستي A B X گیت های منطقی A X = A • B X or B X = AB 0 0 0 0 1 0 1 0 0 1 1 1 0 0 0 0 1 1 1 0 1 1 1 1 AND A B X A X X = A + B B OR A X NOT 0 1 1 0 A X X = A’ A X 0 0 1 1 Buffer A X X = A A B X A X X = (AB)’ B 0 0 1 0 1 1 1 0 1 1 1 0 NAND A B X A X X = (A + B)’ B 0 0 1 0 1 0 1 0 0 1 1 0 NOR A B X A X = A B X or B X = A’B + AB’ XOR Exclusive OR 0 0 0 0 1 1 1 0 1 1 1 0 A B X A X = (A B)’ X or B X = A’B’+ AB XNOR 0 0 1 0 1 0 1 0 0 1 1 1 Exclusive NOR or Equivalence
جبر بول • جبري که با متغيرهاي بولي (دودويي) و اعمال منطقي کار ميکند • متغيرها: (A, B, x, y: T/F or 1/0) • اعمال اصلي منطقي:and، or و not • جبر بولي در سنتز و تحليل مدارات منطقي ديجيتال کاربرد دارد • وروديها و خروجيها با متغيرهاي بولي نمايش داده ميشوند • عملکرد مدارات منطقي ديجيتال با اعمال منطقي (توابع بولي) نشان داده ميشوند • يک نمودار منطقي ميتواند با استفاده از گيتهاي and، or و ... از توابع بولي ساخته شوند
جدول درستی • ابتداييترين توصيف عملکرد يک مدار منطقي ديجيتال با استفاده از جدول درستي است • اين جدول مقدار خروجي را براي همهي ترکيبهاي مختلف ورودي توصيف ميکند • رابطه بین تابع و متغیرهای دودویی اش • n متغير ورودي : 2n رديف جدول
x y z F 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 روند طراحی مدار جدول درستي تابع بولي F = x + y’z x F y دياگرام منطقي z
[1] x + 0 = x [3] x + 1 = 1 [5] x + x = x [7] x + x’ = 1 [9] x + y = y + x [11] x + (y + z) = (x + y) + z [13] x(y + z) = xy +xz [15] (x + y)’ = x’y’ [17] (x’)’ = x [2] x • 0 = 0 [4] x • 1 = x [6] x • x = x [8] x • x’ = 0 [10] xy = yx [12] x(yz) = (xy)z [14] x + yz = (x + y)(x + z) [16] (xy)’ = x’ + y’ اتحادهای جبر بول • موارد استفاده اين جدول • سادهسازي توابع بولي • استخراج يک عبارت معادل بولي
مثالی از به کارگیری اتحاد ها برای ساده کردن مدار F = ABC + ABC’ + A’C (1) = AB(C + C’) + A’C (2) = AB • 1 + A’C = AB + A’C (3) A B C F (1) (2) (3) A B C F A B C F
جدول کارنوKarnaugh Map • جدول کارنو • جدولي براي سادهسازي عبارات بولي • مينترم • ضرب nمتغيره (x=1, x’=0) • يک مثال 2 متغيره F =x’y + xy جدول درستي تابع بولي سادهشده جدول کارنو تابع بولي m0 + m1 + m2 + m3 (m1 + m3 ) m1 m3
مشخصات جدول کارنو • جدول کارنو براي يک مدار منطقي ديجيتال (يک جدول درستي) با nورودي: • يک مستطيل تقسيم شده به 2nسلول است • هر سلول نمايشگر يک مينترم است • خروجي (تابع) براي هر ورودي (که با مينترم نمايش داده ميشود) در سلول نمايشدهنده مينترم نمايش داده ميشود. سلول 0 و سلول 1
x y z F جدول کارنو : مثال 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 0 yz yz 00 01 11 10 00 01 11 10 x x 0 0 0 1 0 1 1 0 0 1 0 1 3 2 4 5 7 6 x x 1 1 z z wx 00 01 11 10 u v w x F uv 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 1 0 0 1 1 0 1 0 1 1 1 0 1 0 0 0 1 1 0 0 1 1 1 0 1 0 0 1 0 1 1 1 1 1 0 0 0 1 1 0 1 0 1 1 1 0 1 1 1 1 1 0 0 1 3 2 00 v 01 4 5 7 6 11 12 13 15 14 u 10 8 9 11 10 x wx 00 01 11 10 uv 00 0 1 1 0 01 0 0 0 1 11 0 0 0 1 10 1 1 1 0 F(u,v,w,x) = m(1,3,6,8,9,11,14)
جدول کارنو : SOP, POS • گروه کردن یک ها • چند گیت AND و یک گیت OR • گروه کردن صفرها • چند گیت OR و یک گیت AND • در نظر گرفتن حالات بی اهمیت
مدارهای ترکیبی • يک آرايش از گيتهاي منطقيمتصل به هم با يک مجموعه ورودي و يک مجموعه خروجي • طراحي مدارهاي ترکيبي 1- بيان مساله 2- اختصاص سمبلهاي حرفي به متغيرهاي ورودي-خروجي 3- به دست آوردن جدول درستي که رابطه بين ورودي و خروجيها را تعريف ميکند 4- به دست آوردن توابع بولي براي هر يک از خروجيها 5- رسم دياگرام منطقي مدارهاي ترکيبي (گيتهاي منطقي) . . nمتغير ورودي mمتغير خروجي . . .
x y c s 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 x y c s مثال از مدار ترکیبی: HalfAdder • جمع کننده دو رقم دودویی • نیم جمع کننده : جمع حسابی دو بیت • بلاک ساختمانی پایه در ساخت مدارهای حسابی پیچیده y y 0 0 0 1 1 1 0 x 0 x c = xy s = xy’ + x’y = x y
مثال از مدار ترکیبی: FullAdder x y cn-1 cn s 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 • جمع کننده سه رقم دودویی، دو بیت و بیت رقم نقلی قبلی • تمام جمع کننده : جمع حسابی سه بیت • بلاک ساختمانی پایه در ساخت مدارهای حسابی پیچیده cn = xy + xcn-1+ ycn-1 = xy + (x y)cn-1 s = x’y’cn-1+x’yc’n-1+xy’c’n-1+xycn-1 = x y cn-1 = (x y) cn-1 y y 0 1 0 0 1 0 0 1 cn-1 cn-1 0 1 1 1 x x 0 0 1 1 cn x y s S cn cn-1
فلیپ فلاپ ها : عناصر حافظه در مدارهای ترتیبی • فليپفلاپ يک عنصر دودويي است که ميتواند يک بيت اطلاعات را در خود ذخيره کند • فليپفلاپ يک وضعيت دودويي را در خود نگاه ميدارد تا اينکه يک پالس ساعت موجب تغيير آن شود • دارای دو خروجی • مقدار عادی بیتی که در آن ذخیره می شود • متمم آن
انواع فلیپ فلاپ ها • فليپفلاپ SR • فلیپ فلاپ D • از فلیپ فلاپ SR • دارای حالت Set و Reset • فلیپ فلاپ JK • فلیپ فلاپ T • از فلیپ فلاپ JK • دارای حالت Hold و Toggle
حساسیت • حساس به سطح (Latch) • حساس به لبه (Flip Flop) • لبه مثبت • لبه منفی • هر دو لبه (Master-Salve)
مدارهاي ترکيبي فليپ فلاپها ساعت مدارهای ترتیبی ورودي خروجي
روند طراحی مدارهای ترتیبی Specification State Diagram State Table Excitation Table Karnaugh Map Circuit Diagram
B B B B d d d d d d 1 1 d 1 d x x x x d d 1 1 d d 1 A A A A d d d d Ja Ka Jb Kb مدارهای ترتیبی: مثال طراحی x=0 00 x=1 x=1 current next state input state FF inputs A B x A B Ja Ka Jb Kb 0 0 0 0 0 0 d 0 d 0 0 1 0 1 0 d 1 d 0 1 0 0 1 0 d d 0 0 1 1 1 0 1 d d 1 1 0 0 1 0 d 0 0 d 1 0 1 1 1 d 0 1 d 1 1 0 1 1 d 0 d 0 1 1 1 0 0 d 1 d 1 x=0 01 x=0 11 x=1 x=1 10 x=0 x A B J Q C K Q' J Q C K Q' Ja = Bx Ka = Bx Jb = x Kb = x clock