Presentation is loading. Please wait.

Presentation is loading. Please wait.

سازمان و طراحي کامپيوتر پايه.

Similar presentations


Presentation on theme: "سازمان و طراحي کامپيوتر پايه."— Presentation transcript:

1 سازمان و طراحي کامپيوتر پايه

2 تصویر بزرگ: هر دوی سخت افزار و نرم افزار مرکب از لایه های سلسله مراتبی هستند، با هر لایه سطح پائینتر جزئیاتی از دید سطح بالاتر مخفی می شوند. این اصل تجرید، روشی است که طراحان سخت افزار و طراحان نرم افزار از عهده پیچیدگی سیستم های کامپیوتری بر آمدند. یک محیط کلیدی بین لایه های انتزاعی معماری مجموعه دستورالعمل است: فضای بین سخت افزار و نرم افزار سطح پائین . این محیط مجازی توان بسیاری در پیاده سازی برای دگرگونی هزینه و کارایی در اجرای یک نرم افزار یکسان است.

3 مهندسی و معماری کامپیوتر کجاست؟
Application (Netscape) Operating Compiler System (Windows 2K) Software Assembler Instruction Set Architecture Hardware Processor Memory I/O system Datapath & Control Digital Design Circuit Design transistors

4 تشریح: پنج جزء ترکیب شده کامپیوتر
Personal Computer Computer Keyboard, Mouse Processor Memory Devices Control (“brain”) Input Disk Datapath (“brawn”) That is, any computer, no matter how primitive or advance, can be divided into five parts: 1. The input devices bring the data from the outside world into the computer. 2. These data are kept in the computer’s memory until ... 3. The datapath request and process them. 4. The operation of the datapath is controlled by the computer’s controller. All the work done by the computer will NOT do us any good unless we can get the data back to the outside world. 5. Getting the data back to the outside world is the job of the output devices. The most COMMON way to connect these 5 components together is to use a network of busses. Output , Print Displayer

5 تکنولوژی کامپیوتر: تغییری مهیج
پردازنده هر یکسال و نیم، 2 برابر در سرعت(از سال 1985). کارایی 100 برابر، در دهه گذشته حافظه ظرفیت DRAM: 2برابر در هر دو سال(از سال 96) بهبود اندازه 64x در دهه گذشته دیسک ظرفیت: 2برابر در هر سال(از سال 97) بهبود اندازه 250x در دهه گذشته

6 گرایش تکنولوژی: پیچیدگی ریزپردازنده
2X transistors/Chip Every 1.5 to 2.0 years 2برابر ترانزیستور/تراشه هر 1.5 تا 2 سال “موسوم به قانون مور”

7 Intel 486™ DX CPU Design 1986 – 1989 25 MHz, 33 MHz 1.2 M transistors
1.0 micron 5 stage pipeline Unified 8 KByte code/data cache (write-through) First IA-32 processor capable of executing 1 instruction per clock cycle

8 Pentium® Processor Design 1989 – 1993 60 MHz, 66 MHz 3.1 M transistors
0.8 micron 5 stage pipeline 8 KByte instruction and 8 KByte data caches (writeback) Branch predictor Pipelined floating point First superscalar IA-32: capable of executing 2 instructions per clock

9 Pentium® II Processor Design 1995 – 1997 233 MHz, 266 MHz, 300 MHz
7.5 M transistors 0.35 micron 16 KByte L1I, 16 KByte L1D, 512 KByte off-die L2 First compaction of P6 microarchitecture

10 Pentium® III Processor (Katmai)
Introduced: 1999 450 MHz, 500 MHz, 533 MHz, 600MHz 9.5 M transistors 0.25 micron 16 KByte L1I, 16 KByte L1D, 512 KByte off-chip L2 Addition of SSE instructions.

11 Pentium® III Processor (Coppermine)
Introduced: 1999 500MHz … 1133MHz 28 M transistors 0.18 micron 16 KByte L1I, 16 KByte L1D, 256KByte on-chip L2 Integrate L2 cache on chip, It topped out at 1GHz.

12 Pentium® IV Processor Introduced: 2000 1.3GHz … 2GHz … 3.4GHz
42M … 55M … 125 M transistors 0.18 … 0.13 … 0.09 micron Latest one: 16 KByte L1I, 16 KByte L1D, 1M on-chip L2 Very high clock speed and SSE performance

13 Intel® Itanium® Processor
Design 1993 – 2000 733 MHz, 800 MHz 25 M transistors 0.18 micron 3 levels of cache 16 KByte L1I, 16 KByte L1D 96 KByte L2 4 MByte off-die L3 Superscalar degree 6, in-order machine First implementation of 64-bit Itanium architecture

14 Intel® Itanium 2® Processor
Introduced: 2002 1GHz 221 M transistors 0.18 micron 3 levels of cache 32 KByte I&D L1 256 KByte L2 integrated 1.5MByte L3 Based on EPIC architecture Enhanced Machine Check Architecture (MCA) with extensive Error Correcting Code (ECC)

15 Cache Size Becoming Larger and Larger
1993: Pentium 1997: Pentium-II 2002: Itanium-2 16 KByte L1I, 16 KByte L1D 512 KByte off-die L2 Level 1: 16K KByte I-cache, 16 KByte D-cache Level 2: 256 KB Level 3: integrated 3 MB or 1.5 MB 8 KByte I-cache and 8 KByte D-cache

16 Motorola’s PowerPC 604 Pentium

17 11/18/2018 \cpeg323-04F\Topic0.ppt

18 \cpeg323-04F\Topic0.ppt 11/18/2018

19 سازمان و طراحي کامپيوتر پايه:
دستورات مراجعه به حافظه وقفه و ورودي-خروج تشريح کامل کامپيوتر طراحي کامپيوتر پايه طراحي واحد انباره کدهاي دستورالعمل ثبات هاي کامپيوتر دستورات کامپيوتر زمان بندي و کنترل چرخه دستورالعمل

20 مقدمه: هر پردازنده طراحي خاص خود(ثبات ها، گذرگاه ها، ريزعمل ها، دستورالعمل هاي ماشين و ... ) را دارد. کامپيوترهاي مدرن ساختار پيچيده اي دارند. آنها شامل موارد زير هستند: ثبات هاي فراوان چندين واحدهاي محاسباتي هم براي اعداد صحيح هم براي اعداد مميزدار استفاده از چندين واحد خط لوله تا به اين ترتيب سرعت اجرا افزايش يابد. و موارد ديگر در ادامه براي فهم اينکه کامپيوتر چگونه کار مي کند از يک مدل ساده شده استفاده شده است. اين مدل را آقاي مانو(Mano) معرفي کرده و نام آنرا کامپيوتر پايه گزارده است. اين مدل شبيه کامپيوترهايي است که 30 سال پيش کار ميکرده اند. ما از اين مدل براي معرفي سازمان پردازنده و ارتباط RTL با سطح بالاتر پردازنده استفاده مي کنيم.

21 کامپيوتر پايه: کامپيوتر پايه دو جز (component) اصلي دارد، پردازنده و حافظه. حافظه 4096 کلمه دارد. 4096 = 212، يعني به 12 خط آدرس نياز داريم. هر کلمه 16 بيت طول دارد. CPU RAM 15 4095

22 ثبات هاي پردازنده: يک پردازنده تعداد زيادي ثبات براي نگهداري دستورالعمل ها آدرس ها و داده ها و ... دارد. پردازنده يک ثبات به نام شمارنده برنامه Program Counter (PC) دارد که آدرس دستوري را که بايد اجرا شود، نگه مي دارد. چون حافظه در کامپيوتر پايه 4096 کلمه دارد پس PC ، 12 بيتي است. در آدرس دهي مستقيم يا غير مستقيم پردازنده براي آنکه آدرس عملوند را نگه دارد از يک ثبات به نام ثبات آدرس Address register (AR) استفاده مي کند. چون حافظه در کامپيوتر پايه 4096 کلمه دارد پس AR ، 12 بيتي است. پس از آنکه عملوند در حافظه پيدا شد، در آدرس دهي مستقيم يا غير مستقيم، عملوند به يک ثبات به نام ثبات داده Data Register (DR) منتقل مي شود. کامپيوتر پايه يک ثبات همه منظوره به نام انباره Accumulator (AC) نيز دارد. دستورالعمل هاي يک کامپيوتر به همراه همه داده هاي لازم در حافظه ذخيره شده اند. اين دستور در يک ثبات به نام IR ذخيره شده است.

