در کل اگر بخواهیم ساختمان و معماری کامپیوتر را یک دسته بندی نماییم می توانیم به 3 شکل زیر عمل کنیم.
(http://upload.wikimedia.org/wikipedia/commons/thumb/2/21/SIMD.svg/96px-SIMD.svg.png)(http://upload.wikimedia.org/wikipedia/commons/thumb/2/21/Fivestagespipeline.png/96px-Fivestagespipeline.png)(http://upload.wikimedia.org/wikipedia/commons/thumb/6/6c/NOR_ANSI.svg/96px-NOR_ANSI.svg.png)
1-منطق دیجیتال
2-ریزمعماری
3-چند پردازی
یک سیستم دیجیتال مجمو عهای از ماژول های سخت افزاری متصل بهم است که کاری خاص را در زمینه پردازش اطلا عات انجام می دهند. سیستم های دیجیتال از اندازه و پیچیدگی از چند مدار مجتمع تا مجمو عه ای از کامپیو تر های مرتبط متغیرند. در طراحی سیستم های دیجیتال از روش ماژولی استفاده می شود. ماژول ها از اجزایی چون ثبات ها – دیکدر ها عناصر حسابی و کنترل منطقی ساخته می شوند. ماژول های مختلف با مسیر های مشترک داده و کنترل به هم پیوسته می شوند تا یک سیستم کامپیو تر دیجیتال بو جود آید.
ماژول های دیجیتال در بهترین فرم بر اساس ثبات ها و عملیاتی که روی داده ها ذخیره می شود در آنها انجام می شود تعریف می گردند. عملیاتی که روی داده های ذخیره شده در ثبات ها صورت می گیرد ریز عمل نام دارد . به بیان دیگر ریز عمل یک جز عملیاتی ست که بر روی اطلاعات ذخیره شده در یک یا چند ثبات انجام می شود . نتیجه عمل ممکن است جایگزین اطلاعات دودویی قبلی در ثبات شود و یا به ثبات دیگری انتقال یابد. مثال هایی از ریز عمل عبارتند از شیفت – شمارش – پاک کردن و بار کردن است . برخی از مو لفه های دیجیتال ثبات هایی هستند که ریز عمل را پیاده سازی می کنند . مثلا یک شمارنده با قابلیت بار دار شدن موازی می تواند ریز عمل های افزایش و بار دار شدن را اجرا کند . یک ثبات شیفت(جابه جایی) دو طرفه قادر است ریز عمل های شیفت به راست و چپ را انجام دهد .
ساختمان داخلی یک کامپیوتر دیجیتال به بهترین نحو توسط موارد زیر مشخص می شود :1-مجموعه ثبات های آن و وظابف آن
2-رشته ریز عمل های انجام شده روی اطلاعات دودویی ذخیره شده در ثبات ها
3-واحد کنترلی که موجب آغاز رشته ریز عمل ها می شود.
رشته ریز عمل ها در کامپیو تر را می توان با تشریح لفظی هر عمل مشخص کرد ولی این روش معمولا تشریحی طو لانی خواهد بود . بهتر آن
است تا روشی سمبلیک را برای تو صیف رشته انتقال ها بین ثبات ها و ریز عمل های حسابی و منطقی مختلف مر بوط به این انتقال ها مشخص کنیم . استفاده از سمبل به جای تو صیف روشی ساز مان یافته و فشرده ای را برای نشان دادن رشتهای ریز عمل ها در ثبات ها و توابع کنترلی که مو جب اجرای آنها می شود فراهم می کند.
نحوه بیان سمبلیک مورد استفاده برای انتقال های ریز عملی در بین ثبات ها زبان انتقال ثبات ها خوانده می شود. اصطلاح " انتقال ثبات ها" بیانگر وجود مدارات منطقی سخت افزاریست که می تواند یک ریز عمل بیان شده را اجرا نماید و نتیجه عمل را به همان ثبات و یا ثبات دیگر انتقال دهد . کلمه "زبان" از بر نامه نویسان اقتباس شده است که این کلمه را برای زبان های بر نامه نویسی ا به کار می برند . زبان بر نامه نویسی رو یهای برای نوشتن سمبل هایی ست که فرایند محاسباتی خاصی را مشخص می کند . به طور مشابه یک زبان طبیعی مانند انگلیسی سیستمی ست برای نوشتن سمبل ها و تر کیب آنها به صو رت کلمات و جملات برای ارتباط بین انسانها . زبان انتقال ثبات هم سیستمی ست برای بیان رشته ریز عمل ها بین ثبات های یک ماژول دیجیتال به صورت سمبلیک.
چنین زبانی ابزار مناسبی برای تو صیف فشرده و دقیق سازمان داخلی کامپیو تر های دیجیتال است . همچنین می توان از آن برای تسهیل روند طراحی دیجیتال استفاده کرد.
اعتقاد بر این است که زبان انتقال ثبات به کار رفته تا حد امکان ساده باشد بنابر این به خاطر سپردن آن طولی نخو اهد کشید . اما ورود به دنیای آن شما را با حجم عظیمی از افکار و ایده های نو روبه رو خواهد ساخت که هر یک ممکن ایت سر آغاز تحولی در هر یک از زمینه های منطق دیجیتال باشد.
واژه دیجیتال و صد ها واژه دیگر همواره ذهن بسیاری از ما را به خود مشغول می سازد که هر یک می تواند تحریکی باشد در جهت تلاشی عظیم و اتصال به دریای منطق هاو زبانها....
ریزمعماری (Microarchitecture) توصیف مدارهای الکتریکی رایانه، واحد پردازش مرکزی یا پردازنده سیگنال دیجیتال است که برای توصیف کامل سختافزار کافی میباشد.
چندپردازی در مهندسی سختافزار به بکارگیری دو یا چند واحد پردازشگر مرکزی در یک سیستم رایانهای میگویند. این واژه به توانایی یک سیستم در بکارگیری چند پردازنده و تقسیم وظایف بین آنها نیز اطلاق میشود. بسته به اینکه واحدهای پردازشگر مرکزی چگونه تعریف میشود (چند هسته روی یک قاب، چند چیپ درون یک بسته، چند بسته در یک سیستم و غیره)، تعریف واژه چندپردازی نیز میتواند تغییر کند.
این واژه گاهی به اجرای همزمان چند فرآیند نرمافزاری گفته میشود. هرچند که واژه چندعملگری در این باره مناسبتر است چرا که منحصرا در مهندسی نرمافزار کاربرد دارد در حالی که چندپردازی بیشتر درباره واحد پردازشگر مرکزی چندسختافزاره کاربرد دارد.
۱- ایده اصلی
۲- تقارن پردازش
۳ -درگیری پردازشگرها
۴ -برنامهنویسی چندتاری و سیستمهای چندپردازنده
۵ -پروتکل ارتباط بین پردازندهها
ایده اصلی ایده اصلی در پس بکارگیری چندپردازنده در یک سیستم این است که عملکرد چنین سیستمهایی در مقایسه با سیستمهای تکپرداز بسیار بیشتر است. اما این عملکرد به این سادگیها حاصل نخواهد شد و برای این منظور سیستم باید همه موارد زیر را همزمان داشته باشد
پشتیبانی مادربرد: مادربرد باید سوکتهای کافی برای تراشههای اضافه و تراشهای برای بکارگیری پردازندهها داشته باشد.
پشتیبانی پردازنده: تنها برخی از پردازندهها میتوانند در سیستمهای چندپرداز مورد استفاده قرار گیرند.
پشتیبانی سیستمعامل: سیستمعاملی که از چندپردازی پشتیبانی کند مانند ویندوز NT یا یونیکس
تقارن پردازش یکسان بودن سیپییوها و نحوه بکارگیری آنها توسط سیستمعامل تعیینکننده متقارن یا نامتقارن بودن پردازش است. مثلا دستورات هسته سیستمعامل ممکن است تنها توسط یک سیپییو اجرا شود و دستورات کاربر به نحو مشخصی بین سایر پردازندهها توزیع شود. طراحی سیستمهای چندپرداز در صورتی که چنین محدودیتهایی وجود داشته باشد سادهتر است اما عملکرد این نوع سیستمها در مقایسه با سیستمهایی که سیپییوها در آنها یکسان به کار گرفته میشود و هر سیپییو میتواند توسط هسته سیستمعامل یا برنامههای کاربردی به کار گرفته شود ضعیفتر است.
سیستمعامل سان(SunOS v۴) نامتقارن و سیستمعاملهای سولاریس و ویندوز NT متقارن هستند.
درگیری پردازشگرها سیستمهای چندپرداز سخت-درگیر دارای چند سیپییو هستند که در سطح باس (bus) به هم مربوط شدهاند.
سیستمهای چندپرداز نرم-درگیر (که معمولاً با عنوان خوشه از آنها یاد میشود) شامل چند کامپیوتر جداگانه هستند که توسط سیستمهای ارتباطی با سرعت بالا (معمولا اترنت گیگابیت Gigabit Ethernet) به هم وصل شدهاند.
برنامهنویسی چندتاری و سیستمهای چندپردازندهبرای اینکه سیستم چندپرداز بتواند به خوبی به کار گرفته شود علاوه بر موارد بالا نیاز است که نرمافزار ما برای سیستم چندپرداز بهینه شود. در چنین نرمافزاری نیاز است چند فرآیند (مثلا چند تابع از کد برنامه) همزمان اجرا شوند که به آن چندتاری میگویند. اجرای همزمان چند فرآیند به سیستمعامل اجازه میدهد تا بتواند اجرای آنها را به بیش از یک پردازنده بسپارد. اگر نرمافزار کاربردی مزبور نتواند همزمان چند فرآیند را اجرا کند نمیتواند از مزایای سیستمهای چندپرداز بهره بگیرد هرچند که با اجرای همزمان چند نرمافزار همچنان میتوانید از پردازندههای اضافی بهره بگیرید.
پروتکل ارتباط بین پردازندهها برای این که پردازندهها در یک سیستم چندپرداز با هم ارتباط داشته باشند باید از یک پروتکل استاندارد پیروی کنند. این پروتکل ارتباط بین پردازندهها با هم و با مادربرد را ممکن میسازد. اینتل پروتکل APIC را به نام خود ثبت کردهاست (ثبت اختراع) در نتیجه AMD و سایریکس (Cyrix) با اینکه میتوانند پردازندههای سازگار با اینتل بسازند، پردازندههای آنها بر روی مادربردهای اینتل کار نخواهد کرد. این یکی از دلایلی است که اینتل بازار سیستمهای چندپردازنده را در اختیار گرفتهاست.
شایان ذکر است که AMD و سایریکس از استاندارد OpenPIC استفاده میکنند.