Professional Documents
Culture Documents
Chapter 3 ORG Done by Raneen-1 PDF
Chapter 3 ORG Done by Raneen-1 PDF
COMPUTERENGINEERINGDEPARTMENT
بحكٌلً بعض البرامج من الصعب التعدٌل علٌهم وهاي البرامج تكتب على اشً ٌسمى ال.CHIP
اهم اهداف استخدام الهاردوٌر ::النه بقوم بعملٌات معقدة عن طرٌق اشارات التحكم .
وبدل ما ارجع اكتب البرنامج (التعدٌل )بامكانً ازود اشارات تحكم حتى اتحللً المشكلة .
•General purpose hardware can do different tasks, given correct control signals.
?What is a program
البرنامج عبارة عن مجموعة خطوات متسلسلة وكل خطوة هدفها اتقوم بعملٌات حسابٌة ومنطقٌة وكل خطوة
بتحتاج الشارات تحكم من البرنامج والمسؤول عن العملٌات الحسابٌة والمنطقٌة هو الALU
الً بدنا نعرفه بانه االوامر الً بالكمبٌوتر ما الها اسماء ولكن الها id:فبسمً الid:
)operation)unique
For each operation a unique code is provided
◦e.g. ADD, MOVE
•A hardware segment accepts the code and issues the control signals
Components::
2)ALU::::
عشان اطلع اي نتٌجة لعملٌات حسابٌة او اي معالجة الزم اقرا ال instructionعن طرٌق ادوات االدخال
واالخراج .
0-3_________opp code
لو كان 4 bitلل ٌ________opp codeعنً ممكن ندعم 2^4=16وهاي بحكً عنها ال maximum
number of instruction .
)-(2^15-1) to +(2^15-1
2^6*2^10=2^6Kb.
بدنا نحكً عن مرحلتٌن القراءة والتنفٌذ وشو الً بصٌر فٌهم بالزبط .
Two steps:
◦Fetch
◦Execute
شو بصٌر بعملٌة القراءة
)1نضع ال addressالً بدنا نقراها بال PCبعدها منفعل ال Readومنقرا
) كاملةinstruction مع الaddress (فٌو موجود الIR )الداتا الً قراناها منودٌها لل2
Fetch Cycle
•Program Counter (PC) holds address of next instruction to fetch
•Increment PC
◦Unless told otherwise
•Instruction loaded into Instruction Register (IR)
•Processor interprets instruction and performs required actions (to execute the instruction)
اذا ما اتحققelse منروح على الif –else بعمل قفز مثل جملة الشرطٌةcontrol unit اذا كنت بتعامل مع ال
. الشرط
هون حكٌنا االلٌة الً بتشتغل فٌها القراءة بهاي المٌموري منعٌدها للً نسً
::loads )1بتقرا الداتا من المٌموري وبتخزنها بال ٌ A[c]=x ACعنً بتقرا ال addressلل C
::::store )2اكتب البٌانات من ال ACللمٌموري [x]=AC
]Ac+=[x
النه الكمبٌوتر صعب علً ٌقرا داتا بالكلمات فبقرا ارقام مثال عنا
بعد هٌك طلع عندي ارقام ال hexaالنه صعب امثل بال binary
برنامج موجود بالمٌموري بشكل عشوائً حجزنا X,Wوكل وحدة اخدت locationال W=941 X=940
اما ال instructionهً 300,301,302
300_____Load X
301_____Add W
)1خطوة رقم 1بدي اقرا ال instructionالموجودة بالموقع بس الزم اول اشً اخزن ال addressفً
ال pc=300 pcبعدها بعمل قراءة ٌ fetchعنً بقرا load xوبودٌها على ال IRوبعدها بزٌد ال Pc
بمقدار 1وبعدها بنفذ ال instructionبروح على ال loc xوبودي الداتا على ال AC
)2بدي انفذ Instruction 2الً هً ADD Wوال PC=302وبغٌر ال Acوبحط فٌه الداتا الموجودة بال
Add
طٌب كٌف البرنامج بدو ٌخزن نتائج ال ____ ADD ,Store ,Load؟
ADD_______5941
Store __________2941
LOAD____________1941
هال بدنا نعطً مثال مهم عن ال fetch ,executeبدون وجود ال IBR /MBR/MAR
منحط قٌمة ال PCبال MARوبعدها منعمل قراءة من المٌموري والداتا الً انقرات بتروح لل MBRبعدها
ال OPP codeبتروح لل IRوال addressعلى ال MARواخر اشً منزٌد ال PC
)1اول مرحلة بتبدا من عند ال _______instruction address calculationفٌها منحط ال addressبال PC
)4بعد هٌك بحدد ال Addressالً بدي اتعامل معاه ونحطه بال MARوهاي المرحلة هً operand address
calculation
)بعدها بعمل تحلٌلadd )instruction بعدها بقرا الinstruction للaddress اول اشً بحدد ال
) وبعدها بجٌب قٌم وبجمعهم من خالل الB(ً)والثانA(ِ االولoperand بعدها بحدد...... بعدهاdecode
AC وبخزن الناتج بال.ALU
ADD(A.B)
Total time=time for address calculation +time for instruction fetch +time for
decoding +time for address calculation +operand store
ما ذكرت وقت لل calculationفبعتبره صفر وال instruction fetchهً نفسها Memory access
ٌعنً Time=2
Total time=15
فال ADD Aلحالها بتاخد معً وقت 11النها بتشمل كل الخطوات اال اخر خطوة وما قرانا اال operand
واحد فالجواب 11
هً عبارة عن الوقوف عن العمل مثال لو كنت بتدرس حد حكى معك وانت بتدرس فطبٌعً انك اتوقف بسبب
التعطٌل الً صار ولكن بوجود ال interruptانا بكمل دراسة حتى لو اجانً شغل ثانً
نحكً عن الكمبٌوتر :::اذا كان بقوم باداء معٌن واجاه امر من ال CPUبوجود ال interruptبكمل .
:::::: Interrupts
مثال صغٌر عنا الطابعة فٌها Bufferفلما ال CPUبتعطً امر للطابعة انها تطبع ال processorالخاص
بال CPUما رح ٌتعطل النه ال processorالخاص بالطابعة بقرا من ال bufferللطابعة فال CPUما رح
تتعطل
ال :::: normal sequenceانه بقرا ال instructionوبنفذهم .واذا اجى اي عمل قطع عمله بكمل من
مكان ما وصل
ال i/oبس ٌخلص عادتا بعمل interruptبقول لل CPUخلصت وبعمل تشوٌش .
أنواع لل
interrupt
ممكن ٌحصل فً البرامج عند القسمة على عدد صفر النه غٌر مسموح فبعطل العمل .
\ثانً نوع انه اشغل مجموعة processorوكل واحد ٌكون اله وقت .
Classes of interrupts:
◦Program
◦e.g. overflow, division by zero
◦Timer ― Generated by internal processor timer
◦e.g. Used in pre-emptive multi-tasking
◦I/O ― from I/O controller
◦Hardware failure
◦e.g. memory parity error
نحكً مثال سرٌع على ال interruptمثال لو كان عندي برنامج بال CPUواجى امر طباعة بانه ال CPUاتودي
الداتا لل Bufferالً للطابعة بدون ال interruptال CPUراح اضل تستنى بوجود ال interruptرح تٌجً
الطابعة اتقول لل CPUانهٌت عملً ارجعً كملً
لٌش بستعمل ال .interrupt؟؟ عشان ازٌد االداء والكفاءة من خالل انً اشغل ال CPUبالوقت الفاضً بال
instructionتانٌات .
بدنا نعرف مراحل ال I/Oمثال الطابعة ؟؟؟ بتبعت ال CPUالداتا للطابعة وما بتستنى بترجع بسرعة وبتكمل ال
instructionفالشاشة الخاصة بالطابعة بتكمل شغلها الً هو قراءة البٌانات بعدها بترو ح لل CPUبتقلها خلصت
فبروح ال CPUبعمل قراءة للحالة هل فعال خلصت Collect State
بدون ال interruptال CPUبتبعت بٌانات لل Bufferللشاشة كل I/Oالها شاشة الها processorمسؤولة عن
القراءة من ال Bufferوطباعتها لل user
ال ::: State Flagهو عبارة عن Registerبحدد اذا الطباعة نجحت او ال .
طٌب لما ٌحكً اختار رقم 4هاي اي مرحلة هاي مرحلة ال Send
collect state هاي اي مرحلة ؟هاي مرحلة ال5 ًولما ٌحك
الٌمcollect data او بتعملNext Instruction بتنفذ الCPU بتروح الinterrupt ً)اذا ما ف2
interrupt انه استجاب لل.Handling interrupt نحكً عنها
::: مثال
Interrupt Cycle
•Added to instruction cycle to check for interrupt.
◦Indicated by an interrupt signal
•If no interrupt, fetch next instruction
Connecting
•A computer consists basically of (processor, memory, I/O)
communicating with each other.
واكون عارفة الداتاaddress بالمٌموري شرط ٌكون معً الlocation عشان اكتب على
write اوread الً بدي اكتبها والزم احدد العملٌة الً بقوم فٌها
Memory Connection
•Receives and sends data
◦Write
◦Timing
على شو بعتمد عدد ال data line؟؟؟على عدد البت الً بقراها او
بكتبها بكل مرة بمر فٌها على المٌموري
مثال :::لو قرات ٌ 1 wordعنً معناها ٌ 2 byteعنً معناها قرات 2*8=18 bit
هاي بشبه سؤال كم عدد البت الالزم عشان اعطً Unique addressاو كم عدد ال
address line
2^2*2^20=2^22
2^20عشان التحوٌل
كل deviceفً الها portفلما نبعت داتا منبعتها على رقم ال portمنبعت داتا لل I/Oهل
بدي Readوال Writeواذا كان input deviceرح ٌاخد الداتا من برى واذا كان I/Oرح
ٌاخد ال addressمن ال PORT
Input/Output Connection(2)
•Receive control signals from computer
CPU Connection
•Reads instruction and data