23 ثبات هاي پردازنده: اهميت ثبات همه منظوره آن است که مي توان در دستورات به آن ارجاع داد. مثلا مي توان AC را به يک مکان خاص از حافظه منتقل کرد يا مکان خاص از حافظه را به AC منتقل کرد. در کامپيوتر پايه از يک ثبات براي نگهداري داده هاي مياني يا موقتي استفاده شده است به اين ثبات، ثبات موقتي Temporary Register (TR) مي‌گويند. کامپيوتر پايه يک مدل بسيار ساده ورودي/ خروجي دارد. دستگاه هاي ورودي کاراکترهاي 8 بيتي را به پردازنده مي فرستند. پردازنده کاراکترهاي 8 بيتي را به دستگاه هاي خروجي مي فرستد. ثبات ورودي Input Register (INPR) داده 8 بيتي را که از دستگاه ورودي رسيده است نگه ميدارد. ثبات خروجيOutput Register (OUTR) داده 8 بيتي را که به دستگاه خروجي فرستاده مي شود نگه ميدارد.

24 ثبات هاي کامپيوتر پايه:
ثبات ها در کامپيوتر پايه 11 PC Memory 11 4096 x 16 AR 15 IR CPU 15 15 TR DR 7 7 15 OUTR INPR AC List of BC Registers DR Data Register مقدار عملوند را نگه مي دارد AR Address Register آدرس عملوند را نگه مي دارد AC Accumulator ثبات همه منظوره IR Instruction Register را نگه مي دارد دستورالعمل PC Program Counter را نگه مي دارد آدرس دستورالعمل TR Temporary Register داده هاي موقتي را نگه مي دارد INPR Input Register کاراکتر ورودي را نگه مي دارد OUTR Output Register کاراکتر خروجي را نگه مي دارد

25 سيستم گذرگاه عمومي: ثبات ها در کامپيوتر پايه با استفاده از گذرگاه به هم متصل شده اند استفاده از گذرگاه نسبت به اتصال مستقيم ثبات ها به هم در سيم‌بندي صرفه جويي مي کند.

26 سيستم گذرگاه عمومي: S0 S1 S2 x AR 1 PC DR AC IR TR Register AR PC DR
Bus Memory unit 4096 x 16 LD INR CLR Address Read Write AR PC LD INR CLR DR AC ALU E INPR IR LD TR OUTR Clock 16-bit common bus 7 1 2 3 4 5 6 Register S0 S1 S2 x AR 1 PC DR AC IR TR Memory

27 سيستم گذرگاه عمومي: AR PC DR AC ALU E IR TR OUTR INPR L I C LD Memory
4096 x 16 Address Read Write گذرگاه عمومي 16 بيتي 7 1 2 3 4 5 6 S0 S1 S2

28 دستورالعمل ها: برنامه : يک دنباله از دستورالعمل ها دستورالعمل:
يک گروه از بيت ها که به کامپيوتر اعلام مي کنند که يک عمل خاص را انجام دهند. (يک دنباله از ريزعمل ها) دستورالعمل هاي يک کامپيوتر به همراه همه داده هاي لازم در حافظه ذخيره شده اند. CPU دستور بعدي را از حافظه مي خواند. اين دستور در يک ثبات به نام IR ذخيره شده است. دستورالعمل به دنباله اي از ريزعمل ها تبديل مي شود تا با انجام ريزعمل ها دستورالعمل مورد نظر اجرا شود.

29 فرمت دستوالعمل ها: يک دستورالعمل اغلب از دو بخش تشکيل شده است:
کد عمليات(opcode ): عملي را که دستورالعمل بايد انجام دهد مشخص مي کند. آدرس(address ): ثبات يا جايي از حافظه را که دستورالعمل بايد عمل کند مشخص مي کند. همانطور که گفتيم در کامپيوتر پايه 12 بيت براي آدرس دهي حافظه داريم. در کامپيوتر پايه بيت 15 دستورالعمل مد آدرس دهي(addressing mode) را مشخص مي کند: صفر: آدرس دهي مستقيم (direct addressing) يک: آدرس دهي غير مستقيم(indirect addressing) چون کلمه هاي حافظه و بنابراين دستورالعمل ها 16 بيتي هستند، 3 بيت باقي مانده براي کد دستورالعمل مورد استفاده قرار مي گيرد. Opcode Address Instruction Format 15 14 12 I 11 Addressing mode

30 دستوالعمل هاي کامپيوتر پايه:
فرمت دستوالعمل هاي کامپيوتر پايه: Address Opcode 1 12 13 14 15 دستورالعمل هاي مراجعه به حافظه (OP-code = 000 ~ 110) دستورالعمل هاي مراجعه به ثبات (OP-code = 111, I = 0) Register operation 1 12 13 14 15 I/O operation 1 12 13 14 15 دستورالعمل هاي ورودي خروجي (OP-code =111, I = 1)

31 دستوالعمل هاي کامپيوتر پايه:
Hex Code سمبل I = I = توضيح AND xxx 8xxx AND memory word to AC ADD xxx 9xxx Add memory word to AC LDA xxx Axxx Load AC from memory STA xxx Bxxx Store content of AC into memory BUN xxx Cxxx Branch unconditionally BSA xxx Dxxx Branch and save return address ISZ xxx Exxx Increment and skip if zero CLA Clear AC CLE Clear E CMA Complement AC CME Complement E CIR Circulate right AC and E CIL Circulate left AC and E INC Increment AC SPA Skip next instr. if AC is positive SNA Skip next instr. if AC is negative SZA Skip next instr. if AC is zero SZE Skip next instr. if E is zero HLT Halt computer INP F Input character to AC OUT F Output character from AC SKI F Skip on input flag SKO F Skip on output flag ION F Interrupt on IOF F Interrupt off

32 سيستم گذرگاه عمومي: Register S0 S1 S2 x AR 1 PC DR AC IR TR Memory سه خط کنترل s0، s1 و s2 کنترل مي کنند که کدام ثبات به عنوان ثبات ورودي انتخاب شود. وقتي ثبات هاي 12 بيتي (AR و PC) روي گذرگاه اطلاعات قرار مي دهند، 4 بيت با ارزشتر گذرگاه مقدار صفر مي گيرد. آدرس دهي مستقيم: آدرس داده مورد نظر در حافظه (عملوند) آدرس دهي غير مستقيم: آدرس آدرس داده مورد نظر در حافظه(عملوند)

33 Effective address: • Effective address: Address where an operand is physically located Effective address: 457 AC ← AC+M[457] AC ← AC+ !!! Effective address: 457 AC ← AC+M[M[300]] AC ← AC+M[1350] AC ← AC+ !!!

34 مود آدرس دهي:Addressing Mode))
ناحيه آدرس يک دستورالعمل مي تواند به يکي از دو شکل زير تفسير شود: آدرس دهي مستقيم: آدرس داده مورد نظر در حافظه (عملوند) آدرس دهي غير مستقيم: آدرس آدرس داده مورد نظر در حافظه (عملوند) آدرس دهي موثر: Effective Address (EA) آدرس عملوند، مثلا در شکل بالا سمت راست آدرس موثر 1350و در شکل بالا سمت چپ آدرس موثر 457 است. ADD 457 22 Operand 1 300 35 1350 + AC آدرس دهي مستقيم آدرس دهي غير مستقيم

35 كامل بودن مجموعة دستورالعملها:
هر كامپيوتر بايد مجموعه‌اي از دستورالعملها را داشته باشد كه كاربر بتواند براي محاسبه هر تابعي كه محاسبه پذير بودن آن محرز است، برنامه‌اي به زبان ماشين بنويسد. نوع دستورالعملها دستورالعملهاي عملياتي حسابي، منطقي و جابجايي ADD, CMA, INC, CIR, CIL, AND, CLA تبادل اطلاعات - تبادل اطلاعا ت با حافظه وثباتهاي كامپيوتر - LDA, STA دستورالعملهاي كنترلي - دستورالعملهاي كنترل برنامه و وارسي شرايط - BUN, BSA, ISZ دستورالعملهاي ورودي خروجي - ورودي خروجي - INP, OUT

