04-18-2011، 01:22 PM
اين بخش شرح مختصری پيرامون اجزاي اصلی يک سيستم کامپيوتری (حافظه و پردازنده)می دهد، که باعث می شود کاربر درک بيشتری نسبت به مفاهيمی که در طی برنامه اسمبلی با آن ها سرو کار دارد پيدا کند.
حافظه
واحدپردازش مرکزي
يک سيستم کامپيوتری ترکيب کاملي از سخت افزار و نرم افزارهای سيستمی است که باعث می شود ماشين مفيد و وظيفه مندي برای کار معينی بشود.
اجزای اصلی سخت افزار يک ريز کامپيوتر شامل:
• پردازنده مرکزی
• حافظه
• صفحه کليد به عنوان ورودی
• صفحه نمايش به عنوان خروجی
• يک يا چند ديسک درايو برای ذخيره برنامه ها و داده ها
حافظه
حافظه مکان ذخيره برنامه ها و داده ها با امکان دسترسی مجدد به آنها است. حافظه اصلی از ديد برنامه نويس از تعدادی بيت تشکيل شده است که قادر به نگهداری صفر يا يک است. مکانيسم دسترسی به اطلاعات درون حافظه آدرس دهی است. بيت هائی که دارای آدرس يکسان هستند را سلول حافظه (cell) می نامند. هر سلول تنها می تواند شامل يک مقدارعددی باشد. طول سلول(Lc) توسط تعداد بيت های سلول مشخص می شود. در ريز کامپيوترها طول سلول هشت بيت است که به آن بايت نيز گفته می شود. خاصيت مهم سلول آدرس پذيری است، يعنی هر سلول دارای يک آدرس منحصر بفرد است. بنابراين هر بايت درحافظه نيز دارای يک آدرس منحصر بفرد است.
اغلب حافظه ها در اندازه های بزرگتراز بايت نظير کيلوبايت (1KB=210=1,024 bytes)، مگابايت (1MB=220= 1,048,576 bytes) و گيگابايت (1GB=230=1,073,741,824 bytes) بيان می شوند. يک کامپيوتر با 32 مگابايت حافظه قادر است تقريبا 32 ميليون بايت از اطلاعات را نگهداری کند.
نکته. تعداد بيت های يک کلمه بستگی به سخت افزار دارد و با Lw نشان داده می شود. همواره رابطه Lw≥Lc برقرار است. آدرس هر کلمه آدرس اولين سلول آن است.
فضای آدرسی
آدرس های حافظه از عدد صفر شروع می شوند. اگر حافظه ای دارای n سلول باشد آدرس های آن از 0 تا n-1 خواهد بود. کامپيوتری که سيستم عددی باينری را استفاده می کند برای بيان آدرس نيز همان روش را به کار می برد. تعداد بيت های آدرس تعداد سلول های قابل دسترس حافظه را نشان می دهد و ربطی به طول سلول ندارد. فضای آدرسی بيشترين ميزان حافظه است که يک پردازنده می تواند آدرس دهی کند.
اگر آدرسی m بيت طول داشته باشد بيشترين تعداد سلول های قابل آدرس دهی 2m خواهد بود.
واحد پردازش مرکزی
پردازنده يا واحد پردازش مرکزی (Central Processing Unit) يا (CPU) از واحد کنترل و واحد محاسبات و منطق ساخته شده است. وظيفه آن خواندن و نوشتن محتويات سلول حافظه، انتقال داده بين سلول های حافظه و ثبات های خاص، رمزبرداری و اجرای دستورالعمل های ذخيره شده در حافظه اصلی است.
CPU هر دستورالعمل را در يک سری مراحل اجرا می کند و برای همگام کردن سيکل اجرای دستورالعمل از يک ساعت (Clock) استفاده می کنند. ساعت در يک فرکانس ثابت پالس می زند که سرعت ساعت ناميده می شود. اين ساعت دقيقه و ثانيه را نگه نمی دارد بلکه فقط در نرخ ثابتی ضربان دارد. مدارهای الکترونيکی کامپيوتر از اين ضربان ها برای انجام صحيح عمليات خود استفاده می کنند. تعداد ضربه ها يا اصطلاحا سيکل های مورد نياز يک دستورالعمل بستگی به نسل و مدل CPU دارد.
مثال. وقتی يک کامپيوتر 1.5GHz می خريد، 1.5 GHz فرکانس اين ساعت است. يعنی در هر ثانيه 1.5 ميليارد پالس می زند (گيگاهرتز GHz يا يک ميليارد سيکل در ثانيه است).
مجموعه دستورالعمل ها
مجموعه ای از تمام دستورالعمل هائی که يک نوع پردازنده می تواند اجرا می کند مجموعه دستورالعمل (Instruction Set) ناميده می شوند که درواقع زبان ماشين آن نوع پردازنده را شکل می دهد. دستورالعمل های زبان ماشين به صورت اعداد رمز می شوند و عموما ساده هستند. زيرا زبان ماشين با اين هدف طراحی می شود که پردازنده قادر باشد مقصود دستورالعمل را سريع کشف کند تا بتواند به طور موثر آن را اجرا کند..
هر پردازنده زبان ماشين منحصر بفرد خود را دارد. و مجموعه دستورالعمل از ماشينی به ماشين ديگر متفاوت است. به همين دليل مثلا برنامه های نوشته شده برای Mac نمی توانند روی يک IBM-PC اجرا شوند. برنامه های نوشته شده در زبان های ديگر بايد توسط کامپايلر به زبان ماشين پردازنده ای که روی آن اجرا می شود تبديل شود. معمولا عملکرد کامپايلرها بر روی ماشين با دستورالعمل کمتر آسان تر است.
مجموعه ثبات ها
دستورالعمل ها ممکن است نياز به داده ای داشته باشند تا روی آن عمل کند. هر پردازنده دارای يکسری سلول های حافظه است که داده های دستورالعمل را در خود ذخيره می کنند. اين سلول ها ثبات (register) ناميده می شوند و درون خود پردازنده قرار دارند. پردازنده می تواند به داده درون ثبات سريع تر از داده درون حافظه دسترسی پيدا کند. اغلب کامپيوترها مجموعه ای از ثبات ها را برای ذخيره موقت داده دارند. البته تعداد ثبات های پردازنده اندک است، بنابراين برنامه نويس ناچار است تنها داده های جاری را در ثبات ذخيره نمايد.
انواع پردازنده ها
پردازنده ها به گروه های زير دسته بندی می شوند:
1. Complex Instruction Set Computers - CISC
• پردازنده هائی که مجموعه دستورالعمل کاملی با پشتيبانی سخت افزاری برای انواع وسيعی ازعمليات را دارند. در عمليات علمی، مهندسی و رياضی معمولا اکثر کارها را در کوتاهترين زمان انجام می دهند.
2. Reduced Instruction Set Computers - RISC
• پردازنده هائی که مجموعه دستورالعمل فشرده و کوچکی دارند. در کاربردهای تجاری و برنامه هائی که توسط کامپايلر ايجاد شده اند معمولا اکثر کارها را در کوتاهترين زمان انجام می دهند.
3. Hybrid
• پردازنده هائی که ترکيبی از روش CISC و RISC هستند و سعی دارند تعادلی بين مزايای هر دو روش برقرار کنند.
4. Special purpose
• پردازند هائی که برای وظايف خاصی بهينه شده اند. Digital signal processors و انواع co-processors نوع متعارف اين دسته هستند.
5. Hypothetical
• پردازنده هائی که هنوز وجود ندارند يا هرگز وجود نداشته اند. پردازنده هائی که در فاز طراحی هستند يا برای کارهای نظری درنظر گرفته شده اند. معروف ترين آنها MIX است که يک پردازنده فرضی آموزش ساخته شده توسط Donald E. Knuth برای ارائه الگوريتم های کامپيوتری است.
حافظه
واحدپردازش مرکزي
يک سيستم کامپيوتری ترکيب کاملي از سخت افزار و نرم افزارهای سيستمی است که باعث می شود ماشين مفيد و وظيفه مندي برای کار معينی بشود.
اجزای اصلی سخت افزار يک ريز کامپيوتر شامل:
• پردازنده مرکزی
• حافظه
• صفحه کليد به عنوان ورودی
• صفحه نمايش به عنوان خروجی
• يک يا چند ديسک درايو برای ذخيره برنامه ها و داده ها
حافظه
حافظه مکان ذخيره برنامه ها و داده ها با امکان دسترسی مجدد به آنها است. حافظه اصلی از ديد برنامه نويس از تعدادی بيت تشکيل شده است که قادر به نگهداری صفر يا يک است. مکانيسم دسترسی به اطلاعات درون حافظه آدرس دهی است. بيت هائی که دارای آدرس يکسان هستند را سلول حافظه (cell) می نامند. هر سلول تنها می تواند شامل يک مقدارعددی باشد. طول سلول(Lc) توسط تعداد بيت های سلول مشخص می شود. در ريز کامپيوترها طول سلول هشت بيت است که به آن بايت نيز گفته می شود. خاصيت مهم سلول آدرس پذيری است، يعنی هر سلول دارای يک آدرس منحصر بفرد است. بنابراين هر بايت درحافظه نيز دارای يک آدرس منحصر بفرد است.
اغلب حافظه ها در اندازه های بزرگتراز بايت نظير کيلوبايت (1KB=210=1,024 bytes)، مگابايت (1MB=220= 1,048,576 bytes) و گيگابايت (1GB=230=1,073,741,824 bytes) بيان می شوند. يک کامپيوتر با 32 مگابايت حافظه قادر است تقريبا 32 ميليون بايت از اطلاعات را نگهداری کند.
نکته. تعداد بيت های يک کلمه بستگی به سخت افزار دارد و با Lw نشان داده می شود. همواره رابطه Lw≥Lc برقرار است. آدرس هر کلمه آدرس اولين سلول آن است.
فضای آدرسی
آدرس های حافظه از عدد صفر شروع می شوند. اگر حافظه ای دارای n سلول باشد آدرس های آن از 0 تا n-1 خواهد بود. کامپيوتری که سيستم عددی باينری را استفاده می کند برای بيان آدرس نيز همان روش را به کار می برد. تعداد بيت های آدرس تعداد سلول های قابل دسترس حافظه را نشان می دهد و ربطی به طول سلول ندارد. فضای آدرسی بيشترين ميزان حافظه است که يک پردازنده می تواند آدرس دهی کند.
اگر آدرسی m بيت طول داشته باشد بيشترين تعداد سلول های قابل آدرس دهی 2m خواهد بود.
واحد پردازش مرکزی
پردازنده يا واحد پردازش مرکزی (Central Processing Unit) يا (CPU) از واحد کنترل و واحد محاسبات و منطق ساخته شده است. وظيفه آن خواندن و نوشتن محتويات سلول حافظه، انتقال داده بين سلول های حافظه و ثبات های خاص، رمزبرداری و اجرای دستورالعمل های ذخيره شده در حافظه اصلی است.
CPU هر دستورالعمل را در يک سری مراحل اجرا می کند و برای همگام کردن سيکل اجرای دستورالعمل از يک ساعت (Clock) استفاده می کنند. ساعت در يک فرکانس ثابت پالس می زند که سرعت ساعت ناميده می شود. اين ساعت دقيقه و ثانيه را نگه نمی دارد بلکه فقط در نرخ ثابتی ضربان دارد. مدارهای الکترونيکی کامپيوتر از اين ضربان ها برای انجام صحيح عمليات خود استفاده می کنند. تعداد ضربه ها يا اصطلاحا سيکل های مورد نياز يک دستورالعمل بستگی به نسل و مدل CPU دارد.
مثال. وقتی يک کامپيوتر 1.5GHz می خريد، 1.5 GHz فرکانس اين ساعت است. يعنی در هر ثانيه 1.5 ميليارد پالس می زند (گيگاهرتز GHz يا يک ميليارد سيکل در ثانيه است).
مجموعه دستورالعمل ها
مجموعه ای از تمام دستورالعمل هائی که يک نوع پردازنده می تواند اجرا می کند مجموعه دستورالعمل (Instruction Set) ناميده می شوند که درواقع زبان ماشين آن نوع پردازنده را شکل می دهد. دستورالعمل های زبان ماشين به صورت اعداد رمز می شوند و عموما ساده هستند. زيرا زبان ماشين با اين هدف طراحی می شود که پردازنده قادر باشد مقصود دستورالعمل را سريع کشف کند تا بتواند به طور موثر آن را اجرا کند..
هر پردازنده زبان ماشين منحصر بفرد خود را دارد. و مجموعه دستورالعمل از ماشينی به ماشين ديگر متفاوت است. به همين دليل مثلا برنامه های نوشته شده برای Mac نمی توانند روی يک IBM-PC اجرا شوند. برنامه های نوشته شده در زبان های ديگر بايد توسط کامپايلر به زبان ماشين پردازنده ای که روی آن اجرا می شود تبديل شود. معمولا عملکرد کامپايلرها بر روی ماشين با دستورالعمل کمتر آسان تر است.
مجموعه ثبات ها
دستورالعمل ها ممکن است نياز به داده ای داشته باشند تا روی آن عمل کند. هر پردازنده دارای يکسری سلول های حافظه است که داده های دستورالعمل را در خود ذخيره می کنند. اين سلول ها ثبات (register) ناميده می شوند و درون خود پردازنده قرار دارند. پردازنده می تواند به داده درون ثبات سريع تر از داده درون حافظه دسترسی پيدا کند. اغلب کامپيوترها مجموعه ای از ثبات ها را برای ذخيره موقت داده دارند. البته تعداد ثبات های پردازنده اندک است، بنابراين برنامه نويس ناچار است تنها داده های جاری را در ثبات ذخيره نمايد.
انواع پردازنده ها
پردازنده ها به گروه های زير دسته بندی می شوند:
1. Complex Instruction Set Computers - CISC
• پردازنده هائی که مجموعه دستورالعمل کاملی با پشتيبانی سخت افزاری برای انواع وسيعی ازعمليات را دارند. در عمليات علمی، مهندسی و رياضی معمولا اکثر کارها را در کوتاهترين زمان انجام می دهند.
2. Reduced Instruction Set Computers - RISC
• پردازنده هائی که مجموعه دستورالعمل فشرده و کوچکی دارند. در کاربردهای تجاری و برنامه هائی که توسط کامپايلر ايجاد شده اند معمولا اکثر کارها را در کوتاهترين زمان انجام می دهند.
3. Hybrid
• پردازنده هائی که ترکيبی از روش CISC و RISC هستند و سعی دارند تعادلی بين مزايای هر دو روش برقرار کنند.
4. Special purpose
• پردازند هائی که برای وظايف خاصی بهينه شده اند. Digital signal processors و انواع co-processors نوع متعارف اين دسته هستند.
5. Hypothetical
• پردازنده هائی که هنوز وجود ندارند يا هرگز وجود نداشته اند. پردازنده هائی که در فاز طراحی هستند يا برای کارهای نظری درنظر گرفته شده اند. معروف ترين آنها MIX است که يک پردازنده فرضی آموزش ساخته شده توسط Donald E. Knuth برای ارائه الگوريتم های کامپيوتری است.