36 سیکل دستورالعمل ها: مراحل اجرای دستور را سیکل دستور العمل می گویند.
در این ماشین سیکل دستور شامل 4 مورد است: واکشی (fetch) ترجمه (decode) یافتن آدرس موثر اجرای دستور این سیکل ها ترتیبی هستند و نیاز به زمانبندی برای اجرا دارند. لذا از یک مدار شمارنده 4 بیتی و یک دیکودر استفاده می کنیم و 16 سیکل زمانی از 𝑻 𝟎 تا 𝑻 𝟏𝟓 را ایجاد می نماییم. دقت کنید مراحل بالا شامل 4 مرحله است و شاید به نظر برسد به چهار سیکل احتیاج است اما هر مرحله ممکن است خود شامل چندین کلاک باشد. برای مرحله ترجمه دستور نیز از یک دیکودر 3 به 8 استفاده می کنیم و OpCode را دیکد می کنیم.

37 واحد كنترل: واحد كنترل همة پروسسورها دستورالعملهاي ماشين را به سيگنالهاي كنترلي تبديل مي‌كند. اين سيگنالهاي كنترلي براي كنترل ريزعملها بكار مي‌روند. واحد كنترل به دو طريق قابل ساخت مي‌باشد: كنترل سخت‌افزاري: واحد كنترل از مدارهاي تركيبي و ترتيبي ساخته شده است كه كار آنها توليد سيگنالهاي كنترلي است. كنترل ريز برنامه‌نويسي شده: يك حافظة كنترلي درپروسسور وجود دارد كه شامل ريزعملهايي است كه سيگنالهاي كنترلي لازم را توليد مي‌كند. ما يك واحد كنترلي سخت‌افزاري را براي كامپيوتر پايه ارائه و استفاده مي‌كنيم.

38 واحد كنترل در كامپيوتر پايه
زمان‌بندي و كنترل: Instruction register (IR) 15 11 - 0 ورودي‌هاي ديگر ترجمه 3 x 8 ديكدر D گيتهاي مدار كنترل I D 7 خروجي‌هاي كنترل T 15 واحد زمانبندی T 4 x 16 ديكدر 4-bit Increment (INR) sequence Clear (CLR) counter (SC) Clock با توجه به شکل: اگر دستور حافظه ای در IR قرار گیرد آنگاه = 0 𝑫 𝟕 اگر دستور ثباتی در IR قرار گیرد آنگاه = 1 𝑫 𝟕 و I=0 اگر دستور ورودی/ خروجی در IR قرار گیرد آنگاه = 1 𝑫 𝟕 و I=1

39 نمونه ای از سيگنالهاي زمان‌بندي:
-بوسيلة دنباله شمار 4 بيتي و ديكدر 16*4 توليد مي‌شود. -SC توالی شمار می باشد و مي‌تواند افزايش يافته يا پاك شود. بعنوان مثال: T0, T1, T2, T3, T4, T0, T1, . . . -فرض: در زمان T4 ، SC پاك مي‌شود اگر خروجي ديكدر D3 فعال باشد. D3T4: SC  0

40 واكشي و كدگشايي: • Fetch and Decode سيکل دستور:
واکشی یا fetch T0: AR PC (S0S1S2=010, T0=1) واکشی یا fetch T1: IR  M [AR], PC  PC (S0S1S2=111, T1=1) ترجمه و دیکود کردن T2: D0, , D7  Decode IR(12-14), AR  IR(0-11), I  IR(15) T1 T1 S2 S2 T0 T0 S1 S1 Bus Bus S0 S0 Memory Memory 7 7 unit unit سيکل دستور: 1- واکشی دستور از حافظه 2- ديکد کردن دستور 3- خواندن آدرس موثر 4- اجرای دستورالعمل Address Address Read Read AR AR 1 1 LD LD PC PC 2 2 INR INR IR IR 5 5 LD LD Clock Clock Common bus Common bus 40

41 واكشي و كدگشايي: • Fetch and Decode سيکل دستور:
واکشی یا fetch T0: AR PC (S0S1S2=010, T0=1) واکشی یا fetch T1: IR  M [AR], PC  PC (S0S1S2=111, T1=1) ترجمه و دیکود کردن T2: D0, , D7  Decode IR(12-14), AR  IR(0-11), I  IR(15) T1 T1 S2 S2 T0 T0 S1 S1 Bus Bus S0 S0 سيکل دستور: 1- واکشی دستور از حافظه 2- ديکد کردن دستور 3- خواندن آدرس موثر 4- اجرای دستورالعمل Memory Memory 7 7 unit unit Address Address Read Read AR AR 1 1 LD LD PC PC 2 2 INR INR IR IR 5 5 LD LD Clock Clock Common bus Common bus 41

42 تعيين نوع دستورالعمل: D'7IT3: AR M[AR] D'7I'T3: Nothing
Start SC  0 T0 AR PC T1 IR M[AR], PC PC + 1 T2 Decode Opcode in IR(12-14), AR IR(0-11), I IR(15) (Register or I/O) = 1 = 0 (Memory-reference) D7 (I/O) = 1 = 0 (register) (indirect) = 1 = 0 (direct) I I T3 T3 T3 T3 Execute Execute AR M[AR] Nothing input-output register-reference instruction instruction SC SC Execute T4 memory-reference instruction SC D'7IT3: AR M[AR] D'7I'T3: Nothing D7I'T3: Execute a register-reference instr. D7IT3: Execute an input-output instr. 42

43 دستورات ماشین پایه: الف- دستورات حافظه ای:
کد RTL دستور 𝑫 𝟎 𝑻 𝟒 :DR  M[AR] 𝑫 𝟎 𝑻 𝟓 :AC AC˄DR , SC 0 AND 𝑫 𝟏 𝑻 𝟒 :DR  M[AR] 𝑫 𝟏 𝑻 𝟓 :AC AC+DR, E Cout, SC 0 ADD 𝑫 𝟐 𝑻 𝟒 :DR  M[AR] 𝑫 𝟐 𝑻 𝟓 :AC DR , SC 0 LDA 𝑫 𝟑 𝑻 𝟒 :M[AR] AC, SC 0 STA 𝑫 𝟒 𝑻 𝟒 :PC AR, SC 0 BUN 𝑫 𝟓 𝑻 𝟒 :M[AR] PC, AR AR+1 𝑫 𝟓 𝑻 𝟓 :PC AR, SC 0 BSA 𝑫 𝟔 𝑻 𝟒 :DR  M[AR] 𝑫 𝟔 𝑻 𝟓 :DR DR+1 𝑫 𝟔 𝑻 𝟔 :M[AR] DR, IF(DR==0) THEN (PC PC+1), SC 0 ISZ

44 الف- مثال دستورات حافظه ای:
دستور bun یک دستور پرش غیر شرطی است و آدرس موثر را در pc قرار می دهد: حافظه 200 BUN 100 دستور بعدی PC=101 قبل از اجرا حافظه 200 BUN 100 101 دستور بعدی PC=200 بعد از اجرا Bun مستقیم

45 الف- مثال دستورات حافظه ای:
دستور bun یک دستور پرش غیر شرطی است و آدرس موثر را در pc قرار می دهد: حافظه 200 BUN 1 100 دستور بعدی PC=101 300 قبل از اجرا حافظه 200 BUN 1 100 101 300 دستور بعدی PC=300 بعد از اجرا Bun غیر مستقیم

46 الف- مثال دستورات حافظه ای:
دستور BSA ابتدا PC را در M[E.A] ذخیره می کند و سپس به خانه بعدی آن پرش می کند، یعنی آدرس برگشت در ابتدای برنامه ذخیره می شود. پس در انتهای برنامه، برنامه نویس باید با کمک دستور bun به نقطه اولیه بازگشت کند: حافظه 200 BSA 100 دستور بعدی PC=101 201 قبل از اجرا حافظه 200 BSA 100 101 زیر برنامه PC=201 بعد از اجرا BSA مستقیم در شکل فوق برنامه نویس باید در انتهای زیر برنامه دستور زیر را قرار دهد تا بتوانیم به دستور 101 بازگشت کنیم. 1 BUN 200

47 الف- مثال دستورات حافظه ای:
با کمک دستور isz می توان حلقه تکرار درست کرد. فرض کنید می خواهیم یک تکه از برنامه را 10 بار اجرا کنیم، دستورات زیر این عمل را انجام می دهد: X: 10 بار اجرا می شوند. ISZ Y BUN X ---- در تکه برنامه مقابل فرض کنید Y مکانی از حافظه با مقدار -10 است. دستورISZ هر بار به -10 یک واحد اضافه می کند و دستور BUN به X پر می کند تا وقتی که Y برابر صفر شود که در این صورت از BUN گذر می شود.

48 دستورات ماشین پایه: ب- دستورات ثباتی:
در این دستورات با اینکه مراجعه به حافظه نیاز نیست، ولی در سیکل زمانی 𝑻 𝟏 ، محتوای M[AR] به IR منتقل می شود. این دستورات در طی زمان 𝑻 𝟑 اجرا می شوند. اجرای هر دستور ثباتی، تابع کنترلی 𝑫 𝟕 𝑰 ′ 𝑻 𝟑 را نیاز دارد و علاوه بر آن، با توجه به بیت های 0 تا 11 از هر دستور چون تنها یک بیت از این 12 بیت فعال است، همان بیت به تابع کنترلی وارد می شود.

49 دستورات ماشین پایه: ب- دستورات ثباتی:
( بیت های 0 تا 11 در IR را با 𝑩 𝒊 نشان می دهیم یعنی 𝑩 𝒊 IR(i)= و 𝑫 𝟕 𝑰 ′ 𝑻 𝟑 که برای همه دستورات ثباتی مشترک است را با r نشان می دهیم.) SC  0 r AC  0 rB11: CLA E  0 rB10: CLE AC  AC rB9: CMA E  E rB8: CME AC  shr AC, AC(15)  E, E  AC(0) rB7: CIR AC  shl AC, AC(0)  E, E  AC(15) rB6: CIL AC  AC + 1 rB5: INC If(AC(15) =0) then (PC  PC + 1) skip if positive rB4: SPA If(AC(15) =1) then (PC  PC + 1) skip if negative rB3: SNA If(AC = 0) then (PC  PC + 1) skip if zero rB2: SZA If(E=0) then (PC  PC + 1) skip if zero rB1: SZE S  0 (S is a strat-stop flip flop) Halt computer rB0: HLT

50 دستورات ماشین پایه: ج- دستورات I/O:
FGO دستورات ماشین پایه: ج- دستورات I/O: Printer Receiver interface OUTR AC به منظور همسان سازی نرخ انتقال بین ورودی/خروجی و کامپیوتر Keyboard Transmitter interface INPR FGI پرچم یک بیتی ورودی FGI (flag input) یک فلیپ فلاپ کنترلی است. وقتی اطلاعات جدیدی در ورودی حاضر است، FGI=1 می شود و زمانیکه اطلاعات توسط کامپیوتر پذیرفته می شود FGI=0 می شود. پرچم یک بیتی خروجی FGO (flag Output) یک فلیپ فلاپ کنترلی است. کامپیوتر FGO را چک می کند اگر یک بود اطلاعات از AC به طور موازی به OUTR منتقل شده و FGO=0 می شود. وسیله خروجی اطلاعات را می پذیرد و کاراکتر معادل را چاپ می کند و زمانیکه عملیات کامل شد FGO=1 می شود. زمانی که FGO=0 کامپیوتر هیچ کاراکتر جدیدی به OUTR بار نمی کند.

51 دستورات ماشین پایه: ج- دستورات I/O:
به منظور انتقال اطلاعات AC ، چک کردن بیت های پرچم و برای کنترل امکان وقفه، از دستورات ورودی- خروجی استفاده می شود. این دستورات در طی زمان 𝑻 𝟑 اجرا می شوند و اجرای هر دستور ورودی- خروجی، تابع کنترلی 𝑫 𝟕 𝑰 𝑻 𝟑 را نیاز دارد که با حرف P نمایش می دهیم و علاوه بر آن، با توجه به بیت های 6 تا 11 از هر دستور چون تنها یک بیت از این 6 بیت فعال است، همان بیت به تابع کنترلی وارد می شود. Clear SC SC  0 p: Input character AC(0-7)  INPR, FGI  0 pB11: INP Output character OUTR  AC(0-7), FGO  0 pB10: OUT Skip on input flag If(FGI=1) then (PC  PC + 1) pB9: SKI Skip on output flag If(FGO=1) then (PC  PC + 1) pB8: SKO Interrupt enable on IEN  1 pB7: ION Interrupt enable off IEN  0 pB6: IOF

52 دستورات ماشین پایه: - وقفه یا iNTERRUPT :
کامپیوتر پایه فعلی باید دائما بیت پرچم را چک کند و اگر بیت مورد نظر ست بود، انتقال اطلاعات را آغاز می کند. این روش وقت کامپیوتر را هدر می دهد. که به آن انتقال تحت کنترل برنامه گویند. روش دیگر آنستکه وسایل جانبی زمانیکه برای انتقال اطلاعات آماده هستند، اعلام کنند. در عین حال کامپیوتر می تواند به کار دیگری مشغول باشد و این روش وقفه است. زمانیکه کامپیوتر در حال اجرای یک برنامه است، پرچم ها را چک نمی کند. هرگاه پرچمی ست شود، به کامپیوتر توسط وسیله جانبی وقفه داده می شود، کامپیوتر کار فعلی خود را قطع کرده و انتقال ورودی/خروجی (وقفه) را آغاز می کند. پس از پایان سرویس دهی به وقفه، به برنامه قبلی خود باز می گردد. سیکل وقفه، پیاده سازی سخت افزاری دستور پرش و ذخیره آدرس بازگشت است. آدرس بازگشت که در PC است، در مکان بخصوصی ذخیره می شود که بتوان پس از بازگشت، دستوری که در آن وقفه رخ داده است را یافت. این مکان می تواند، ثباتی از پردازنده باشد یا پشته یا مکانی از حافظه. در کامپیوتر پایه ، PC در آدرس 0 حافظه ذخیره می شود و سپس PC 1 شده و IEN و R هر دو صفر می شوند.

53 دستورات ماشین پایه: - وقفه یا iNTERRUPT :
0 = سیکل دستورالعمل R سیکل وقفه = 1 واکشی و ترجمه دستور ذخیره آدرس بازگشت در مکان حافظه M[0]=PC اجرای دستور IEN = 0 پرش به مکان 1 حافظه PC 1 = 1 = 1 FGI IEN 0 R 0 = 0 = 1 FGO R=1 = 0

54 - وقفه یا iNTERRUPT : حافظه 1120 BUN 1 255 PC=256 قبل از وقفه حافظه
1120 BUN 1 MAIN PROGRAM 255 PC=256 I / O قبل از وقفه حافظه 256 1120 BUN PC=1 MAIN PROGRAM 255 I / O 1 بعد از وقفه در شکل بالا هنگامیکه کامپیوتر در حال اجرای دستور 255 است از خارج از کامپیوتر به آن وقفه اعمال می شود. محتویات PC (256) در مکان 0 ذخیره شده و PC 1 و R 0 می شود. در ابتدای سیکل بعدی، دستوری که خوانده می شوداز مکان 1 حافظه است. دستور پرش واقع در آدرس 1 موجب می شود برنامه به روال ورودی / خروجی واقع در آدرس 1120 منتقل شود. و در انتها به مکان قبل از وقوع وقفه باز می گردد.

55 - سیکل وقفه: 𝐓 𝟎 ′ 𝐓 𝟏 ′ 𝐓 𝟐 ′ (IEN)(FGI+FGO) : R 1
فلیپ فلاپ R زمانی 1 می شود که IEN=1 و یکی از پرچم های FGI یا FGO برابر 1 باشند همچنین سیگنال های زمانی 𝑻 𝟎 و 𝑻 𝟏 ، 𝑻 𝟐 فعال نباشند. یعنی: 𝐓 𝟎 ′ 𝐓 𝟏 ′ 𝐓 𝟐 ′ (IEN)(FGI+FGO) : R 1 دنباله ریزعملیات زیر، سیکل وقفه را نشان می دهد: 𝑹𝑻 𝟎 : AR  0, TR  PC 𝑹𝑻 𝟏 : M[AR]  TR, PC  0 𝑹𝑻 𝟐 : PC  PC+1, IEN  0, R 0, SC  0 اکنون به مطالب گذشته مراجعه کرده و به طور مثال مجددا فاز های واکشی و ترجمه را اصلاح می کنیم. نکته: به جای استفاده فقط از سیگنال های 𝑻 𝟎 و 𝑻 𝟏 ، 𝑻 𝟐 این سیگنال ها را با 𝑹 ′ ، AND می کنیم. واکشی یا fetch 𝑹 ′ T0: AR PC (S0S1S2=010, T0=1) واکشی یا fetch 𝑹 ′ T1: IR  M [AR], PC  PC (S0S1S2=111, T1=1) ترجمه و دیکود کردن 𝑹 ′ T2: D0, , D7  Decode IR(12-14), AR  IR(0-11), I  IR(15)

56 تعيين نوع دستورالعمل: Start IEN  0, R 0, SC  0
(instruction cycle)=0 (interrupt cycle)=1 R RT0 𝑹 ′ T0 AR PC AR  0, TR  PC 𝑹 ′ T1 RT1 IR M[AR], PC PC + 1 M[AR]  TR, PC  0 𝑹 ′ T2 RT2 Decode Opcode in IR(12-14), PC  PC+1, IEN  0, R 0, SC  0 AR IR(0-11), I IR(15) (Register or I/O) = 1 = 0 (Memory-reference) D7 (I/O) = 1 = 0 (register) (indirect) = 1 = 0 (direct) I I T3 T3 T3 T3 Execute Execute AR M[AR] Nothing input-output register-reference instruction instruction SC SC Execute T4 memory-reference instruction SC 56

57 طراحی کامپیوتر پایه: کامپیوتر پایه دارای اجزای زیر است:
یک واحد حافظه 4096 کلمه ای و هر کلمه 16 بیت ثبات: INPR, OUTR, TR, IR, AC, DR, PC, AR و شمارنده SC هفت فلیپ فلاپ: FGO, FGI, IEN, R, E, S, I دو رمز گشا: یی رمزگشای 3 به 8 برای کد دستورات و یک رمزگشا برای عملیات زمانبندی 4 در 16 یک گذرگاه مشترک 16 بیتی گیتهای منطقی کنترلی مدار منطقی و جمع کننده متصل به ورودی AC

58 طراحی کامپیوتر پایه: - دریچه های منطقی واحد کنترل:
CONTROL LOGIC GATE سیگنال های کنترل ورودی های 9 ثبات بیت های 0 تا 11 از IR سیگنال هایی برای خواندن و نوشتن در حافظه 𝑫 𝒊 ها تولید شده توسط دیکودر سیگنال هایی برای فعال نمودن و پاک کردن یا مکمل کردن فلیپ فلاپ ها 𝑻 𝒊 ها تولید شده توسط دیکودر بیت های 15 از IR سیگنال های مربوط به 𝑺 𝟎 و 𝑺 𝟏 و 𝑺 𝟐 برای انتخاب یک ثبات برای گذرگاه و ورودی های دیگر سیگنال های کنترل ALU مربوط به AC

59 توابع کنترلی مربوط به AR
طراحی کامپیوتر پایه: دریچه های منطقی واحد کنترل: کنترل ثبات ها و حافظه: ورودی های کنترلی ثبات ها عبارتند از LD( load) و INR(increment) و CLR(clear) مثال: می خواهیم ورودی های کنترلی AR را طراحی می کنیم: در جدول ریز عملیات ها می توان جملاتی را که موجب تغییر در محتویات AR می شوند را پیدا کرد: موجب تغییر در محتویات AR 𝑹 ′ 𝑻 𝟎 : AR PC 𝑹 ′ 𝑻 𝟐 :AR  IR(0-11) D'7IT3:AR M[AR] R 𝑻 𝟎 : AR 0 𝑫 𝟓 𝑻 𝟒 : AR AR+1 توابع کنترلی مربوط به AR 𝑳𝑫 𝑨𝑹 = 𝑹 ′ 𝑻 𝟎 + 𝑹 ′ 𝑻 𝟐 +D'7IT3 CLR(AR)=R 𝑻 𝟎 INP(AR)= 𝑫 𝟓 𝑻 𝟒

60 توابع کنترلی مربوط به Read حافظه
طراحی کامپیوتر پایه: دریچه های منطقی واحد کنترل: کنترل ثبات ها و حافظه: به همین ترتیب می توان جملاتی که در سمت راست آنها عبارت M[AR]  وجود دارد را استخراج کرده و ورودی Read حافظه را طراحی کرد: توابع کنترلی مربوط به Read حافظه 𝑹𝒆𝒂𝒅= 𝑹 ′ 𝑻 𝟏 +D'7IT3+( 𝑫 𝟎 + 𝑫 𝟏 + 𝑫 𝟐 + 𝑫 𝟔 ) 𝑻 𝟒

61 طراحی کامپیوتر پایه: دریچه های منطقی واحد کنترل: کنترل فلیپ فلاپ ها:
طراحی کامپیوتر پایه: دریچه های منطقی واحد کنترل: کنترل فلیپ فلاپ ها: مثال: می خواهیم ورودی های کنترلی فلیپ فلاپ IEN را طراحی می کنیم: P= 𝑫 𝟕 𝑰 𝑻 𝟑 و 𝑩 𝟔 و 𝑩 𝟕 بیت های شماره 6 و 7 ثبات IR هستند. اگر از فلیپ فلاپ JK استفاده کنیم: موجب تغییر در محتویات IEN p 𝑩 𝟕 : IEN 1 p 𝑩 𝟔 : IEN 0 R 𝑻 𝟐 : IEN 0 (در انتهای وقفه)

62 طراحی کامپیوتر پایه: دریچه های منطقی واحد کنترل: کنترل گذرگاه مشترک:
طراحی کامپیوتر پایه: دریچه های منطقی واحد کنترل: کنترل گذرگاه مشترک: گذرگاه مشترک با 𝑺 𝟎 و 𝑺 𝟏 و 𝑺 𝟐 کنترل می شود. ثباتی که برای باس انتخاب می شود. خروجی ها ورودی ها 𝑺 𝟐 𝑺 𝟏 𝑺 𝟎 𝑿 𝟏 𝑿 𝟐 𝑿 𝟑 𝑿 𝟒 𝑿 𝟓 𝑿 𝟔 𝑿 𝟕 None 0 0 0 AR 0 0 1 PC 0 1 0 DR 0 1 1 AC 1 0 0 IR 1 0 1 TR 1 1 0 Memory 1 1 1 𝑿 𝟏 ENCODER 𝑿 𝟐 𝑺 𝟎 مالتی پلکسر انتخاب BUS 𝑿 𝟑 𝑺 𝟏 𝑿 𝟒 𝑺 𝟐 𝑿 𝟓 𝑿 𝟔 𝑿 𝟕 توابع کنترلی برای انکودر 𝐒 𝟎 = 𝑿 𝟏 + 𝑿 𝟑 + 𝑿 𝟓 + 𝑿 𝟕 𝐒 𝟏 = 𝑿 𝟐 + 𝑿 𝟑 + 𝑿 𝟔 + 𝑿 𝟕 𝐒 𝟐 = 𝑿 𝟒 + 𝑿 𝟓 + 𝑿 𝟔 + 𝑿 𝟕 در اینجا برای یافتن 𝑿 𝒊 ها باید توابع کنترلی که ثبات مربوطه را روی باس قرار می دهند را تعیین نمود.

63 طراحی کامپیوتر پایه: دریچه های منطقی واحد کنترل: کنترل گذرگاه مشترک:
طراحی کامپیوتر پایه: دریچه های منطقی واحد کنترل: کنترل گذرگاه مشترک: به طور مثال: و یا : موجب قرار دادن محتویات AR روی باس می گردد. 𝑫 𝟒 𝑻 𝟒 : PC AR 𝑫 𝟓 𝑻 𝟓 : PC AR تابع منطقی برای قرار دادن محتوی AR روی باس 𝑿 𝟏 = 𝑫 𝟒 𝑻 𝟒 + 𝑫 𝟓 𝑻 𝟓 تابع منطقی برای قرار دادن محتوی Memory روی باس 𝑿 𝟕 = 𝑹 ′ 𝑻 𝟏 + D'7IT3 +( 𝑫 𝟎 + 𝑫 𝟏 + 𝑫 𝟐 + 𝑫 𝟔 ) 𝑻 𝟒

64 طراحی کامپیوتر پایه: دریچه های منطقی واحد کنترل:
طراحی کامپیوتر پایه: دریچه های منطقی واحد کنترل: مثال: رشته اعمالی که باید توسط فلیپ فلاپ F انجام شوند با عبارت انتقال ثبات زیر نشان داده شده است: اعمال توابع فلیپ فلاپ F Set F X 𝑻 𝟑 : F 1 Clear F 𝒀 𝑻 𝟏 : F 0 Complement F 𝒁 𝑻 𝟐 : F  𝑭 Transfer G to F 𝑾 𝑻 𝟓 : F G در غیر اینصورت F نباید تغییر کند. نمودار منطقی مربوط به اتصالات گیت ها را که توابع کنترلی و ورودی فلیپ فلاپ F را تشکیل می دهند رسم نمایید. از یک فلیپ فلاپ JK استفاده نموده و تعداد گیت ها را به حداقل برسانید.

65 طراحی کامپیوتر پایه: دریچه های منطقی واحد کنترل:
طراحی کامپیوتر پایه: دریچه های منطقی واحد کنترل: مثال: مدار منطقی که عبارت انتقال ثبات زیر را پیاده سازی می نماید را بدست آورید. (نکته: این مدار برای تولید وقفه در کامپیوتر پایه مورد استفاده قرار می گیرد.) دقت کنید نیاز نیست برای K سیگنال 𝐓 𝟐 و R با هم AND شوند! چرا؟ انتقال ثبات 𝐓 𝟎 ′ 𝐓 𝟏 ′ 𝐓 𝟐 ′ (IEN) (FGI+FGO) : R 1 R 𝐓 𝟐 : R 0

66 طراحی کامپیوتر پایه: دریچه های منطقی واحد کنترل:
طراحی کامپیوتر پایه: دریچه های منطقی واحد کنترل: مثال: کامپیوتر زیر را در نظر بگیرید: زبان انتقال ثبات را در حالات زیر بنویسید: 1- کلمه حافظه موجود در AR را به ثبات R انتقال بده. 2- محتوای AC را به ثبات R انتقال بده. 3- محتوای R را در حافظه ای که AR به ان اشاره می کند بنویس. در قسمت 2 باید 𝑿 𝟑 برابر یک باشد که WRITE حافظه فعال نباشد. در قسمت 3 باید 𝑿 𝟐 برابر صفر باشد که LOAD ثبات R فعال نباشند. انتقال ثبات 𝑿 𝟏 𝑿 𝟑 : R 𝑴[𝑨𝑹] 𝑿 𝟏 𝑿 𝟐 𝑿 𝟑 : R 𝑨𝑪 𝑿 𝟏 𝑿 𝟐 𝑿 𝟑 : 𝑴[𝑨𝑹] R

67 مثال: Bus AR PC DR AC INPR IR T1 S2 T0 S1 S0 7 Address Write Read 1 2
𝐃 𝟏 𝐓 𝟒 S0 Memory unit X 1 Y مثال: M M+1 7 T0: AR PC T1: IR  M [AR], PC  PC + 1 T2: D0, , D7  Decode IR(12-14), AR  IR(0-11), I  IR(15) T3: nothing 𝐃 𝟏 T4: DR  M [AR] 𝐃 𝟏 T5: AC  AC+ DR SC 0 𝐃 𝟕 𝐈 𝐓 𝟑 IR(11):AC(0-7)  INPR AR  IR(0-11), I  IR(15 𝐃 𝟕 𝐈 ′ 𝐓 𝟑 IR(11):AC 0 M+2 Address X Write Read AR 1 LD INR CLR M PC 2 LD INR CLR DR 3 LD INR CLR 𝐃 𝟏 𝐓 𝟓 𝐃 𝟕 𝑰 E 𝐓 𝟑 ALU AC 4 𝐈𝐑(𝟏𝟏) LD INR CLR 𝐃 𝟕 𝑰 ′ 𝐓 𝟑 𝐈𝐑(𝟏𝟏) INPR IR LD INR CLR 5 CONTROL UNIT 𝐃 𝟕 𝐃 𝟏 IR(11) 𝑰 𝐓 𝟓 𝐓 𝟒 𝐓 𝟑 𝐓 𝟐 𝐓 𝟏 𝐓 𝟎 Common bus 67

68 مثال: Bus AR PC DR AC INPR IR T1 S2 T0 S1 S0 7 Address Write Read 1 2
𝐃 𝟏 𝐓 𝟒 S0 Memory unit X 1 Y مثال: M M+1 7 T0: AR PC T1: IR  M [AR], PC  PC + 1 T2: D0, , D7  Decode IR(12-14), AR  IR(0-11), I  IR(15) T3: nothing 𝐃 𝟏 T4: DR  M [AR] 𝐃 𝟏 T5: AC  AC+ DR SC 0 𝐃 𝟕 𝐈 𝐓 𝟑 IR(11):AC(0-7)  INPR AR  IR(0-11), I  IR(15 𝐃 𝟕 𝐈 ′ 𝐓 𝟑 IR(11):AC 0 M+2 Address X Write Read M AR 1 LD INR CLR M PC 2 LD INR CLR DR 3 LD INR CLR 𝐃 𝟏 𝐓 𝟓 𝐃 𝟕 𝑰 E 𝐓 𝟑 ALU AC 4 𝐈𝐑(𝟏𝟏) LD INR CLR 𝐃 𝟕 𝑰 ′ 𝐓 𝟑 𝐈𝐑(𝟏𝟏) INPR IR LD INR CLR 5 CONTROL UNIT 𝐃 𝟕 𝐃 𝟏 IR(11) 𝑰 𝐓 𝟓 𝐓 𝟒 𝐓 𝟑 𝐓 𝟐 𝐓 𝟏 𝐓 𝟎 Common bus 68

69 مثال: Bus AR PC DR AC INPR IR T1 S2 T0 S1 S0 7 Address Write Read 1 2
𝐃 𝟏 𝐓 𝟒 S0 Memory unit X 1 Y مثال: M M+1 7 T0: AR PC T1: IR  M [AR], PC  PC + 1 T2: D0, , D7  Decode IR(12-14), AR  IR(0-11), I  IR(15) T3: nothing 𝐃 𝟏 T4: DR  M [AR] 𝐃 𝟏 T5: AC  AC+ DR SC 0 𝐃 𝟕 𝐈 𝐓 𝟑 IR(11):AC(0-7)  INPR AR  IR(0-11), I  IR(15 𝐃 𝟕 𝐈 ′ 𝐓 𝟑 IR(11):AC 0 M+2 Address X Write Read M AR 1 LD INR CLR M+1 M PC 2 LD INR CLR DR 3 LD INR CLR 𝐃 𝟎 𝐓 𝟓 𝐃 𝟕 𝑰 E 𝐓 𝟑 ALU AC 4 𝐈𝐑(𝟏𝟏) LD INR CLR 𝐃 𝟕 𝑰 ′ 𝐓 𝟑 𝐈𝐑(𝟏𝟏) INPR IR X 1 LD INR CLR 5 CONTROL UNIT 𝐃 𝟕 𝐃 𝟏 IR(11) 𝑰 𝑻 𝟓 𝐓 𝟒 𝐓 𝟑 𝐓 𝟐 𝐓 𝟏 𝐓 𝟎 Common bus 69

70 مثال: Bus AR PC DR AC INPR IR T2 T1 S2 T0 S1 S0 7 Address Write Read 1
𝐃 𝟏 𝐓 𝟒 S0 Memory unit X 1 Y مثال: M M+1 7 T0: AR PC T1: IR  M [AR], PC  PC + 1 T2: D0, , D7  Decode IR(12-14), AR  IR(0-11), I  IR(15) T3: nothing 𝐃 𝟏 T4: DR  M [AR] 𝐃 𝟏 T5: AC  AC+ DR SC 0 𝐃 𝟕 𝐈 𝐓 𝟑 IR(11):AC(0-7)  INPR AR  IR(0-11), I  IR(15 𝐃 𝟕 𝐈 ′ 𝐓 𝟑 IR(11):AC 0 M+2 Address X Write Read X AR 1 LD INR CLR M+1 M PC 2 LD INR CLR DR 3 LD INR CLR 𝐃 𝟏 𝐓 𝟓 𝐃 𝟕 𝑰 E 𝐓 𝟑 ALU AC 4 𝐈𝐑(𝟏𝟏) LD INR CLR 𝐃 𝟕 𝑰 ′ 𝐓 𝟑 𝐈𝐑(𝟏𝟏) INPR IR X 1 LD INR CLR 5 T2 CONTROL UNIT 𝐃 𝟕 𝐃 𝟏 IR(11) 𝑰 𝑻 𝟓 𝐓 𝟒 𝐓 𝟑 𝐓 𝟐 𝐓 𝟏 𝐓 𝟎 Common bus 70

71 مثال: Bus AR PC DR AC INPR IR T1 S2 T0 S1 S0 7 Address Write Read 1 2
𝐃 𝟏 𝐓 𝟒 S0 Memory unit X 1 Y مثال: M M+1 7 T0: AR PC T1: IR  M [AR], PC  PC + 1 T2: D0, , D7  Decode IR(12-14), AR  IR(0-11), I  IR(15) T3: nothing 𝐃 𝟏 T4: DR  M [AR] 𝐃 𝟏 T5: AC  AC+ DR SC 0 𝐃 𝟕 𝐈 𝐓 𝟑 IR(11):AC(0-7)  INPR AR  IR(0-11), I  IR(15 𝐃 𝟕 𝐈 ′ 𝐓 𝟑 IR(11):AC 0 M+2 Address X Write Read X AR 1 LD INR CLR M+1 M PC 2 LD INR CLR DR 3 LD INR CLR 𝐃 𝟏 𝐓 𝟓 𝐃 𝟕 𝑰 E 𝐓 𝟑 ALU AC 4 𝐈𝐑(𝟏𝟏) LD INR CLR 𝐃 𝟕 𝑰 ′ 𝐓 𝟑 𝐈𝐑(𝟏𝟏) INPR IR X 1 LD INR CLR 5 CONTROL UNIT 𝐃 𝟕 𝐃 𝟏 IR(11) 𝑰 𝑻 𝟓 𝐓 𝟒 𝐓 𝟑 𝐓 𝟐 𝐓 𝟏 𝐓 𝟎 Common bus 71

72 مثال: Bus AR PC DR AC INPR IR T1 S2 T0 S1 S0 7 Address Write Read 1 2
𝐃 𝟏 𝐓 𝟒 S0 Memory unit X 1 Y مثال: M M+1 7 T0: AR PC T1: IR  M [AR], PC  PC + 1 T2: D0, , D7  Decode IR(12-14), AR  IR(0-11), I  IR(15) T3: nothing 𝐃 𝟏 T4: DR  M [AR] 𝐃 𝟏 T5: AC  AC+ DR SC 0 𝐃 𝟕 𝐈 𝐓 𝟑 IR(11):AC(0-7)  INPR AR  IR(0-11), I  IR(15 𝐃 𝟕 𝐈 ′ 𝐓 𝟑 IR(11):AC 0 M+2 Address X Write Read X AR 1 LD INR CLR M+1 M PC 2 LD INR CLR Y DR 3 LD INR CLR 𝐃 𝟏 𝐓 𝟓 𝐃 𝟕 𝑰 E 𝐓 𝟑 ALU AC 4 𝐈𝐑(𝟏𝟏) LD INR CLR 𝐃 𝟕 𝑰 ′ 𝐓 𝟑 𝐈𝐑(𝟏𝟏) INPR IR X 1 LD INR CLR 5 CONTROL UNIT 𝐃 𝟕 𝐃 𝟏 IR(11) 𝑰 𝑻 𝟓 𝐓 𝟒 𝐓 𝟑 𝐓 𝟐 𝐓 𝟏 𝐓 𝟎 Common bus 72

73 مثال: Bus AR PC DR AC INPR IR T1 S2 T0 S1 S0 7 Address Write Read 1 2
𝐃 𝟏 𝐓 𝟒 S0 Memory unit X 1 Y مثال: M M+1 7 T0: AR PC T1: IR  M [AR], PC  PC + 1 T2: D0, , D7  Decode IR(12-14), AR  IR(0-11), I  IR(15) T3: nothing 𝐃 𝟏 T4: DR  M [AR] 𝐃 𝟏 T5: AC  AC+ DR SC 0 𝐃 𝟕 𝐈 𝐓 𝟑 IR(11):AC(0-7)  INPR AR  IR(0-11), I  IR(15 𝐃 𝟕 𝐈 ′ 𝐓 𝟑 IR(11):AC 0 M+2 Address X Write Read X AR 1 LD INR CLR M+1 M PC 2 LD INR CLR Y DR 3 LD INR CLR 𝐃 𝟏 𝐓 𝟓 𝐃 𝟕 𝑰 E 𝐓 𝟑 ALU AC 4 𝐈𝐑(𝟏𝟏) LD INR CLR 𝐃 𝟕 𝑰 ′ 𝐓 𝟑 𝐈𝐑(𝟏𝟏) INPR IR X 1 LD INR CLR 5 CONTROL UNIT 𝐃 𝟕 𝐃 𝟏 IR(11) 𝑰 𝑻 𝟓 𝐓 𝟒 𝐓 𝟑 𝐓 𝟐 𝐓 𝟏 𝐓 𝟎 Common bus 73

74 مثال: Bus AR PC DR AC INPR IR T1 S2 T0 S1 S0 7 Address Write Read 1 2
𝐃 𝟏 𝐓 𝟒 S0 Memory unit X 1 Y مثال: M M+1 7 T0: AR PC T1: IR  M [AR], PC  PC + 1 T2: D0, , D7  Decode IR(12-14), AR  IR(0-11), I  IR(15) T3: nothing 𝐃 𝟏 T4: DR  M [AR] 𝐃 𝟏 T5: AC  AC+ DR SC 0 𝐃 𝟕 𝐈 𝐓 𝟑 IR(11):AC(0-7)  INPR AR  IR(0-11), I  IR(15 𝐃 𝟕 𝐈 ′ 𝐓 𝟑 IR(11):AC 0 M+2 Address X Write Read M+1 M AR 1 LD INR CLR M+1 M M PC 2 LD INR CLR Y DR 3 LD INR CLR 𝐃 𝟏 𝐓 𝟓 𝐃 𝟕 𝑰 E 𝐓 𝟑 ALU AC 4 𝐈𝐑(𝟏𝟏) LD INR CLR 𝐃 𝟕 𝑰 ′ 𝐓 𝟑 𝐈𝐑(𝟏𝟏) INPR IR X 1 LD INR CLR 5 CONTROL UNIT 𝐃 𝟕 𝐃 𝟏 IR(11) 𝑰 𝑻 𝟓 𝐓 𝟒 𝐓 𝟑 𝐓 𝟐 𝐓 𝟏 𝐓 𝟎 Common bus 74

75 مثال: Bus AR PC DR AC INPR IR T1 S2 T0 S1 S0 7 Address Write Read 1 2
𝐃 𝟏 𝐓 𝟒 S0 Memory unit X 1 Y مثال: M M+1 7 T0: AR PC T1: IR  M [AR], PC  PC + 1 T2: D0, , D7  Decode IR(12-14), AR  IR(0-11), I  IR(15) T3: nothing 𝐃 𝟏 T4: DR  M [AR] 𝐃 𝟏 T5: AC  AC+ DR SC 0 𝐃 𝟕 𝐈 𝐓 𝟑 IR(11):AC(0-7)  INPR AR  IR(0-11), I  IR(15 𝐃 𝟕 𝐈 ′ 𝐓 𝟑 IR(11):AC 0 M+2 Address X Write Read M+1 M AR 1 LD INR CLR M+2 M PC 2 LD INR CLR Y DR 3 LD INR CLR 𝐃 𝟎 𝐓 𝟓 𝐃 𝟕 𝑰 E 𝐓 𝟑 ALU AC 4 𝐈𝐑(𝟏𝟏) LD INR CLR 𝐃 𝟕 𝑰 ′ 𝐓 𝟑 𝐈𝐑(𝟏𝟏) INPR IR 1 LD INR CLR 5 CONTROL UNIT 𝐃 𝟕 𝐃 𝟏 IR(11) 𝑰 𝑻 𝟓 𝐓 𝟒 𝐓 𝟑 𝐓 𝟐 𝐓 𝟏 𝐓 𝟎 Common bus 75

76 مثال: Bus AR PC DR AC INPR IR T2 T1 S2 T0 S1 S0 7 Address Write Read 1
𝐃 𝟏 𝐓 𝟒 S0 Memory unit X 1 Y مثال: M M+1 7 T0: AR PC T1: IR  M [AR], PC  PC + 1 T2: D0, , D7  Decode IR(12-14), AR  IR(0-11), I  IR(15) T3: nothing 𝐃 𝟏 T4: DR  M [AR] 𝐃 𝟏 T5: AC  AC+ DR SC 0 𝐃 𝟕 𝐈 𝐓 𝟑 IR(11):AC(0-7)  INPR AR  IR(0-11), I  IR(15 𝐃 𝟕 𝐈 ′ 𝐓 𝟑 IR(11):AC 0 M+2 Address X Write Read 1 AR 1 LD INR CLR M+2 M PC 2 LD INR CLR Y DR 3 LD INR CLR 𝐃 𝟏 𝐓 𝟓 𝐃 𝟕 𝑰 E 𝐓 𝟑 ALU AC 4 𝐈𝐑(𝟏𝟏) LD INR CLR 𝐃 𝟕 𝑰 ′ 𝐓 𝟑 𝐈𝐑(𝟏𝟏) INPR IR 1 LD INR CLR 5 T2 CONTROL UNIT 𝐃 𝟕 𝐃 𝟏 IR(11) 𝑰 𝑻 𝟓 𝐓 𝟒 𝐓 𝟑 𝐓 𝟐 𝐓 𝟏 𝐓 𝟎 Common bus 76

77 مثال: Bus AR PC DR AC INPR IR T2 T1 S2 T0 S1 S0 7 Address Write Read 1
𝐃 𝟏 𝐓 𝟒 S0 Memory unit X 1 Y مثال: M M+1 7 T0: AR PC T1: IR  M [AR], PC  PC + 1 T2: D0, , D7  Decode IR(12-14), AR  IR(0-11), I  IR(15) T3: nothing 𝐃 𝟏 T4: DR  M [AR] 𝐃 𝟏 T5: AC  AC+ DR SC 0 𝐃 𝟕 𝐈 𝐓 𝟑 IR(11):AC(0-7)  INPR AR  IR(0-11), I  IR(15 𝐃 𝟕 𝐈 ′ 𝐓 𝟑 IR(11):AC 0 M+2 Address X Write Read 1 AR 1 LD INR CLR M+2 M PC 2 LD INR CLR Y DR 3 LD INR CLR 𝐃 𝟏 𝐓 𝟓 𝐃 𝟕 𝑰 E 𝐓 𝟑 ALU AC 4 𝐈𝐑(𝟏𝟏) LD INR CLR 𝐃 𝟕 𝑰 ′ 𝐓 𝟑 𝐈𝐑(𝟏𝟏) INPR IR 1 LD INR CLR 5 T2 CONTROL UNIT 𝐃 𝟕 𝐃 𝟏 IR(11) 𝑰 𝑻 𝟓 𝐓 𝟒 𝐓 𝟑 𝐓 𝟐 𝐓 𝟏 𝐓 𝟎 Common bus 77

78 مثال: Bus AR PC DR AC INPR IR T1 S2 T0 S1 S0 7 Address Write Read 1 2
𝐃 𝟏 𝐓 𝟒 S0 Memory unit X 1 Y مثال: M M+1 7 T0: AR PC T1: IR  M [AR], PC  PC + 1 T2: D0, , D7  Decode IR(12-14), AR  IR(0-11), I  IR(15) T3: nothing 𝐃 𝟏 T4: DR  M [AR] 𝐃 𝟏 T5: AC  AC+ DR SC 0 𝐃 𝟕 𝐈 𝐓 𝟑 IR(11):AC(0-7)  INPR AR  IR(0-11), I  IR(15 𝐃 𝟕 𝐈 ′ 𝐓 𝟑 IR(11):AC 0 M+2 Address X Write Read M+2 M AR 1 LD INR CLR M+2 M M PC 2 LD INR CLR Y DR 3 LD INR CLR 𝐃 𝟏 𝐓 𝟓 𝐃 𝟕 𝑰 E 𝐓 𝟑 ALU AC 4 𝐈𝐑(𝟏𝟏) LD INR CLR 𝐃 𝟕 𝑰 ′ 𝐓 𝟑 𝐈𝐑(𝟏𝟏) INPR IR 1 LD INR CLR 5 CONTROL UNIT 𝐃 𝟕 𝐃 𝟏 IR(11) 𝑰 𝑻 𝟓 𝐓 𝟒 𝐓 𝟑 𝐓 𝟐 𝐓 𝟏 𝐓 𝟎 Common bus 78

79 مثال: Bus AR PC DR AC INPR IR T1 S2 T0 S1 S0 7 Address Write Read 1 2
𝐃 𝟏 𝐓 𝟒 S0 Memory unit X 1 Y مثال: M M+1 7 T0: AR PC T1: IR  M [AR], PC  PC + 1 T2: D0, , D7  Decode IR(12-14), AR  IR(0-11), I  IR(15) T3: nothing 𝐃 𝟏 T4: DR  M [AR] 𝐃 𝟏 T5: AC  AC+ DR SC 0 𝐃 𝟕 𝐈 𝐓 𝟑 IR(11):AC(0-7)  INPR AR  IR(0-11), I  IR(15 𝐃 𝟕 𝐈 ′ 𝐓 𝟑 IR(11):AC 0 M+2 Address X Write Read M+2 M AR 1 LD INR CLR M+3 M PC 2 LD INR CLR Y DR 3 LD INR CLR 𝐃 𝟎 𝐓 𝟓 𝐃 𝟕 𝑰 E 𝐓 𝟑 ALU AC 4 𝐈𝐑(𝟏𝟏) LD INR CLR 𝐃 𝟕 𝑰 ′ 𝐓 𝟑 𝐈𝐑(𝟏𝟏) INPR IR 1 LD INR CLR 5 CONTROL UNIT 𝐃 𝟕 𝐃 𝟏 IR(11) 𝑰 𝑻 𝟓 𝐓 𝟒 𝐓 𝟑 𝐓 𝟐 𝐓 𝟏 𝐓 𝟎 Common bus 79

80 مثال: Bus AR PC DR AC INPR IR T2 T1 S2 T0 S1 S0 7 Address Write Read 1
𝐃 𝟏 𝐓 𝟒 S0 Memory unit X 1 Y مثال: M M+1 7 T0: AR PC T1: IR  M [AR], PC  PC + 1 T2: D0, , D7  Decode IR(12-14), AR  IR(0-11), I  IR(15) T3: nothing 𝐃 𝟏 T4: DR  M [AR] 𝐃 𝟏 T5: AC  AC+ DR SC 0 𝐃 𝟕 𝐈 𝐓 𝟑 IR(11):AC(0-7)  INPR 𝐃 𝟕 𝐈 ′ 𝐓 𝟑 IR(11):AC 0 M+2 Address X Write Read 1 AR 1 LD INR CLR M+3 M PC 2 LD INR CLR Y DR 3 LD INR CLR 𝐃 𝟏 𝐓 𝟓 𝐃 𝟕 𝑰 E 𝐓 𝟑 ALU AC 4 𝐈𝐑(𝟏𝟏) LD INR CLR 𝐃 𝟕 𝑰 ′ 𝐓 𝟑 𝐈𝐑(𝟏𝟏) INPR IR 1 LD INR CLR 5 T2 CONTROL UNIT 𝐃 𝟕 𝐃 𝟏 IR(11) 𝑰 𝑻 𝟓 𝐓 𝟒 𝐓 𝟑 𝐓 𝟐 𝐓 𝟏 𝐓 𝟎 Common bus 80

81 مثال: Bus AR PC DR AC INPR IR T2 T1 S2 T0 S1 S0 7 Address Write Read 1
𝐃 𝟏 𝐓 𝟒 S0 Memory unit X 1 Y مثال: M M+1 7 T0: AR PC T1: IR  M [AR], PC  PC + 1 T2: D0, , D7  Decode IR(12-14), AR  IR(0-11), I  IR(15) T3: nothing 𝐃 𝟏 T4: DR  M [AR] 𝐃 𝟏 T5: AC  AC+ DR SC 0 𝐃 𝟕 𝐈 𝐓 𝟑 IR(11):AC(0-7)  INPR 𝐃 𝟕 𝐈 ′ 𝐓 𝟑 IR(11):AC 0 M+2 Address X Write Read 1 AR 1 LD INR CLR M+3 M PC 2 LD INR CLR Y DR 3 LD INR CLR 𝐃 𝟏 𝐓 𝟓 𝐃 𝟕 𝑰 E 𝐓 𝟑 ALU AC 4 𝐈𝐑(𝟏𝟏) LD INR CLR 𝐃 𝟕 𝑰 ′ 𝐓 𝟑 𝐈𝐑(𝟏𝟏) INPR IR 1 LD INR CLR 5 T2 CONTROL UNIT 𝐃 𝟕 𝐃 𝟏 IR(11) 𝑰 𝑻 𝟓 𝐓 𝟒 𝐓 𝟑 𝐓 𝟐 𝐓 𝟏 𝐓 𝟎 Common bus 81


Download ppt "سازمان و طراحي کامپيوتر پايه."

Similar presentations


Ads by Google