سفارش تبلیغ
صبا ویژن
گنجی سودمندتر از دانش، نیست . [امام علی علیه السلام]
مقاله
درباره



مقاله



با سلام من دانشجوی رشته کامپیوتر هستم و امید وارم بتونم تو این زمینه به شما دوستان کمک کنم.
لیست یادداشت‌ها
آرشیو یادداشت‌ها


اشاره :
در این مقاله قصد داریم به ابزارها و کلاس‌هایی که در دات‌نت برای کار با XML در اختیار برنامه‌نویسان قرار داده شده، صحبت کنیم و علت پیدایش و ماهیت و ساختار آن را برای شما شرح دهیم. همچنین شما را با نحوه برنامه‌نویسی و تولید یا خواندن فایل XML در سی‌شارپ نیز آشنا خواهیم کرد. 
 


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

این مشکلات با گذشت زمان و با پیشرفت علم حل شد. حال به نظر شما برای رفع این مشکلات چه راه‌هایی اتخاذ شد؟ پاسخ فناوری XML است که با تولد خود راه جدیدی را پیش روی برنامه‌نویسان گشود.

XML چیست؟
XML استاندارد و روش ساخت‌یافته‌ای است که کنسرسیوم وب برای نگهداری اطلاعات به صورت رشته‌ای و در تگ‌ها و دسته‌بندی‌های دل‌خواه ارایه کرده است و امروزه جایگاه ویژه‌ای در دنیای برنامه‌نویسی به خود اختصاص داده است. امروزه XML از ملزومات کاری یک برنامه‌نویس به شمار می‌رود. XML نقش بسیار مهمی‌ در عصر فناوری اطلاعات ایفا می‌کند و هر روز بر طرفداران آن افزوده می‌شود.
در این مقاله قصد داریم به ابزارها و کلاس‌هایی که در دات‌نت برای کار با XML در  اختیار برنامه‌نویسان قرار داده شده، صحبت کنیم و علت پیدایش و ماهیت و ساختار آن را برای شما شرح دهیم. همچنین شما را با نحوه برنامه‌نویسی و تولید یا خواندن فایل XML در سی‌شارپ نیز آشنا خواهیم کرد.

پیدایش XML
زمانی که اینترنت هنوز یک فناوری جوان و نوپا بود و از آن برای به اشتراک گذاشتن مقالات بین شرکت‌های بزرگ استفاده می‌شد، آزمایشگاهی به نام "سرن (Cern)" در اروپا وجود داشت که در آن تحقیقات فیزیکی انجام می‌گرفت. این آزمایشگاه روزانه مقالات زیادی را از دستاورد‌های جدید خود روی اینترنت قرار می‌داد. بعد از مدتی برای بهبود مقالات و رفاه بیشتر خوانندگان، به این فکر افتادند تا مقالات را به گونه‌ای بنویسند که خواننده بتواند در مورد برخی اصطلاحات و یا اسامی ‌افراد متخصص که در مقالات وجود داشت، با کلیک روی آن کلمه به صفحه‌ای دیگر منتقل شده و در آن صفحه راجع به آن مطلب یا شخص بیشتر مطالعه کند. از این جا بود که ایده صفحات هوشمند به وجود آمد. البته قضیه به همین جا ختم نشد و آزمایشگاه مذکور تصمیم گرفت تا با تغییر در رنگ و فونت برخی از بخش‌ها، مقالات را برای خوانندگان جذاب‌تر کند. این بود که به این نتیجه رسیدند در مقالات خود علامت‌هایی قرار دهند که هر یک کار خاصی انجام می‌داد و در هنگام نمایش متن مقاله، هنگامی ‌که برنامه مرورگر به این علامت‌ها بر می‌خورد، آنها را نمایش نمی‌داد و در ازای آن تغییری در متن با توجه به ویژگی آن علامت می‌داد. بدین ترتیب علامت‌ها از دید خوانندگان پنهان بود ولی برنامه‌های مرورگر بعد از آن طوری طراحی شدند که قابلیت خواندن آن علایم را داشتند و متناسب با هر کدام فرمت متن را تغییر می‌دادند. این علامت‌ها را تگ نامیدند و تمامی ‌تگ‌ها در داخل دو علامت <> قرار می‌گرفتند.
تگ داخل خود متن و در مکان‌هایی که به آن نیاز بود، می‌آمد و هر تگ وظیفه خاصی داشت. به طور مثال تگ
باعث می‌شد تا متن بعد از آن در سطر بعدی نمایش داده شود و تگ که مهم‌ترین تگ به شمار می‌رود، باعث می‌شود تا متن بعد از آن به صورت یک HyperLink نمایش داده شود و خواننده با کلیک روی آن به بخش دیگری از صفحه و یا به صفحه دیگری هدایت شود.
تگ‌ها روی هم زبان HTML را تشکیل دادند و پیدایش این زبان از این جا بود.
با گذشت زمان و استفاده از قالب‌بندی متن‌ها کم‌ کم متخصصین امر به این نتیجه رسیدند که علاوه بر متن، داده‌ها را نیز می‌توان برای استفاده بهتر قالب‌‌بندی کرد. این بود که پای زبان‌های قالب‌بندی به دنیای داده‌ها نیز باز شد و به مرور زمان داده‌ها و اطلاعات نیز توسط تگ‌ها قالب‌بندی شدند، با این تفاوت که تگ‌ها در زبان HTML از قبل تعریف شده و مشخص بودند ولی تگ‌ها در دنیای داده‌ها نامشخص بودند و هر فرد می‌توانست داده‌های خود را بنا به سلیقه و با تگ‌هایی که خودش تعریف کرده دسته‌بندی نماید.
بدین ترتیب زبان XML که برگرفته از زبان HTML بود، متولد شد و بسیاری از مشخصات خود را نیز از آن به ارث برد. در همین زمان بود که کنسرسیومی‌ به نام "W3C" به وجود آمد و زبان HTML و XML را استانداردسازی و قوانینی را برای استفاده از آنها وضع کرد. زبان HTML نقص‌های زیادی داشت و ساختار مشخصی نداشت و با وجود آنکه زبان XML بعد از آن پدید آمده بود، بسیار پیشرفته‌تر بود. از این رو کنسرسیوم W3C که بعدها به کنسرسیوم وب معروف شد، این نقص‌ها را برطرف کرد و برخی از قوانین XML را برای زیبایی و نظم در آن گنجاند و در کل زبان جدیدی به وجود آمد که به دلیل اینکه تلفیقی از دو زبان XML و HTML بود، XHTML نام گرفت. XHTML زبانی برای قالب‌بندی متون و با مشخصات و قوانین XML بود.

برخی قوانین و اصطلاحات
همانطور که گفته شد، به علامت‌هایی که برای قالب‌بندی به وجود آمدند تگ می‌گویند که البته آنها را Node یا Element یعنی عنصر نیز می‌نامند.
تگ‌ها حتما باید دو علامت <> را در دو طرف خود داشته باشند:
. هر تگ باید یک تگ پایانی نیز داشته باشد که نشان‌دهنده پایان تگ است. به تگ آغازین "Openning Tag" و به تگ پایانی "Closing Tag" می‌گویند. تگ پایانی هم‌نام با تگ آغازی است با این تفاوت که یک علامت "/" در ابتدای خود دارد:
.
به محتویاتی که در بین تگ آغازی و تگ پایانی قرار می‌گیرد "Content" (محتوا) گفته می‌شود:


  Hf12ghk7g8


بعدها بنا به ضرورت بخش‌هایی به نام خصیصه (Attribute) به داخل بدنه تگ‌ها افزوده شد که رفتار هر تگ را توصیف می‌کرد. هر خصیصه می‌تواند یک مقدار بپذیرد و مقدار خصیصه‌ باید داخل دو علامت "" قرار بگیرد: .
هر تگ می‌تواند خود شامل چندین تگ داخلی دیگر باشد که در این حالت به تگ اصلی، تگ والد (Parent) و به تگ‌های داخل آن تگ‌های فرزند (Child) گفته می‌شود.
تمامی‌ تگ‌های یک فایل XML باید داخل یک تگ کلی به نام تگ ریشه "Root" قرار بگیرند.

مثال کاربردی از XML
برای درک بهتر چگونگی قالب‌بندی فایل‌های حاوی اطلاعات، با استفاده از فناوری XML، به یک مثال
عملی می‌پردازیم:
فرض کنید می‌خواهیم شماره تلفن دوستان خود را در یک فایل ذخیره کنیم تا در صورت لزوم شماره آنها
در دسترس باشد. بنابراین ابتدا تگ‌هایی را برای طبقه‌بندی اطلاعات خود تعریف می‌کنیم. همانطور که گفته شد تعریف تگ‌ها و نام‌گذاری آنها کاملا سلیقه‌ای است. در این مثال تگی با عنوان "" در نظر می‌گیریم که در برگیرنده اطلاعات کلیه دوستان است. داخل این تگ تگ‌هایی با نام "" قرار می‌گیرند که هر کدام از آنها مربوط به یکی از دوستان ما هستند. این تگ یک خصیصه به نام "name" دارد که نام هر شخص را مشخص می‌کند. داخل هر تگ نیز تگی به نام "" تعریف می‌کنیم که داخل آنها شماره تلفن شخص قرار داده می‌شود. بنابراین ساختار فایل ما شبیه شکل 1 خواهد شد:


شکل 1

ساختار XML
XML مخفف عبارت Markup Language Extensibale به مفهوم "زبان علامت‌گذاری قابل توسعه" است.
همانطور که از نام این فناوری پیداست، XML یک پدیده قابل بسط و بدون حد و مرز است و به همین دلیل می‌تواند باعث بروز مشکلات فراوانی شود زیرا هر شخص بنا به نظر و سلیقه شخصی خود می‌تواند تگ‌های دل‌خواه به وجود آورد و این امر باعث ایجاد هرج و مرج در دنیای XML می‌شود. به همین دلیل و برای حل این مشکل، کنسرسیوم وب قانونی وضع کرد که براساس آن هر شخص موظف است قبل از ایجاد فایل XML خود، فرمت و قالب کلی آن را توصیف کند تا برنامه براساس آن قالب بتواند روی فایل مذکور نظارت داشته باشد و قوانین کنسرسیوم وب را روی آن اعمال نماید. این توصیف در فایلی تحت عنوان فایل Definition می‌آید. کنسرسیوم وب برای این فایل‌ها نام DTD را در نظر گرفت و در آن استانداردی ایجاد شد که توسط علامت‌هایی ساختار فایل XML تعریف می‌شد. بعد‌ها با نظر اعضای کنسرسیوم شیوه تعریف به همان زبان XML تغییر یافت و استانداردی به نام(XSD (XML Schema Definition به وجود آمد که طبق آن توسط زبان XML یک فایل XML را توصیف می‌کنند (مانند شکل 1).
در استاندارد XSD تگ‌های از قبل تعریف شده‌ کنسرسیوم وب وجود دارد که توسط آنها می‌توان یک فایل XML را توصیف کرد.
برای ایجاد فایل XSD برای فایل XML راه آسان و مناسب این است که ابتدا در ویژوال استودیو به کمک Add New Item یک Xml File به پروژه اضافه کرده و کلیه تگ‌های مورد نیاز خود را در آن قرار دهیم. پس از ساختن فایل XML از منوی "Xml" در ویژوال استودیو گزینه "Create Schema" را انتخاب می‌کنیم. در این حالت ویژوال استودیو خود فایل XSD مربوط به فایل XML ما را تولید می‌کند.

اشتباه برنامه‌نویسان
باید به این نکته توجه داشت که زبان XML و فرزندان آن همانند جدشان HTML همگی نوعی زبان قالب‌بندی هستند و نمی‌توان هیچ کدام از آنها را در رده زبان‌های برنامه‌نویسی مانند جاوا، سی‌شارپ و ... قرار داد. زبان‌های برنامه‌نویسی همگی ماهیت اجرایی دارند و قابل تبدیل به کدهای سیستمی‌ و زبان قابل اجرا برای کامپیوتر هستند ولی زبان‌های نسل XML ماهیت قالب‌بندی دارند و قابل اجرا نیستند و نمی‌توان آن‌ها را با زبان‌های برنامه‌نویسی مقایسه کرد. اغلب افراد به اشتباه زبان‌های نسل XML را نیز همانند زبان‌های برنامه‌نویسی می‌دانند، حال آنکه باید بین این دو نوع زبان تفاوت قائل شد. گرچه بعدها با گنجاندن اسکریپت‌ها در HTML به آن قابلیت اجرایی نیز اضافه شد، اما باید دقت داشت در هنگام انجام یک عمل در HTML باز هم زبان برنامه‌نویسی اجرای عملیات مورد نظر را به عهده دارد نه خود HTML.
 
XML و C Sharp
حال نوبت به آن می‌رسد که به سراغ دات‌نت رفته و برنامه‌نویسی XML را در آن بیاموزیم.
همانطور که می‌دانید تمامی ‌کلاس‌ها و انواع دیگر موجود در دات‌نت برای مرتب‌سازی و دسترسی
آسان‌تر، بر حسب وظایف و کاربردشان به بخش‌هایی به نام Name Space (فضای نام) تقسیم‌بندی شده‌اند و برای هر عمل خاص باید به فضای نام مربوط به همان مراجعه کرده و از کلاس‌های موجود آن استفاده کرد.
برای کار با XML نیز در دات‌نت فضای نامی‌ با عنوان System.XML"" وجود دارد که در آن کلیه کلاس‌ها و ملزومات برای کار با XML در اختیار برنامه‌نویس قرار داده شده است.
مهم‌ترین کلاسی که در این فضای نام برای این منظور طراحی شده است، کلاس "XmlDocument" است که شامل اعضای زیادی هم برای ایجاد فایل XML و هم برای خواندن از روی فایل XML بوده و برای هر دو عمل به طور مشترک از همین کلاس استفاده می‌شود. نکته‌ای که در این جا باید به آن اشاره شود این است که دقت داشته باشید کار با XML اعم از ایجاد و یا خواندن عناصر آن همگی در دات‌نت به صورت CaseSensitive است یعنی اگر در تایپ حروف کوچک و بزرگ دقت لازم را نداشته باشید، ممکن است در اجرای برنامه به نتیجه دل‌خواه دست پیدا نکنید. بنابراین توصیه می‌شود برای جلوگیری از هرگونه اشتباه احتمالی در تمامی ‌مراحل کار، اسامی ‌عناصر XML آنها را همگی با حروف کوچک بنویسید.
برای شروع، قبل از هر چیز باید یک فایل XML را در برنامه بارگذاری کنیم تا بتوانیم از داخل آن اطلاعات را خوانده و یا روی آن بنویسیم. برای این منظور از متدی به نام "Load()" استفاده می‌کنیم که از اعضای کلاس XmlDocument است و به عنوان ورودی، آدرس فیزیکی فایل مورد نظر را گرفته و آن را برای کار باز و مهیا می‌کند. اگر بخواهیم فایل جدیدی روی ‌هارددیسک ایجاد کنیم، هم می‌توان آن را با دستورات سیستم عامل به وجود آورد و هم می‌توان توسط برنامه ایجاد کرد. توضیح روش آن به وسیله کد از حوصله این مقاله خارج است. لازم به ذکر است که فایل XML یک فایل متنی با پسوند ".xml" است. همچنین می‌توانید در ویژوال استودیو توسط پنجره "Add New Item" به پروژه خود یک "Xml File" اضافه کنید. اگر از این روش استفاده کنید، در ابتدای فایل XML ایجاد شده یک تگ عجیب و غریب وجود خواهد داشت که به آن "Meta Tag" می‌گویند و به دلیل اینکه فایل XML تولید شده توسط ویژوال استودیو از فایل XSD کنسرسیوم وب تبعیت می‌کند، این تگ به خودی خود در فایل وجود خواهد داشت.
وقتی فایل XML بارگذاری شد، توسط اعضای کلاس XmlDocument می‌توان داخل آن با فرمت XML نوشت و یا داده‌ها را از آن استخراج کرد.
در این کلاس یک خصیصه (Property) به نام "FirstChild" که یک نمونه از کلاس "XmlNode" است وجود دارد که به اولین تگ موجود در فایل و کلیه زیرشاخه‌های آن اشاره می‌کند. حال اگر فایل شما متاتگ داشته باشد، این خصیصه به آن اشاره کرده و در غیر این صورت به اولین تگ موجود اشاره خواهد داشت. همچنین خصیصه‌ای نیز با نام "LastChild" وجود دارد که به آخرین تگ فایل اشاره می‌کند. حال اگر فایل مورد نظر ما استاندارد کنسرسیوم وب را رعایت کرده باشد و شامل یک تگ ریشه باشد و متاتگ نیز داشته باشد، این خصیصه به تگ ریشه که شامل همه تگ‌های فایل است اشاره خواهد کرد.
خصیصه "ChildNodes" نیز یکی دیگر از خصیصه‌های این کلاس است که از نوع کلاس "XmlNodeList" بوده و شامل کلیه تگ‌های فرزند تگی است که به آن داده می‌شود.
کلاس "XmlElement" یک کلاس در دات‌نت است که معادل یک تگ بوده و برای دسترسی به یک تگ از این کلاس استفاده می‌شود. کلاسی نیز با نام "XmlAttribute" در دات‌نت تعریف شده که به خصیصه‌های یک تک اشاره دارد. کلاس‌های "XmlElement" و "XmlAttribute" هر دو از کلاس پایه‌ای به نام "XmlNode" ارث می‌برند. همچنین کلاس "XmlElement" اعضای زیادی برای کار با تگ‌ها دارد و از آن جمله می‌توان به خصیصه "Attributes" اشاره کرد که شامل کلیه خصیصه‌های یک تگ است.
برای ایجاد هر یک از عناصر XML از متدهای مختلفی که در کلاس "XmlDocument" تعریف شده‌اند و همگی با کلمه "Create" آغاز می‌شوند، استفاده می‌کنیم. به طور مثال برای ایجاد یک تگ از متد "CreateElement" و برای ایجاد یک خصیصه از متد "CreateAttribute" استفاده می‌نماییم.
اگر در فایل XML تغییری داده باشیم و یا محتویاتی به آن اضافه کرده باشیم، توسط متد "Save()" از کلاس "XmlDocument" می‌توانیم آن تغییرات را ذخیره کنیم.

طرح مثال
 تا این جا شما را با برخی از کلاس‌های مهم کار با XML و برخی اعضای آنها آشنا کردیم. در پایان با ذکر مثال‌هایی از موارد ذکر شده، شما را با طریقه کارکرد برخی از آنها نیز آشنا می‌کنیم.
در مثال اول، اطلاعات از یک فایل XML خوانده می‌شود که شامل یک ریشه با نام "Albums" و فرزندانی با نام "Person" است. داخل تگ‌های Person تگی با نام "Images" وجود دارد که فرزندان این تگ "Photo" نام‌گذاری شده‌اند و داخل آنها آدرس فیزیکی یک عکس روی ‌هارددیسک قرار می‌گیرد. قابل ذکر است که در این مثال کلاس‌های "Person" و "Photo" توسط برنامه‌نویس تعریف شده‌اند (شکل 2).

بزرگنمایی
شکل 2

در مثال دوم نیز در یک فایل XML تگ‌هایی به وجود می‌آوریم که برخی از آنها شامل خصیصه هستند و داخل بعضی نیز مقادیری به عنوان محتوا قرار می‌دهیم. در این مثال ساختار فایل XML همان ساختار نگهداری شماره تلفن دوستان است. مقادیر از TextBoxهایی که داخل فرم وجود دارند خوانده شده و داخل فایل قرار می‌گیرند (شکل 3).


شکل3



نوشته شده توسط 89/8/13:: 1:31 عصر     |     () نظر


اشاره :
نگاهی به QPI؛ گذرگاه جدید اینتل و مقایسه آن با FSB و HyperTrasort   ادامه مطلب...

کلمات کلیدی: گذر از FSB به QPI


نوشته شده توسط 89/8/13:: 1:0 عصر     |     () نظر



اشاره :
مقایسه چیپ‌های گرافیکی nVIDIA از Geforce8400 تا GT230

ادامه مطلب...

نوشته شده توسط 89/8/13:: 12:52 عصر     |     () نظر






چرا سرعت هارد دیسک مهم است؟
هارد دیسک از سال 1956 که توسط IBM ساخته شد، موفق به کسب مقام اول به عنوان کندترین بخش کامپیوتر گردید و سال‌هاست که به این مقام چسبیده و به نظر نمی‌آید که در آینده نزدیک خطری او را تهدید کند!
هارد دیسک به عنوان یکی از مهمترین بخش های یک کامپیوتر، هنوز به صورت مکانیکی عمل می‌کند و در کنار سایر بخش‌های الکترونیکی مثل پردازنده، مادربرد، رم، گرافیک و ... ساز مخالف می‌زند و به شدت راندمان کلی کامپیوتر را کاهش می‌دهد لذا هر راهکاری که بتواند سرعت هارددیسک را افزایش دهد، قطعاً منجر به افزایش سرعت عملکرد کلی کامپیوتر خواهد شد. یکی از راه حل‌های همیشگی، استفاده از بافر می‌باشد.
همواره این طور گفته می‌شود که بافر بزرگ‌تر باعث افزایش کارایی می‌شود، هر چند این عبارت تکراری را علاوه بر هارد‌دیسک، در مورد خیلی از سخت افزارهای دیگر هم شنیده‌ایم، مثلاً همواره ادعا می‌شود که پردازنده‌هایی با کش بزرگ‌تر و یا کارت‌های گرافیکی با حافظه Onboard بزرگ‌تر (این حافظه در یک نگاه کلی نقش بافر را ایفا می‌کند) راندمان بالاتری دارند.
برای بررسی این ادعا، لازم است که پارامترهای مهم در تعیین کارایی یک هارددیسک را به صورت کوتاه بیان کنیم تا نتایج تست‌ها ملموس تر باشند.

پارامترهای مهم در ارزیابی هارددیسک


 ظرفیت
اولین چیزی که در مورد هارددیسک مورد توجه قرار می‌گیرد، ظرفیت آن است. همیشه هاردی با ظرفیت بالاتر بهتر است.
سالیان دراز است که هاردهای با ظرفیت بیشتر ساخته می‌شوند و در ابتدا کاربران می‌گویند که این همه ظرفیت به چه درد می‌خورد؟ و بعد از مدت کوتاهی با کمبود فضای ذخیره سازی مواجه می‌شوند!
البته ابعاد یک هارددیسک نقش تعیین کننده‌ای در حداکثر ظرفیت آن می‌تواند داشته باشد که جدول 1 به خوبی این مطلب را نشان می‌دهد.


جدول 1: رابطه نسبی بین ابعاد هارددیسک و حداکثر ظرفیت آن

 اینترفیس
نوع رابط هارددیسک نقش مهمی در سرعت آن دارد. امروزه اکثر هاردها از رابط پر سرعت SATA2 با نرخ انتقال 3Gb/s استفاده می‌کنند. اینترفیس‌های قدیمی‌تر SATA (1.5 Gb/s) و PATA (1 Gb/s) می‌باشند.


جدول 2: انواع اینترفیس هارددیسک

البته مطابق جدول 2، اینترفیس‌های سریع‌تر از SATA2 هم وجود دارد، ولی به دلیل قیمت بالا فقط در سیستم‌های حرفه‌ای و یا سرورها استفاده می‌شوند.

 بافر
بافر در هارددیسک به دو منظور استفاده می‌شود. زمانیکه پردازنده دستور خواندن اطلاعات را می‌دهد، هارد اطلاعات را جستجو کرده و پس از یافتن آنها، یک نسخه از آن را در بافر قرار میدهد تا چنانچه پردازنده دوباره همان اطلاعات را درخواست کرد، سریعاً تحویل شود. البته لازم به ذکر است که این اطلاعات تا زمانی در بافر می ماند حجم بافر پر نشود چرا که در غیر این صورت اطلاعات جدید بر روی قبلی‌ها نوشته می‌شوند.
کاربرد دیگر بافر، زمانی است که حجم زیادی از اطلاعات قرار است که ذخیره شوند، در این صورت اطلاعات ابتدا به بافر منتقل میشوند و سپس هارد آنها را خوانده و با سرعت پایین ناشی از مکانیکی بودن خود، آنها را به تدریج ذخیره میک‌ند.
بنابراین به نظر میرسد که هر چه بافر بیشتر باشد، تاثیر بهتری بر راندمان سیستم (سرعت Read و Write) می‌گذارد و این همان چیزی است که در لابراتوار مورد بررسی قرار می‌گیرد.


شکل 1: بافر هارددیسک

 سرعت چرخش
هر چه سرعت چرخش دیسک‌های هارددیسک بیشتر باشد، آنها با سرعت بیشتری از زیر هد‌های خواندن و نوشتن عبور می‌کنند و در نتیجه سرعت خواندن و نوشتن اطلاعات بالاتر می‌رود. بنابراین انتخاب هاردی با دور موتور بیشتر، همیشه باعث راندمان بالاتری خواهد شد. امروزه اکثر هاردها دارای سرعت چرخش 7200 دور در دقیقه می‌باشند. البته هاردهای گران قیمت‌تری با سرعت‌های 10000، 12000 و 15000 دور در دقیقه هم وجود دارند که اغلب در سیستم‌های مورد استفاده در طراحی و انیمیشن و رندر و فایل سرورها و ... استفاده می‌شوند.

 زمان جستجو (Seek Time)
مدت زمانی است که به طور متوسط طول می‌کشد تا هد بر روی اطلاعات درخواستی قرار گیرد و آنها را بخواند و بر حسب میلی ثانیه بیان می‌شود. طبیعی است که هر چه این زمان کوتاه‌تر باشد، سرعت دسترسی به اطلاعات بالاتر می‌رود و در نتیجه راندمان کلی سیستم افزایش می یابد. البته این زمان به عوامل متعددی مثل سرعت دور موتور، الگوریتم مورد استفاده برای جستجوی اطلاعات، چگالی اطلاعات و ... بستگی دارد.

 چگالی داده‌ها (Areal Density)
حداکثر داده قابل ذخیره بر روی یک اینچ مربع از سطح دیسک را چگالی آن هارددیسک می نامند.
هر چه چگالی بیشتر باشد، سرعت خواندن و نوشتن بالاتر می‌رود. بدیهی است که در هاردهای با چگالی بالاتر، هد نیاز به حرکت کمتری برای خواندن و نوشتن اطلاعات دارد، چرا که اطلاعات به هم نزدیک‌ترند و لذا سرعت بالاتر می‌رود. واحد چگالی گیگابیت بر اینچ است. بنابراین در شرایط یکسان، هاردی که چگالی بالاتری دارد، سرعت بیشتری هم دارد.

 میزان تولید گرما و صدا
یکی از پارامترهایی که معمولاً توسط کاربران عادی مورد توجه قرار نمی‌گیرد، میزان تولید صدا و گرما توسط هارددیسک است.
بدیهی است که هارددیسک هم مثل سایر قطعات مکانیکی در کامپیوتر( مثل فن‌ها و درایوهای نوری) ایجاد صدا می‌کند، پس اگر نمی‌خواهید که ارکستر این قطعات، مخصوصاً شب‌ها موجب آزار شما شود، حتماً به پارامتر میزان تولید صدای هارد توجه کنید. واحد اندازه‌گیری آن dBA نیز می‌باشد.
در مورد تولید حرارت هم واضح است که افزایش حرارت داخل کیس، موجب کاهش راندمان کلی سیستم و از جمله خود هارددیسک می‌گردد.

هاردیسک‌های منتخب برای تست
ما برای تست از 3 هارددیسک شرکت Seagate با مشخصات زیر استفاده کردیم.

بزرگنمایی
جدول 3: مشخصات هاردیسک های مورد تست (قیمت ها مربوط به اوایل مهرماه می‌باشد.)

همانگونه که مشاهده می کنید، این 3 هارددیسک به صورت کاملاً هدف دار انتخاب گردیده اند. ما یک روش جالب و در عین حال مفید را برای تست خود انتخاب کردیم! هاردیسک 500 گیگابایت با بافر 16 مگابایت را به عنوان هارددیسک مرجع انتخاب کردیم و دو هارد دیگر را نسبت به آن سنجیدیم.
ما از این نحوه تست دو هدف عمده را دنبال می‌کنیم:

آیا برای دو هارد کاملاً یکسان، افزایش بافر موجب بهبود راندمان می‌شود؟ برای پاسخ به این سوال از هارد 500 گیگابایت با بافر 32 مگابایت استفاده کردیم.
آیا برای دو هارد کاملاً یکسان، افزایش ظرفیت موجب بهبود راندمان می‌شود؟ برای پاسخ به این سوال هم از هارد 320 گیگابایت با بافر 16 مگابایت استفاده کردیم.

شرایط تست
تمامی تست ها بر روی سیستم استاندارد تست لابراتوار ماهنامه انجام شد. مشخصات این سیستم در جدول 4 ذکر گردیده است.


جدول 4: مشخصات سیستم تست

لازم به ذکر است که همانگونه در جدول 4 مشخص است، ما از یک هارد مدل Western Digital به عنوان هارد اصلی سیستم استفاده کردیم و 3 هارد مورد تست را به عنوان هارد دوم مورد آزمایش قرار دادیم.
لیست نرم افزارهای مورد استفاده در تست و سیستم عامل‌های مورد استفاده نیز در جدول 5 مشخص شده است.


جدول 5: نرم افزارهای مورد استفاده برای تست

قبل از شروع تست، برای تسریع توضیحات از یک قرارداد استفاده می‌کنیم و آن عبارتست از اینکه هاردها را به صورت ترکیب ظرفیت و بافرشان نامگذاری می‌کنیم، مثلاً هارد "500GB-32MB" به معنی هارددیسک با ظرفیت 500 گیگابایت و بافر 32 مگابایت خواهد بود و نیز هارد "500GB-16MB" به عنوان هارد مرجع شناخته خواهد شد.

تست PCMark05
این نرم افزار را طوری تنظیم کردیم که فقط هارددیسک را مورد ارزیابی قرار دهد.


همانگونه که در شکل 2 مشخص است، هارد هم ظرفیت ولی با بافر بیشتر نسبت به هارد مرجع، دارای 9% راندمان بالاتر می‌باشد و هارد با ظرفیت پایین‌تر ولی با بافر هم اندازه نسبت به هارد مرجع دارای 17% راندمان پایین‌تر است.


شکل 2: نتایج تست PCMark05

نرم افزار PCMark05 دارای 5 نوع تست بر روی هارددیسک است که در مجموع یک امتیاز به هارد مزبور می‌دهد. در جدول 6 جزئیات این تست ها به همراه نتایج آنها ذکر شده است.

بزرگنمایی
جدول 6: جزئیات تست PCMark05

نکته جالب جدول 6 در بخش File Write است که تفاوت نتایج کاملاً مشهود است و بافر بیشتر هارد 500GB 32MB نقش بسزای خود را در عملیات نوشتن فایل‌ها به رخ می‌کشد. ضمناً چگالی پایین‌تر هارد 320GB 16MB هم تاثیر منفی خود را در عملیات نوشتن فایل نسبت به هارد مرجع نشان می‌دهد.

تست PCMark Vantage
از این نرم افزار مشهور هم در محیط ویندوز ویستا استفاده و باز مثل تست اول، تنظیمات را فقط برای تست هارد فعال کردیم.
همانطور که در شکل 3 نشان داده شده، در محیط ویندوز ویستا نتایج به هم نزدیک‌تر شده است. هارد 500GB 32MB فقط 4% از هارد مرجع بهتر بوده و هارد 320GB 16MB هم فقط حدود 1.6% با افت راندمان روبرو بوده است.


شکل 3: نتایج تست PCMark Vantage

نرم افزار PCMark Vantage  هم دارای 8 نوع تست بر روی هارددیسک می‌باشد که در مجموع یک امتیاز به هارد مزبور میدهد. در جدول 7 جزئیات این تست ها به همراه نتایج آنها ذکر شده است.

بزرگنمایی
جدول 7: جزئیات تست PCMark Vantage

همانگونه که از جدول 7 پیداست، نتایج اکثر تست‌ها بسیار به هم نزدیک می‌باشند و تنها در تست انتقال تصاویر به گالری عکس ویندوز ویستا، بافر بزرگ‌تر، قدرت نمایی می‌کند.

تست نرم‌افزار HD Tack
این نرم افزار معتبر هم در تست هارد بسیار مورد استفاده قرار می‌گیرد. یکی از نتایج جالبی که با آن بدست می آید، حداکثر سرعت خواندن اطلاعات توسط هارد می‌باشد که این پارامتر به "Burst Speed" معروف است. البته بدیهی است که این سرعت لحظه‌ای بوده و فقط در مدت زمان کوتاهی به آن می‌رسیم.


شکل 4: نتایج تست نرم‌افزار HD Tack

این تست( شکل 4) به خوبی نشان می‌دهد که برای رسیدن به حداکثر نرخ میزان خواندن اطلاعات از روی هارددیسک، باید در درجه اول به چگالی هارد توجه کرد و نه به بافر آن، کما اینکه هاردهای با چگالی بیشتر (500GB) نرخ بالاتری دارند و البته در شرایط برابر، بافر هم بی‌تاثیر نیست.

تست نرم‌افزار HD Tune
کمتر کسی است سراغ نرم‌افزارهای تست هاردیسک رفته و به این نرم افزار بر نخورده باشد. نرم افزاری بسیار معتبر که بسیاری از سایت‌های معروف، نتایج آن را مبنای تست های خود قرار داده اند.
ما نیز چندین تست جالب با آن انجام دادیم که نتایجش را به صورت نمودار در شکل‌های 5 و 6 نمایش می‌دهیم.


شکل 5


شکل 6

همانطور که از نمودارها پیداست، هارد با بافر بزرگ‌تر یعنی 500GB-32MB دارای متوسط سرعت خواندن و نوشتن به مراتب بالاتری نسبت به هاردهای با بافر کوچک‌تر می‌باشد، چنانکه 36% در خواندن و 33% در نوشتن نسبت به هارد مرجع بهتر عمل می‌کند و این به آن معنی است که هارد با بافر 32MB حدود 30%  راندمان بالاتری نسبت به همان هارد با بافر 16MB دارد که تفاوت معنی داری است.
در ادامه برای روشن شدن بیشتر موضوع، عملیات خواندن و نوشتن را با فایل‌هایی با اندازه های متفاوت (8MB, 16MB, 32MB, 512MB) تست کردیم( شکل‌های 7 تا 10 ). دلیل انتخاب این اندازه ها هم بدین صورت است که فایل‌های کوچک‌تر می‌توانند در بافر ذخیره شوند و در واقع با تست خواندن و نوشتن آنها، بافر هارد تست می‌شود و فایل‌های بزرگ‌تر هم که در بافر جا نمی‌شوند، موجب تست خود هارد و سرعت دسترسی آن می‌شوند.
(البته فقط نتایج دو نمونه از فایل‌ها در اینجا آورده شده است و برای دیدن کلیه نتایج می‌توانید به سایت لابراتوار ماهنامه به آدرس
www.CNReview.ir مراجعه کنید.)


شکل 7

شکل 8

شکل 9

شکل 10

نمودارها به خوبی بیانگر نقش بافر می‌باشند. هارد با بافر بزرگتر هم در فایل‌های کوچک و هم در فایل‌های بزرگ، عملکرد بهتری نسبت به هاردهای با بافر کوچکتر دارد. توضیح آنکه این چهار نمودار، هر کدام عملیات خواندن یا نوشتن یک فایل نمونه را در بلاک‌هایی از هارد با ظرفیت‌های متفاوت (از 0.5KB تا 8MB) انجام می‌دهند.

نتیجه گیری
 هر چه بافر بیشتر، عملکرد هارد بهتر!
کلیه تست‌ها نشان دادند که بین دو هارد هم ظرفیت (البته با فناوری یکسان) آنکه بافر بزرگتری دارد، قطعاً بهتر است.
 بین هاردهایی که دارای فناوری یکسانی هستند و اندازه بافرشان هم برابر است، هاردی را انتخاب کنید که ظرفیت بالاتری دارد، چرا که اولاً حجم بیشتری را در اختیار شما می‌گذارد و ثانیاً به دلیل چگالی بالاتر، نرخ انتقال بالاتری را به ارمغان می آورد.

 و اما نکته مبهم!
با اینکه مسلم است که هارد 500GB-32MB بسیار بهتر از هارد 500GB-16MB است و اختلاف قیمت آنها هم بسیار ناچیز است (تقریباً هم قیمت می‌باشند)، چه دلیلی می‌تواند وجود داشته باشد که باز هم هاردهای 500GB-16MB تولید شوند؟ و از آن عجیب‌تر آنکه با دانستن مطالب بالا، چه دلیلی دارد که کاربری اقدام به خرید اینگونه هارددیسک‌ها نماید؟



نوشته شده توسط 89/8/13:: 12:47 عصر     |     () نظر
 


اشاره :
با گسترش روزافزون استفاده از کامپیوتر برای کار‌های تحقیقاتی در دانشگاه‌ها، مراکز تحقیقاتی و شرکت‌های تجاری, نیاز به پردازش سریع‌تر افزایش یافته و به یک نیاز اساسی تبدیل ‌شده است. امروزه پردازش موازی نقش بسیار جدی در مرتفع‌‌سازی این نیاز ایفا می‌کند.


مقدمه
سرعت کامپیوترهای شخصی کنونی نسبت به اجداد خود  به طور سرسام‌آوری افزایش یافته است اما حتی این سرعت نجومی نیز در اجرای برخی از برنامه‌های پیشرفته، کند است. از جمله عرصه‌هایی که احتیاج به کامپیوترهایی با سرعت پردازش بسیار بالا دارند می‌توان به برنامه‌های شبیه‌سازی در تحقیقات هسته‌ای، نانو فناوری محاسباتی، برنامه‌های پیش‌بینی وضعیت هوا، برنامه‌های فیلم‌سازی کامپیوتری، برنامه‌های ساخت انیمیشن حرفه‌ای و بسیاری از زمینه‌های مختلف دیگر را نام برد که همگی به سرعت پردازش بسیار زیاد نیاز دارند تا در یک زمان مناسب به نتیجه برسند.
یک راه حل برای این معضل، استفاده از سوپرکامپیوترها است. درست است که سرعت پردازش‌ سوپرکامپیوترها بسیار بالاتر از کامپیوترهای شخصی است اما استفاده از آنها در در همه موارد مقرون به صرفه نیست؛ ضمن آنکه این فناوری در انحصار بعضی از کشورهای توسعه‌یافته است و سایر کشورها از دسترسی به این تجهیزات استراتژیک محروم هستند.
راه حل دیگر در دستیابی به سرعت پردازش بسیار بالا استفاده از روش پردازش موازی است. به بیان ساده در این روش چند پردازنده معمولی با همکاری یکدیگر به اجرای یک برنامه می‌پردازند که طی این همکاری, برنامه با سرعت بالاتری اجرا می‌شود.

کاربردهای پردازش موازی
همانطور که اشاره شد از پردازش موازی در جهت افزایش قدرت کامپیوترها استفاده می‌شود. اما اصلی‌ترین استفاده از آن در حل مسایل و مدل‌های علمی و مهندسی است (شکل 1). از جمله این حوزه‌ها می‌توان به موارد زیر اشاره کرد:
 فیزیک کاربردی, هسته‌ای, ذرات بنیادی, ماده چگال, فشارهای بالا, گداخت هسته‌ای, فوتونیک و نانو
 اتمسفر, زمین و محیط زیست
 فناوری زیستی و ژنتیک
 زمین‌شناسی و زلزله‌شناسی
 مهندسی مکانیک؛ از اندام مصنوعی تا مصنوعات فضایی
 مهندسی الکترونیک؛ طراحی مدار, میکروالکترونیک
 علوم کامپیوتر و ریاضی


شکل1: این شکل تصاویری از داده‌های محاسباتی در رشته‌های مختلف را نمایش می‌دهد.

اما امروزه نه تنها حل مسایل علمی احتیاج به پردازش موازی دارد بلکه برخی از نرم‌افزارهای تجاری نیز به کامپیوترهای سریع نیاز دارند. بسیاری از این برنامه‌ها احتیاج به پردازش حجم زیادی از داده به شکل بسیار پیچیده دارند. از جمله این برنامه‌ها می‌توان به موارد زیر اشاره کرد:
  پایگاه‌های عظیم داده و عملیات داده کاوی (Data Mining)
  اکتشاف نفت
  موتورهای جستجوی وب, سرویس‌های تجاری تحت وب
  تصویربرداری و تشخیص پزشکی (شکل 2)
  طراحی و شبیه‌سازی دارو
  مدیریت شرکت‌های ملی و چند ملیتی
  مدل‌سازی مالی و اقتصادی
  واقعیت مجازی و گرافیک پیشرفته به خصوص در صنعت سرگرمی
  فناوری چند رسانه‌ای و شبکه‌ ویدیویی


شکل 2: تصاویر ایجاد شده توسط نرم‌افزارهای تجاری

محاسبه موازی
محاسبه موازی به معنای اجرای همزمان قسمت‌های مختلف یک برنامه در چند پردازنده به منظور حصول سریع‌تر نتایج است. در شکل‌های 3 و 4 تفاوت کلی پردازش ترتیبی با پردازش موازی مشخص شده است.


شکل 3: در پردازش ترتیبی دستورات به ترتیب در پردازنده اجرا می‌شوند و سرعت اجرا برابر با سرعت پردازنده است.


شکل 4: در پردازش موازی دستورات در چند پردازنده اجرا می‌شوند ولی سرعت اجرا الزاماً برابر با تعداد پردازنده‌ها ضربدر سرعت یک پردازنده نیست.

محاسبه موازی در بخش‌های مختلف کامپیوتر اعم از سخت‌افزار و نرم‌افزار شکل می‌گیرد، بنابراین برای بررسی کلیات محاسبه موازی ‌باید به جنبه‌های مختلف سخت‌افزاری و نرم‌افزاری آن پرداخت. در این جا سعی می‌کنیم به معرفی بعضی از این جنبه‌های درگیر در مبحث موازی‌سازی بپردازیم.

1ـ سیستم‌های محاسبه‌ موازی
قبل از معرفی معماری کامپیوتر موازی به معرفی معماری کامپیوترهای معمولی با نام معماری "فون نیومن" می‌پردازیم. نام این معماری برگرفته از اسم ریاضیدان مجارستانی است که در سال 1945 الزامات یک کامپیوتر را معرفی کرد. از آن زمان تاکنون همه کامپیوترها از این طرح اولیه استفاده می‌کنند. این طرح حاوی چهار واحد اصلی است که عبارتند از: حافظه, کنترل, محاسبه و منطق، و ورودی/خروجی. این عوامل در شکل 5 مشخص شده‌اند.


شکل 5: طرح ابتدایی کامپیوترهای ترتیبی

در این معماری، واحد حافظه که از نوع دسترسی تصادفی با قابلیت خواندن و نوشتن است برای ذخیره دستورات و داده‌ها استفاده می‌شود. واحد کنترل دستورات را از حافظه واکشی کرده و  به طور ترتیبی عملیات را اجرا می‌کند. واحد محاسبه و منطق، عملیات محاسباتی را اجرا می‌کند.

علی‌رغم وجود یک طرح ساده برای معماری اولیه کامپیوترهای ترتیبی, در مبحث کامپیوترهای موازی طرح‌های مختلفی وجود دارد. یکی از معروف‌ترین تقسیم‌بندی‌ها در این زمینه, طبقه‌بندی Flynn است.
کامپیوترهای معمولی حاوی یک پردازنده هستند. در حالی که یکی از روش‌های محاسباتی، استفاده از چند پردازنده در یک کامپیوتر است. طبقه‌بندی Flynn مربوط به بکارگیری یک یا چند پردازنده در یک کامپیوتر و نحوه بکارگیری آنها در پردازش داده‌هاست.
طبقه‌بندی Flynn ناظر بر معماری کامپیوترهای حاوی یک و چند پردازنده است و آنها را بر اساس نحوه تعاملشان با دو بعد دستور (Instruction) و داده (Data) از هم متمایز می‌کند. هر یک از این دو بعد می‌تواند فقط یکی از دو حالت ممکن تک (Single) و چند (Multiple) را داشته باشد. ترکیبات این چهار حالت در جدول 1 مشخص است.


جدول1: چهار حالت طرح طبقه‌بندی Flynn

تک دستور, تک داده (SSID)
این معماری برای یک کامپیوتر ترتیبی (غیر موازی) است. در این روش تنها یک جریان دستوری توسط یک پردازنده در طول هر پالس ساعت مورد عمل واقع می‌شود و همینطور یک جریان داده در طول پالس ساعت مورد استفاده قرار می‌گیرد. در این روش دستورها  به طور قطعی انجام می‌شوند و وابسته به عمل پردازنده دیگر نیستند. این روش قدیمی و امروزی بیشتر کامپیوترها، از سیستم‌های Mainframe قدیمی گرفته تا PC امروزی است.
در شکل 6 به ترتیب اجرای یک دستور بر روی یک داده در هر مقطع زمانی نمایش داده شده است.


شکل 6: ترتیب اجرای دستورات در گذر زمان

تک دستور, چند داده (SIMD)
این طرح, یکی از انواع کامپیوترهای موازی است. در این روش همه واحدهای پردازش یک دستور مشترک را در طول هر پالس ساعت اجرا می‌کنند. اما هر واحد پردازش می‌تواند روی چند عنصر داده مختلف عمل کند (شکل 7). این روش برای حل مسایل خاص که از داده‌هایی با الگوی ثابت پیروی می‌کنند, مناسب است. از جمله این مسایل می‌توان به پردازش تصویر اشاره کرد. در این روش اجرای دستورات همگام و قطعی است.


شکل 7: اجرای یک دستور بر روی چند داده در هر مقطع زمانی

طرح SIMD دارای دو گونه معماری است که عبارتند از آرایه‌ای از پردازنده
 (Processor Arrays) و خط‌لوله‌های برداری (Vector Pipelines).
از نوع اول می‌توان کامپیوترهای CM-2, MasPar MP-1, MasPar MP-2 و ILLIAC IV (شکل 8) را نام برد در حالی که از نوع دوم می‌توان به کامپیوترهای
 IBM 9000, Cray X-MP, Cray Y-MP, Fujitsu VP, NEC SX-2 و Hitachi S820 اشاره کرد.


شکل 8: نمایی از کامپیوتر ILLIAC IV

واحدهای پردازش گرافیک امروزی یا همان GPUها نیز از واحد اجرای دستورات SIMD بهره می‌برند.

چند دستور, تک داده (MISD)
در این طرح موازی، یک جریان داده به چند واحد پردازش داده، ارسال می‌شود. هر واحد پردازش  به طور مستقل با جریان‌های دستور مستقل روی داده‌ها عمل می‌کند (شکل9). تا کنون تعداد معدودی کامپیوتر موازی با این روش ساخته شده است که از جمله می‌توان به کامپیوتر C.mmp کارنگی ملون اشاره کرد. از جمله کاربردهایی که برای این روش می‌توان مثال زد یکی، اعمال چند فیلتر فرکانسی روی یک جریان سیگنال و دیگری، اعمال چند الگوریتم رمزگذاری در باز کردن یک پیغام کد شده است. در هر دو مثال چند جریان دستوری روی یک جریان داده عمل می‌کنند.


شکل 9: اجرای چند دستور بر روی یک داده در مقاطع زمانی مختلف

چند دستور, چند داده (MIMD)
این روش معمول‌ترین طرح کامپیوتر موازی است و کامپیوترهای مدرن به سمت این معماری حرکت می‌کنند.
در این طرح هر پردازنده امکان اجرای چند جریان دستوری جداگانه را دارد و این دستورات روی چند جریان داده مختلف اعمال می‌شود (شکل 10). در این طرح, عملیات اجرا می‌تواند همگام یا نا همگام و قطعی یا غیر قطعی باشد. سوپرکامپیوترهای امروزی, کامپیوترهای موازی خوشه‌ای (Cluster), کامپیوترهای چند پردازنده SMP و PCهای چند هسته‌ای امروزی از این معماری استفاده می‌کنند. البته بیشتر کامپیوترهای با معماری MIMD از زیر مؤلفه‌های اجرایی SIMD بهره می‌برند.


شکل 10: اجرای چند دستور بر روی چند داده در مقاطع زمانی مختلف

سیستم‌های چند پردازنده به دو دسته‌ دیگر نیز تقسیم می‌شوند،  به طوریکه اگر همه‌ پردازنده‌ها  به طور یکسان بتوانند تمام دستورات سیستم عامل (مثلاً دستورات ورودی/خروجی) را اجرا کنند به آن "سیستم چند پردازنده‌ متقارن" و اگر بعضی از پردازنده‌ها دارای امتیاز بیشتر یا کمتر نسبت به سایرین باشند به آن "سیستم چند پردازنده‌ نامتقارن" گفته می‌شود.

2ـ کارآیی نسبت به هزینه
یک سیستم موازی با n پردازنده معمولی کارایی کمتری نسبت به یک پردازنده با سرعت n برابر دارد اما ساخت سیستم موازی دارای قیمت نازلی است  به طوری که در سال‌های اخیر، بسیاری از سوپرکامپیوترها بر پایه‌ معماری موازی ساخته شده‌اند.
برای برنامه‌هایی که هم محاسبات فراوانی دارند و هم دارای محدودیت زمانی جهت اجرا هستند و خصوصاً می‌توان آنها را به n رشته (Thread) اجرایی تقسیم کرد، محاسبه‌ موازی بهترین راه حل است.
برای درک بهتر مفهوم رشته (Thread)، فرض کنید شما در حال شنیدن موسیقی از کامپیوتر، متنی را تایپ می‌کنید و در حال دانلود کردن یک فایل نیز هستید. برای انجام همزمان این سه وظیفه، سیستم عامل آنها را به تکه‌های کوچک چند میلی ثانیه‌ای تقسیم می‌کند که در هر لحظه پردازنده یکی از این تکه‌ها را اجرا می‌کند در این حالت به هر وظیفه یک رشته گفته می‌شود.
موضوع کارآیی نسبت به هزینه، ناظر بر اندازه‌گیری اثربخشی پردازش موازی با چند پردازنده نسبت به استفاده از یک پردازنده ترتیبی است.

3ـ الگوریتم‌ها
نباید تصور شود که محاسبه‌ موازی تنها محتاج به فراهم کردن سخت‌افزار مورد نیاز و اتصال درست آنهاست. دشواری کار مشترک در جمله‌ی زیر نهفته است:
اگر حفر یک چاه توسط یک نفر در یک ساعت انجام شود آیا واقعاً شصت نفر می‌توانند چاه را در یک دقیقه حفر کنند؟
در عمل، دستیابی به افزایش خطی سرعت (افزایش سرعت متناسب با تعداد پردازنده‌ها) بسیار مشکل است. این مشکل ناشی از طبیعت ترتیبی بسیاری از الگوریتم‌ها است  به طوریکه قسمت‌هایی از یک الگوریتم قابل موازی‌سازی و قسمت‌هایی غیر قابل موازی‌سازی است.
به قانون Amdahl که به بیان این مطلب می‌پردازد توجه کنید:
فرض کنید که F=10% از یک الگوریتم قابلیت موازی‌سازی ندارد اما بقیه الگوریتم  به طور موازی توسط N=20 پردازنده اجرا می‌شود. در این حالت سرعت اجرای برنامه (نسبت به زمانی که تنها روی یک پردازنده اجرا شود) 20 برابر نمی‌شود بلکه مطابق شکل 11 با ضریب افزایش می‌یابد:


شکل 11

بسیاری از الگوریتم‌ها به منظور استفاده از سخت‌افزار موازی ‌باید دوباره طراحی شوند. برنامه‌هایی که در یک سیستم با پردازنده تکی درست کار می‌کنند ممکن است در یک محیط موازی هرگز کار نکنند. این بدان علت است که چند کپی از یک برنامه ممکن است با یکدیگر تداخل کنند ( به طور نمونه تداخل در دسترسی همزمان به یک محل از حافظه). بنابراین نیاز اصلی یک سیستم موازی، برنامه‌نویسی دقیق مختص به خود است.
یکی از مسایل بحث برانگیز در زمینه پردازش موازی، افزایش سرعت فوق خطی
 (Super Linear Speedup) است. افزایش "سرعت فوق خطی" برای مبتدیان یک مسئله گیج کننده است. چگونه ممکن است که یک سیستم n پردازنده‌ای بتواند با سرعتی بیش از n برابر یک سیستم تک پردازنده‌ای به اجرای وظایف بپردازد. به عبارت ساده‌تر آیا ممکن است که یک سیستم دو پردازنده‌ای بتواند مثلاً با سرعت 2.5 برابر سیستم تک پردازنده‌ای عمل کند؟
سرعت فوق خطی در عمل محال نیست و امکان رخ دادن آن وجود دارد هر چند که احتمال رسیدن به سرعت فوق خطی پایین است. دلیل اصلی رسیدن به چنین سرعتی وجود حافظه کش در هر پردازنده است. حافظه‌های کش باعث افزایش سرعت پردازنده در دسترسی به داده‌ها می‌شوند بنابراین، وقتی تعداد پردازنده‌ها افزایش می‌یابد به همان نسبت حافظه کش سیستم افزایش می‌یابد و این نیز باعث افزایش سرعت سیستم با نسبتی بیش از تعداد پردازنده‌ها می‌شود. به هر حال نحوه‌ تقسیم‌بندی برنامه جهت بکارگیری پردازنده‌ها در اجرای برنامه، عامل تعیین کننده در سرعت اجرای برنامه است.

4ـ ارتباط درون رشته‌ای
کامپیوترهای موازی  به طور نظری، بصورت ماشین‌های دسترسی تصادفی موازی
 (PRAMs) مدل شده‌اند. اگر چه مدل PRAM از نحوه اتصال داخلی بین واحدهای محاسباتی صحبت نمی‌کند اما با این وجود برای تعیین حد بالای موازی‌سازی یک مسئله مفید است. در حقیقت اتصال داخلی بین پردازنده‌ها نقش مهمی را بازی می‌کند.
پردازنده‌ها را می‌توان با هم مرتبط کرده،  به طوریکه بصورت تعاونی در حل یک مسئله بکار گرفته شوند و یا می‌توان هر یک را  به طور مستقل بکار گرفت به نحوی که یک پردازنده خاص قسمت‌های مختلف یک مسئله را بین دیگر پردازنده‌ها توزیع کرده و در آخر نتایج را جمع‌آوری کند که به این حالت اخیر Processor Farm (مزرعه پردازنده‌ها  ) گفته می‌شود.
به هر حال، طرق مختلفی جهت ارتباط پردازنده‌ها با یکدیگر وجود دارد مانند حافظه‌ اشتراکی (Shared memory)، هم‌عرض (Crossbar)، گذرگاه اشتراکی (Shared Bus) و شبکه‌ای (Network)  به طوریکه در حالت شبکه‌ای نیز بیشمار همبندی مثل ستاره‌ای، حلقه‌ای، درختی، ابر مکعبی و انواع بسیار دیگر وجود دارد.
روش‌های دسترسی به پردازش موازی می‌تواند به روش‌های مختلف صورت می‌گیرد که در این جا چند مورد را نام می‌بریم:
چند پردازندگی (Multiprocessing)
خوشه‌ای از کامپیوتر ‍(Computer cluster)
سوپرکامپیوترهای موازی (Parallel supercomputers)
محاسبات توزیع شده (Distributed computing)

5ـ نرم‌افزار موازی
تعداد بسیاری از سیستم‌های نرم‌افزاری جهت برنامه‌نویسی کامپیوترهای موازی طراحی شده‌اند. این سیستم‌ها هم در سطح سیستم عامل و هم در سطح زبان‌های برنامه نویسی وجود دارند. آن‌ها باید ساز و کاری جهت تقسیم یک مسئله به چند وظیفه‌ و تخصیص این وظایف به پردازنده‌ها داشته باشند. چنین ساز و کارهایی می‌تواند شامل موازی‌سازی ضمنی و یا موازی‌سازی صریح باشد.
در روش موازی‌سازی ضمنی، سیستم (که می‌تواند کامپایلر یا برنامه‌های دیگر باشد)  به طور خودکار مسئله را به چند وظیفه تقسیم کرده و هر یک را به پردازنده‌ای اختصاص می‌دهد اما در روش موازی‌سازی صریح، برنامه‌نویس شخصاً مسئله را به چند وظیفه تفکیک و هر یک را به پردازنده‌ای ارجاع می‌دهد.
به تقسیم عادلانه محاسبات بر روی همه پردازنده‌ها، عمل موازنه بار گفته می‌شود. عمل موازنه‌ بار (Load balancing) نیز کمک می‌کند تا از همه‌ پردازنده‌ها  به طور یکنواخت استفاده شود. در این روش وظایف از پردازنده‌هایی که بار بیشتری دارند به پردازنده‌های با بار کمتر انتقال داده می‌شود.
ارتباط بین وظایف, معمولاً توسط ارتباط رشته‌ها از طریق حافظه اشتراکی یا انتقال پیغام انجام می‌شود  به طوریکه هر یک در شرایطی بکار گرفته می‌شود.

6ـ مدل‌های برنامه‌نویسی موازی
یک مدل برنامه‌نویسی موازی مجموعه‌ای از فناوری‌های نرم‌افزاری است که برای بیان الگوریتم‌های موازی و تطابق برنامه‌ها با سیستم‌های موازی بکار می‌رود. این مدل همان نحوه‌ استفاده از برنامه‌ها،‌ زبان‌ها،‌ کامپایلرها، کتابخانه‌ها،‌ سیستم‌های ارتباطی و ورودی/خروجی موازی است. دانشمندان برای توسعه‌ برنامه‌های موازی خود، یک مدل برنامه‌نویسی موازی را انتخاب می‌کنند. مدل‌های موازی با روش‌های گوناگونی بکار گرفته می‌شود مثل ضمیمه شدن یک کتابخانه‌ حاوی دستورات موازی‌سازی به زبان‌های برنامه نویسی معمول و یا توسعه زبان برنامه نویسی یا تکمیل مدل‌های اجرایی جدید.

سخن پایانی
در این مقاله سعی در معرفی پردازش موازی و بیان تعاریف ابتدایی آن شد. همینطور اهم کاربردهای آن برشمرده شد. امروزه مبحث پردازش موازی یکی از پرطرفدارترین مباحث در شاخه‌های مختلف علمی است که نیاز روز افزون در دستیابی به آن احساس می‌شود.



نوشته شده توسط 89/8/13:: 12:41 عصر     |     () نظر

 

اشاره :
محبوبیت بازی‌های کامپیوتری در بین نوجوانان و جوانان در کشور‌های توسعه یافته و همینطور در حال توسعه روز به روز در حال افزایش است.


مقدمه
در بین کنسول‌های مختلف بازی‌، شمار زیادی از افراد، از کامپیوترهای شخصی برای این منظور استفاده می‌کنند. چنین کامپیوتر‌هایی برای اجرای بازی‌های کامپیوتری مدرن در بهترین حالت، باید دارای  پردازنده‌های قدرتمند،حافظه اصلی با سرعت و حجم مناسب و از همه مهم تر کارت گرافیک به روز و سریع باشند.
آمار و تجربه در بین فروشندگان قطعات سخت افزاری کامپیوترهای شخصی، نشان می‌دهد بیشتر افرادی که از کامپیوترهای شخصی خود برای اجرای بازی‌های کامپیوتری نیز استفاده می‌کنند، هزینه ای بین 90 الی 150 هزار تومان را برای خرید کارت گرافیک کنار می‌گذارند.
حال جالب است بدانید، بیشترین تنوع در بین کارت‌های گرافیک با مدل‌های یکسان از نظر سرعت و حجم حافظه و ... در این محدوده قیمت وجود دارد. لذا همواره در بین خریداران نوعی دو دلی وجود دارد که انتخاب نهایی را مشکل می‌سازد.
در این مقاله قصد داریم با اتکا به تست‌های استاندارد و مختلف انتخاب را برای شما آسان‌تر سازیم.

معرفی
قبل از شروع هر گونه توضیح ابتدا لازم است، بخش‌های مختلف و عواملی که در افزایش توانایی و سرعت کارت‌های گرافیک نقش مهمی‌ایفا می‌کنند را نام ببریم.

GPU :
پردازنده گرافیکی که به اصطلاح لاتین Graphic Processing Unit نامیده می‌شود نوعی پردازنده است که بر اساس پردازش موازی کار می‌کنند و بر خلاف CPU که از دستورالعمل‌های(Single Instruction Multiple Data)SIMD  برای پرداش بردار استفاده می‌کنند، از دستورالعمل‌های  (Single Instruction Multiple Thread)SIMTبرای این منظور استفاده می‌کنند.
عوامل زیادی در افزایش تواناییGPU  موثرند، از این موارد می‌توان به تعداد پردازنده‌های جریانی(Stream Processors)‌ به کار رفته در آن، فرکانس هسته و فرکانس پردازنده‌های سایه زن  (Shader Clock)و در نهایت کیفیت و بازدهی معماری به کار رفته در GPU اشاره کرد.


شکل 1: نمایی از چیپ کارت گرافیک

Video Memory
 این حافظه که به اصطلاح Local Video Memory نامیده می‌شود و بر روی بورد کارت گرافیک مستقر است به طور مستقیم با پردازنده گرافیکی (GPU) و به واسطه MCH یا چیپ کنترلر حافظه مادربورد، با پردازنده مرکزی (CPU) و در نهایت  حافظه اصلی سیستم(RAM) در ارتباط است.
Interface یا اصطلاحا درگاهی که این ارتباط را بین حافظه VGA و مادربورد مرتبط می‌سازد، در کامپیوترهای امروزی PCI-Express نام دارد که در نسخه 1.0 ، سرعت تبادل اطلاعات حداکثر 8GB/S و در نسخه 2.0 این مقدار، حداکثر به 16GB/S می‌رسد.
آنچه در نگاه اول از نرخ تبادل اطلاعات، بین حافظه کارت‌های گرافیک و حافظه اصلی سیستم استنتاج می‌شود، این است که تراکنش اطلاعات بین این دو، به اندازه سرعت تبادل اطلاعات بین GPU و حافظه محلی موجود در کارت گرافیک به مراتب اهمیت کمتری دارد. این موضوع دو دلیل عمده دارد:
 پهنای باند حافظه اصلی سیستم در پلتفرم‌های کنونی و رایج کمپانی‌های Intel و AMD حتی با استفاده از بهترین و پرسرعت‌ترین حافظه‌های موجود به ندرت از مقدار حداکثر 16GB/S عبور می‌کند ( البته با وجود پلتفرم جدید Corei7 کمپانی اینتل این موضوع کمی‌اهمیت بیشتری پیدا خواهد کرد). همچنین پهنای باند ارتباط GPU با حافظه Local در مدل‌های‌ قدرتمند کارت‌های گرافیک موجود در بازار چیزی بیشتر از 100GB/S است که اختلاف فاحش بین این دو، به وضوح این مسئله را ثابت می‌کند.
 معمولا موتور‌های گرافیکی به کار رفته در بازی‌های کامپیوتری و بسیاری از نرم افزار‌های ویرایش تصاویر 3D به گونه‌ای کد نویسی و در نهایت بهینه سازی می‌شوند که ارتباط بین این دو حافظه، حداقل در رزولیشن‌ها و تکنیک‌های هموار کردن ناصافی‌ها (Anti-Aliasing) متعارف به کمترین مقدار خود برسد.


شکل 2: حافظه کارت گرافیک به طور مستقیم با GPU، CPU و حافظه اصلی سیستم در ارتباط است.

از آن گذشته، هدف اصلی ما در این مقاله بررسی نتایج به دست آمده در ماحصل تغییرات حجم و پهنای باند حافظه موجود بر روی بورد کارت گرافیک می‌باشد که همانطور که قبلا اشاره کردیم به صورت مستقیم با GPU در ارتباط است.

حجم حافظه ( Memory Size ) :
کارت‌های گرافیکی مدرن و امروزی معمولا بیش از256MB  حافظه بر روی برد خود دارند. همچنین تجربه و نتایج به دست آمده در تست‌های مختلف نرم افزار‌ها وبرایش تصاویر 3 بعدی و بازی‌های کامپیوتری مدرن نشان داده است که در رزولیشن‌های متعارف که کاربردهای عمومی‌بیشتری دارند (رزولیشنی که مونیتورهای ال‌سی‌دی حداکثر 20 اینچ موجود در بازار پشتیبانی می‌کنند) و همینطور مقدار جزئیات قابل پردازش به نحو قابل قبول توسط کارت‌های گرافیک رده متوسط، 512MB  حافظه Local به خوبی جوابگوی نیاز‌های کنونی و حتی آینده نزدیک است.

پهنای باند حافظه ( Memory Bandwidth )
2 عامل مهم، در شکل گیری پهنای باند بین GPU و حافظه Local ، نقش مهمی ‌دارند :

 width Memory Bus :
در واقع واسط حافظه نامیده می‌شود. این واسط در کارت‌های گرافیک مدرن امروزی بیش از 256Bit می‌باشد. کمپانی‌های سازنده، با توجه به  Controller به کار رفته در GPU و محاسبه قیمت تمام شده کارت‌های گرافیک، این مقدار را تعیین می‌کنند. لازم به ذکر است که یکی از مهم ترین عواملی که قیمت تمام شده یک کارت گرافیک را در نهایت تعیین می‌کند همین عامل می‌باشد.

 Memory Clock :
فرکانس کاری حافظه  نیز عامل دیگر است که در شکل گیری پهنای باند حافظه موثر می‌باشد، این عامل خود در وحله اول به تکنولوژی ساخت حافظه وابسته است. هر یک از تکنولوژی‌های DDR ،DDR2 ،DDR3 ، GDDR4 وGDDR5 محدوه فرکانس خاص خود را دارند. برای مثال حافظه‌های DDR2، در استاندارد JEDEC و با توجه به مدل، در محدوده فرکانسی 1066MHz - 800MHz - 667MHz - 533MHz - 400MHz کار می‌کنند و دارای ولتاژ کاری1.8v  هستند. همچنین مدل‌های GDDR2 این حافظه‌ها که از استاندارد‌های JEDEC تبعیت نمی‌کنند در  Cycle time‌های کمتر و با ولتاژی حدود 2.0v کار می‌کنند. حافظه‌های DDR3 نیز تحت همان استاندارد JEDEC در محدوده فرکانسی
 800MHz - 1066MHz - 1333MHz - 1600MHz و با ولتاژ کاری حدودا 1.5v کار می‌کنند. همچنین مدل‌های GDDR3 نیز با Cycle time‌ های کمتر و ولتاژی حدودا تا 1.9v نیز در محدوده فرکانسی 1600MHz - 1800MHz - 2000MHz کار می‌کنند.

برای درک بیشتر تاثیر دو عامل بالا می‌توانیم این طور مثال بزنیم:
کارت گرافیکی با واسط حافظه  128 Bitو فرکانس کاری2000MHz  GDDR3 - دارای پهنای باند حافظه برابر با حداکثر 32GB/S  می‌باشد.
حال همان کارت گرافیک با واسط حافظه 256 Bit و فرکانس کاری GDDR2 -1000MHz نیز دارای همان پهنای باند حداکثر 32GB/S می‌باشد.
در واقع مشاهده کردید که این دو عامل در واقع مکمل یکدیگر می‌باشد.

تست و بررسی و تحلیل نتایج
برای این منظور از یکی از مدل‌های پرفروش بازار، یعنی nvidia Geforce 9500GT استفاده کردیم. انواع و اقسام مختلف از این مدل در بازار موجود هستند.
مشخصات فنی چیپ گرافیکی G96 کمپانی nVidia که در این مدل به کار رفته و همچنین مدل حافظه‌های توصیه شده توسط کمپانی سازنده چیپ مطابق شکل 3 است:


شکل 3 : مشخصات فنی چیپ گرافیکی G96

همانطور که در جدول فوق مشخص است، کمپانی سازنده، حجم حافظه از نوع DDR3 1600MHz را 256MB تعیین کرده است، همچنین برای مدل DDR2 استفاده از حافظه با حجم 512MB و فرکانس کاری 1000MHz را کافی دانسته است. در واقع سیاست‌های کمپانی سازنده  برای کنترل قیمت تمام شده مدل مورد نظر، در زمانی اعمال شده بود که قیمت جهانی حافظه‌ها بالا بوده، در حال حاضر که قیمت جهانی حافظه‌های یاد شده به مقدار قابل توجهی کاهش یافته، حتی کمپانی‌های معتبر نیز اقدام به استفاده از حافظه‌های مختلف با حجم‌های دو برابر مقدار یاد شده کرده‌اند. لازم به ذکر است که تقریبا تمام کمپانی‌های تولید کننده کارت‌های گرافیک که از مدل 1GB حافظه DDR2 برای این مدل استفاده نموده‌اند از نوع DDR2-800MHz در این استفاده کرده¬اند. این تغییر، بدون شک جهت کنترل قیمت تمام شده محصول بوده است.

لابراتوار رایانه خبر برای این مقاله دو مدل زیر را تهیه کرده‌ است :
Model : SPARKLE Nvidia Geforce 9500GT
Memory Type : GDDR3 1600MHz
Memory Size : 512MB
Memory Width : 128Bit
 


شکل 4 : مشخصات کارت انتخابی 1

Model : SPARKLE Nvidia Geforce 9500GT
Memory Type : DDR2  800MHz
Memory Size : 1024MB  
Memory Width : 128Bit


شکل 5 : مشخصات کارت انتخابی 2

در حال حاضر این دو مدل با قیمت مشابه حدود 90 هزار تومان در بازار ایران ( با گارانتی شرکت فاره ) موجود هستند.
همانطور که از مشخصات مدل‌های بالا نمایان است، ما دو مدل را انتخاب کردیم، به این صورت که پهنای باند حافظه در مدل DDR3 دو برابر و از سوی دیگر حجم حافظه در مدل DDR2  2 برابر مدل DDR3 است.
در واقع هدف اصلی ما از این مقاله، بررسی و تست شرایط بالا بود تا تاثیرات حجم و پهنای باند حافظه را در کارت‌های گرافیک با GPU‌های یکسان مشاهده کنیم. 

شرایط تست :
برای تست کارت‌های گرافیک یاد شده از سیستم پلتفرم اینتل لابراتوار رایانه خبر استفاده نمودیم.

جدول 1: جدول مشخصات سیستم تست
از آنجا که تقریبا تمام بازی‌های کامپیوتری مدرن بر پایه DirectX 10.0 پایه ریزی می‌شوند، ما هم در تست‌ها به غیر از تست 3DMARK 06 تماما از بازی‌های کامپیوتری و نرم افزار معتبر بر پایه Direct X 10 بهره بردیم.
همچنین این پیش‌بینی را نیز کردیم که چون حافظه Local فقط زمانی به خوبی محک می‌خورد که تست‌ها در رزولیشن‌های بالا و تنظیمات جزییات بازی بالا انجام شود، به همین دلیل تست ها تماما با حداکثر رزولیشن قابل پشتیبانی توسط یک مونیتور ال‌سی‌دی 20 اینچ رایج (1680 x 1050) و جزییات گرافیکی بالا انجام شده است. همچنین اگر FPS در حین تست قابل قبول بود از Anti-Aliasing نیز در تست استفاده کردیم.

تست(3DMARK 06 (DX 9.0
تست مزبور همواره یکی از بهترین تست ها جهت محک زنی کارت‌های گرفیک بوده، این نرم افزار با استفاده از تست‌های مجزا، تکنیک‌های سایه‌زنی رنگ  Shader Model 2.0 و Shader Model 3.0 کارت‌های گرافیک را با تست‌های نسبتا سنگین ارزیابی می کند.


شکل 6

آنچه از نگاه اول از نتیجه این تست بدست می‌آید این است که برتری 30% درصدی مدل 512MB DDR3 به روشنی نمایان است.

تست(3DMARK Vantage (DX 10.0
این تست بدون شک یکی از سنگین‌ترین و در عین حال معتبرترین تست‌های Direct X 10.0 محسوب می‌شود. این تست به شدت در رزولوشن‌های بالا، حافظه Local موجود بر روی بورد کارت گرافیک را اشغال می‌کند و از زوایای مختلف نظیر استفاده از آخرین تکنولوژی‌های سایه زنی رنگ (Shader model 4.0) و نور پردازی، GPU را مورد آزمایش قرار  می‌دهد. همچنین اگر کمی ‌موشکافانه در حین تست این نرم افزار CPU Usage را مشاهده کرده باشید، متوجه می‌شوید که تست‌های GPU این نرم افزار به شدت نسبت به پردازنده ایزوله هستند، به بیان دیگر پردازنده در تست یاد شده خود را دخالت نمی‌دهد یا اینکه تاثیر بسیار کمی دارد و فقط کارت گرافیک است که مورد ارزیابی قرار می‌گیرد. این خصیصه، نرم افزار یاد شده را در زمره نرم افزار‌های کاملا تخصصی تست کارت‌های گرافیک قرار می‌دهد.


شکل 7

در این تست نیز برتری 40% درصدی، با مدل 512MB DDR3 است.

تست(Call of Juarez (DX 10.0
این بازی یکی از بازی‌های پرفروش و در عین حال مدرن که در بسیاری از منابع معتبر تست و بررسی سخت افزار، مرجع معتبری برای تست کارت‌های گرافیک است.


شکل 8

در این تست نسبتا سنگین نیز برتری 42% درصدی مدل 512MB DDR3 مشهود است. در واقع نتیجه به دست آمده برای هر دو مدل به دلیل کم بودن FPS مناسب نیست، ولی هدف اصلی ما از این تست تحت فشار قرار دادن هر دو مدل بود که به خوبی محقق شده است.

تست(Crysis warhead (DX 10.0
بدون شک، شاهکار کمپانی Crytek با بهره گیری از موتور گرافیکی قدرتمند Cry Engine تا به امروز، بهترین بازی از لحاظ گرافیکی است، در این بازی کامپیوتری از آخرین تکنولوژی‌های سایه پردازی، سایه زنی رنگ‌ها و همین طور جلوه‌های واقع گرایانه تصویر برای داشتن طبیعی‌ترین صحنه‌ها، استفاده شده است.


شکل 9

در این تست نیز مدل 512MB DDR3 با اختلاف 33% درصدی، عملکرد بهتری نسبت به مدل 1GB DDR2 داشت.

تست(DEVIL MAY CRY 4 (DX 10.0
این تست نیز، به دلیل استفاده از جلوه‌های واقع گرایانه بسیار مهیج و طرفداران کثیر این بازی، در بسیاری از منابع تست و بررسی قطعات سخت افزاری مورد استفاده قرار می‌گیرد.


شکل 10

در این تست نیز، باوجود برتری  35% درصدی مدل 512MB DDR3، جایی برای بحث باقی نمی‌ماند.

تست(Far Cry 2 (DX 10.0
Far Cry 2 نیز با بهره بردن از موتور گرافیکی Cry Engine از آخرین تکنولوژهای گرافیکی به کار رفته در بازی‌های کامپیوتری مدرن، پشتیبانی می‌کند، در این بازی کامپیوتری شما می‌توانید دورنمایی چند کیلومتری از جنگل‌های آفریقا را به همراه نور پردازی مثال زدنی، مشاهده کنید.


شکل 11

در آخرین تست این مقاله نیز، کماکان مدل 512MB DDR3 حدودا 25% عملکرد بهتری نسبت به مدل   1GB DDR2 داشت.

نتیجه نهایی
همانطور که  نتایج تست‌ها نشان می‌دهد، به طور میانگین مدل 512MB DDR3 حدودا 34% از مدل 1GB DDR2  نتایجی بهتری کسب کرده است. در واقع حجم حافظه بیشتر حتی در رزولیشن‌های بالا نتوانست به هیچ وجه، ضعف پهنای باند حافظه را جبران کند. از سوی دیگر اگر نتایج را به صورت موشکافانه بررسی کرده باشید، و احیانا از طرفداران بازی‌های کامپیوتری باشید، متوجه خواهید شد که مقدار فریم در ثانیه (FPS) در اکثر تست‌ها کمتر از مقدار قابل قبول برای داشتن حداقل کیفیت مطلوب برای اجرای بازی‌های مورد نظر است ( اگر آستانه کیفیت مطلوب را 20FPS در نظر بگیریم ). در نتیجه، حتی برای داشتن کیفیتی مطلوب‌تر، باید رزولیشن و جزئیات کمتری را برای اجرای قابل قبول بازی‌های کامپیوتری نام برده، به کار بگیریم.
 در واقع اینطور می‌توان نتیجه‌گیری کرد که در کاربردهای معمولی، نظیر بازی‌های کامپیوتری، نرم‌افزار‌های فنی مهندسی رایج و... حجم بیشتر حافظه گرافیکی Local،  نسبت به مقدار استاندارد تعیین شده توسط کمپانی سازنده پردازنده گرافیکی، در کارت‌های گرافیک رده متوسط و رده ضعیف، به هیچ وجه راهکار مناسبی برای افزایش کارایی نهایی نیست. از طرفی دیگر همانطور که قبلا اشاره کردیم، کمپانی‌های تولید کننده کارت‌های گرافیکی برای کنترل قیمت تمام شده مدل‌های یاد شده، با افزایش حجم حافظه گرافیکی، از حافظه‌هایی با سرعت کمتر استفاده می‌کنند که در نهایت کاهش پهنای باند حافظه را به دنبال دارد. این امر نیز همانطور که در این تست و بررسی دیدیم، نتیجه خوبی را به دنبال ندارد.
و سرانجام، در سخن پایانی می‌توان به این نکته اشاره کرد که در کارت‌های گرافیکی امروزی که پردازنده‌های گرافیکی نقش بسیار بیشتری نسبت به پردازنده مرکزی در اجرای جلوه‌های سه بعدی دارند ، حجم حافظه گرافیکی بیشتر نمی‌تواند عاملی برای برتری باشد، بلکه پهنای باند حافظه است که نقش محوری تری در این امر دارد.

این 2 مدل کارت گرافیک اسپارکل را شرکت محترم شرکت فاره رایانه فرد جهت تست و نگارش مقاله در اختیار لابراتوار ماهنامه رایانه خبر قرار داد که بدین طریق از این همکاری، صمیمانه قدردانی می‌گردد.



نوشته شده توسط 89/8/13:: 12:16 عصر     |     () نظر
اشاره :
اغلب پردازنده‌هایی که اینتل در حال حاضر تولید می‌کند، فرایند ساخت 45 نانومتری دارند، اما نسل بعدی پردازنده‌های این شرکت از ترانزیستورهای 32 نانومتری برخوردار خواهد بود.


پردازنده‌‌های کامپیوترهای خانگی و کامپیوترهای همراه طی چند سال اخیر دچار تحولات متعددی شده‌اند. این تحولات که همگی در جهت افزایش کارایی انجام گرفته، بیشتر در بخش معماری پردازنده و افزایش حافظه کش پردازنده بوده است. افزایش مقدار کش و همچنین تغییر در معماری پردازنده، همیشه همراه با فرایند ساخت جدید و استفاده از ترانزیستورهای کوچک‌تر بوده است، طوری که هر دو شرکت اینتل و AMD برای آنکه بتوانند پردازنده‌هایی با کارایی بالاتر تولید کنند، هر چند وقت یکبار فرایند ساخت پردازنده‌های خود را تغییر داده‌اند. فرایند ساخت پردازنده، اشاره به اندازه ترانزیستورهای به کار گرفته شده در هسته دارد. به عنوان مثال فرایند ساخت 45 نانومتری بدین معناست که پردازنده ترانزیستورهایی با اندازه 45 نانومتر دارد.
اما چرا سازند‌گان قطعات الکترونیکی، همچون تولیدکنندگان پردازنده، حافظه، پردازنده گرافیکی و ...، فرایند ساخت محصولات‌ خود را تغییر می‌دهند؟ تولیدکنندگان پردازنده‌ به چند دلیل فرایند ساخت خود را تغییر می‌دهند. اول اینکه این موضوع سبب خواهد شد تا اندازه هسته پردازنده کوچک‌تر شود. همانطور که می‌دانید، پردازنده از یک ویفر سیلیکونی تشکیل شده است که در واقع ترانزیستورها روی آن حکاکی می‌شوند. هر چه فرایند ساخت کوچک‌تر شود، به ویفر سیلیکونی کوچک‌تری نیاز خواهد بود. استفاده از ویفر سیلیکونی کوچک‌تر، موجب کاهش قیمت پردازنده به میزان قابل توجهی خواهد شد. از طرف دیگر، اگر از ویفر سیلیکون با اندازه قبل استفاده شود، می‌توان تعداد ترانزیستورهای بیشتری را روی آن حکاکی کرد. افزایش تعداد ترانزیستورها دو پیامد به همراه دارد: ا_ افزایش میزان کش 2_افزایش توان عملیاتی پردازنده. در نهایت کاهش اندازه ترانزیستور موجب کاهش مصرف توان می‌شود و بنابراین سازندگان می‌توانند سیستم‌های کم مصرف‌تری تولید کنند.
به طور کلی سازندگان پردازنده برای کاهش قیمت محصولات خود و همچنین افزایش کارایی آنها، سعی در کوچک‌تر کردن ترانزیستورها دارند. در این زمینه، شرکت اینتل همواره نسبت به AMD پیشتاز بوده است. این شرکت قصد دارد از فرایند ساخت جدید‌تری برای پردازنده‌هایش استفاده کند.

هفت میلیارد دلار سرمایه‌گذاری
این میزان مبلغ را اینتل تنها در ایالات متحده آمریکا برای فرایند ساخت 32 نانومتری‌ خرج کرده است. در اواخر سال آینده، کل سرمایه‌گذاری شرکت اینتل در آمریکا برای حرکت به سوی فرایند 32 نانومتری، تقریباً به حدود 8 میلیارد دلار خواهد رسید. این در حالی است که این روزها خبرهای مبتنی بر بحران اقتصادی در آمریکا و ورشکستگی بسیاری از کمپانی‌های مشهور در این کشور به گوش می‌رسد. اما آیا سرمایه‌گذاری در این سطح عظیم، به اینتل در آینده ضربه اقتصادی وارد نخواهد کرد؟
اینتل باید همیشه به فعالیت‌های رقیب اصلی خود یعنی AMD نیز توجه داشته باشد. فعالیت‌های رقیب اصلی اینتل نشان می‌دهد که این شرکت باید برای از دست ندادن بازار، به سوی فرایند ساخت جدیدتری برود. از این رو اینتل متحمل چنین هزینه سنگینی شده است.

نفشه فرایند ساخت
مطابق با برنامه‌ریزی تیک‌ـ‌ تاک، شرکت اینتل باید هر دو سال یکبار فرایند ساخت جدیدی معرفی کند. در شکل 1 این چرخه دو ساله و تحولات مرتبط با آن نشان داده شده است. همانطور که مشاهده می‌کنید، اینتل باید در سال 2009 میلادی به فناوری ساخت 32 نانومتری دست پیدا کند.


شکل 1

اولین پردازنده 45 نانومتری اینتل با اسم رمز Penryn در اواخر سال 2007 میلادی معرفی شد. Penryn ابتدا شامل پردازنده‌های حرفه‌ا‌ی و سپس در اواسط 2008 شامل پردازنده‌‌های سطح متوسط شد. در حال حاضر می‌توان پردازنده‌هایی بر پایه Penryn و مبتنی بر فرایند ساخت 45 نانومتری در بازار پیدا کرد که قیمتی کمتر از 100 دلار دارند. در نسل بعدی پردازنده‌‌های اینتل، اندازه ترانزیستورها به 32 نانومتر کاهش خواهد یافت. اکنون به ترانزیستورهای به کار گرفته شده در فرایند ساخت 32 نانومتری می‌پردازیم. شکل 2 نمای یک ترانزیستور CMOS است.


شکل 2

وقتی ترانزیستور روشن است، جریان از Source به Drain جاری می‌شود و زمانی که ترانزیستور خاموش می‌شود، این جریان قطع خواهد شد. با توجه به اینکه هر چند وقت یکبار فرایند ساخت پردازنده‌ کوچک‌تر می‌شود، اندازه ترانزیستور و در نتیجه بخش‌‌های آن نیز کوچک‌تر می‌شود. اینتل بعد از معرفی پردازنده‌های 65 نانومتری خود متوجه این موضوع شد که دیگر قادر به کوچک‌تر کردن بیشتر عایق دی‌الکتریک گیت نیست. زیرا با کوچک‌تر کردن دی‌الکتریک، این احتمال وجود داشت که جریان نشتی ترانزیستور افزایش پیدا کند. افزایش جریان نشتی موجب عدم پایداری و در نتیجه عدم عملکرد صحیح پردازنده می‌شود. در فرایند ساخت 65 نانومتری، ضخامت دی‌الکتریک گیت 1.2 نانو‌متر (ضخامتی در حدود 5 اتم) بود، اما در فناوری ساخت 45 نانومتری، اینتل دی‌الکتریک گیت را از SIO2 به یک ماده High-K از جنس هافنیم
 (Hudnium) تغییر داد. علاوه بر این، جنس الکترود گیت از پلی‌سیلیکون به متال تغییر یافت که این موضوع موجب می‌شود جریان بیشتری در زمان روشن شدن ترانزیستور جاری شود.
بنابراین اینتل برای تولید پردازنده‌های 45 نانومتری، دو تغییر عمده در اساس ترانزیستورها به وجود آورد. اما اکنون برای تولید پردازنده‌های 32 نانومتری، قصد دارد از نسل دوم ترانزیستورهای خود که پیشرفت‌های جدیدی یافته‌اند، استفاده کند.
دی‌الکتریک گیت اندکی نازک‌تر شده اما جنس آن همانند گذشته از هافنیم است. اندازه این دی‌الکتریک در فرایند 45 نانومتری معادل 1 نانومتر است، اما در 32 نانومتری احتمالاً به 0.9 نانومتر خواهد رسید (شکل 3).


شکل 3

اندازه ترانزیستور 32 نانومتری تقریباً 70 درصد اندازه ترانزیستور 45 نانومتری است، بنابراین اینتل می‌تواند ترانزیستورهای بیشتری را در سطحی کوچک‌تر جای دهد (شکل 4).


شکل 4

اینتل برای تولید پردازنده 32 نانومتری، مجبور به ایجاد تغییراتی در نحوه ساخت پردازنده‌هایش شده است. بزرگ‌ترین تغییری که اینتل در این فرایند ساخت ایجاد کرده، استفاده از لیتوگرافی شناور روی لایه‌های فلز حساس است. همانطور که می‌دانید برای ساخت ترانزیستورهای کوچک‌تر، تجهیزات مورد استفاده باید رزولیشن بالاتری داشته باشند. لیتوگرافی شناور در حقیقت یک تکنیک افزایش رزولوشن است که فاصله هوایی معمول بین لنز نهایی و سطح ویفر را با مایعی که ضریب شکست بزرگ‌تر از نوع قبل دارد، جایگزین می‌کند. مایع به کار گرفته شده در ابزارهای لیتوگرافی شناور فعلی، آب تصفیه شده است. بنابراین اینتل برای تولید پردازنده‌های 32 نانومتری مجبور به ایجاد تغییرات در تجهیزات لیتوگرافی فعلی شده است. این موضوع سبب شده تا این شرکت هزینه‌های بسیار زیادی متحمل شود. اما برای آنکه بتواند ترانزیستورهای کوچک‌تر از 45 نانومتر تولید کند، چاره‌‌ای جز این نداشته است. لازم به ذکر است که شرکت AMD برای تولید پردازنده‌های مبتنی بر فرایند ساخت 45 نانومتری، از تجهیزات لیتوگرافی شناور استفاده کرده است (شکل 5).


شکل 5

اینتل می‌گوید کارایی ترانزیستورها در فرایند 32 نانومتر رشد قابل توجهی داشته است. شکل شماره 6 نیز بیان‌گر این حقیقت است. در این شکل، میزان جریان نشتی در مقایسه با زمانی که جریان از ترانزیستورها عبور می‌کند، برای هر دو نوع ترانزیستور 32 نانومتری N-Channel و P-Channel نمایش داده شده است.


شکل 6

ترانزیستورهای جدید پیشرفت قابل توجهی در افزایش توان کارایی ارایه کرده‌اند. این ترانزیستورها عملکرد سریع‌تری دارند و با توجه به کاهش قابل توجه جریان نشتی، که نسبت به ترانزیستورهای 45 نانومتری اینتل، در حدود 5 الی 10 درصد کمتر است، می‌توان آنها را در فرکانس‌های بالاتر نیز استفاده کرد. اینتل ادعا می‌کند که ترانزیستور 32 نانومتری‌اش قادر به عبور جریان بیشتری در مقایسه با دیگر ترانزیستورهای رایج امروزی است.
به طور کلی با توجه به مشخصه‌های کارایی و توان فرایند ساخت 32 نانومتری، این طور به نظر می‌رسد که این فناوری ساخت، در تجهیزات موبایل بسیار مورد توجه قرار بگیرد. به هر حال مصرف توان پایین‌تر و کارایی بالاتر قطعاً برای محصولات موبایل بسیار جذاب خواهد بود.

کش بزرگ‌تر
اینتل به طور معمول، بعد از معرفی یک فرایند ساخت جدید، ابتدا محصولی مبتنی بر آن اما با کش بزرگ‌تر نسبت به محصولات ما قبل خود تولید می‌کند. اولین چیپ SRAM اینتل که مبتنی بر فرایند 32 نانومتری بود، در اواخر سال 2007 معرفی شد. خصوصیات برجسته این محصول در شکل 7 نشان داده شده است.


شکل 7

این چیپ 291 مگابیتی، از 1.9 میلیارد ترانزیستور تشکیل شده و در فرکانس 4 گیگاهرتز عمل می‌‌کند. اندازه هر سلول این چیپ برابر 0.171 میکرومتر مربع است. به عبارت ساده‌تر، در این فرایند ساخت جدید برای ذخیره هر بیت داده نیاز به فضایی برابر با 0.171 میکرومتر مربع است. در فرایند ساخت 45 نانومتری، اندازه هر سلول
0.346 میکرومتر مربع بود (سلول‌های پردازنده‌ کامپیوتر خانگی و Atom اندکی بزرگ‌تر است) این در حالی‌ است که سلول‌های SRAM با فناوری 45 نانومتری به کار گرفته شده در پردازنده‌های AMD از اندازه 0.370 میکرومتر مربعی برخوردارند. در فرایند 32 نانومتری، اندازه هسته می‌تواند تقریباً به نصف کاهش پیدا کند. این موضوع بدین معنی است که اینتل قادر است در مساحتی یکسان، با پردازنده‌های نسل قبل خود تعداد ترانزیستورها و در نتیجه مقدار کش آنها را دو برابر کند. یا اینکه پردازنده‌هایی با همان میزان کش سابق اما با نصف اندازه هسته نسل قبل تولید کند. Core i7 چیپ تقریباً بزرگی با اندازه 263 میلی‌متر مربع است و انتظار می‌رود که اینتل اندازه این سطح را کاهش دهد و پردازنده‌های Core i7 نسل بعد با افزایش اندکی در مقدار کش و کاهش چشم‌گیری در اندازه سطح هسته تولید شوند (شکل 8).


شکل 8

دو فرایند ساخت 32 نانومتری متفاوت
هر یک از فرایند‌های ساخت اینتل شامل دو گروه می‌شود: یکی برای پردازنده‌ها و دیگری برای SoCها (System on a Chip). فرایند 32 نانومتری اکنون دو روش ساخت به نام P1268 (برای پردازنده‌ها) و P1269 (برای SoC) دارد. به طور کلی دو تفاوت عمده بین فرایند ساخت نسخه پردازنده و SoCها وجود دارد. نسخه SoC برای جریان نشتی پایین بهینه‌سازی می‌شود، در حالی که نسخه پردازنده برای عبور جریان بالا بهینه‌سازی خواهد شد. در نمودار جریان نشتی در مقابل جریان عبوری، فرایند P1268 موجب می‌شود تا نمودارها به سمت راست حرکت کنند، در حالی که در روش P1269 کاهش جریان نشتی مد نظر است. همچنین SoCها نیازمند جریان بالاتری نسبت به ولتاژ طبیعی هستند، بنابراین نیازمند فرایند ساختی هستند که بتواند این ولتاژ‌ها را تحمل کند.

تیک ـ تاک
اگر به خاطر داشته باشید، پردازنده‌های Conroe در جولای 2006 میلادی، Penryn در اکتبر 2007 و Nehalem در نوامبر 2008 معرفی شدند. این پردازنده‌ها به ترتیب در دوره‌های تاک، تیک و تاک اینتل عرضه شده‌اند. اکنون یکبار دیگر نوبت به دوره تیک است. اینتل امسال قصد دارد Westmere را معرفی کند. با توجه به این موضوع که این هسته در دوره تیک اینتل قرار دارد، بنابراین به راحتی می‌توان حدس زد که نسبت به پردازنده‌های Core i7 (پردازنده‌های Nehalem) موجود تنها شامل فرایند ساخت کوچک‌تر می‌شود (شکل 9).


شکل 9

در حقیقت Westmere نسخه 32 نانومتری Nehalem است، شبیه Penryn که نسخه 45 نانومتری Conroe/Merom بود. Westmere در فصل پایانی امسال معرفی خواهد شد. اینتل قصد دارد ابتدا نسخه کامپیوترهای خانگی و سپس نسخه موبایل این هسته را معرفی کند.

نام‌گذاری‌های پیچیده
خانواده Nehalem در حقیقت اشاره به پردازنده‌های‌ کامپیوتر خانگی، سرور و موبایل شرکت اینتل دارد که مبتنی بر فرایند ساخت 45 نانومتری هستند. پردازنده‌های خانواده Nehalem از نظر معماری با پردازنده‌های خانواده Penryn تفاوت زیادی دارند، در حالی که هر دو از فرایند ساخت 45 نانومتری استفاده می‌کنند. Nehalem شامل چند هسته مختلف می‌شود که عبارتند از:
Bloomfield
هسته Bloomfield که در پردازنده‌های سطح حرفه‌ای به کار گرفته شده، شامل چهار هسته‌ می‌شود و قادر به پردازش هشت Thread به طور همزمان است. پردازنده‌های Core i7 فعلی مبتنی بر این هسته ‌هستند.
Lynnfield و Clarksfield
اینتل اواخر امسال، دو هسته جدید مبتنی بر Nehalem به نام‌های Lynnfield و Clarksfield معرفی خواهد کرد که هر دوی آنها 4 هسته‌‌ای هستند و قابلیت پردازش هشت Thread را به طور همزمان دارند. در حقیقت پردازنده‌های خانگی ارزان‌قیمت Core i7 مبتنی بر Lynnfield خواهند بود و مبتنی بر سوکت LGA-1156 هستند و به جای پشتیبانی از حافظه‌های سه کاناله، از حافظه‌های دو کاناله DDR3 پشتیبانی می‌کنند. Clarksfield نیز نسخه موبایل Nehalem است و در نوت‌بوک‌ها مورد استفاده قرار خواهد گرفت.

پردازنده‌های 32 نانومتری
اگر به خاطر داشته باشید، فرایند ساخت 65 و 45 نانومتر ابتدا در پردازنده‌های حرفه‌ا‌ی معرفی شد. اما اینتل رویکرد متفاوتی برای پردازنده‌های 32 نانومتری خود در نظر گرفته است. فرایند ساخت 32 نانومتری ابتدا در پردازنده‌های سطح متوسط به کار گرفته خواهد شد. در حقیقت اینتل این بار، ابتدا از فرایند 32 نانومتری خود در پردازنده‌های سطح متوسط استفاده می‌کند و سپس بعد از گذشت چند ماه، یک پردازنده حرفه‌‌ای مبتنی بر فرایند ساخت 32 نانومتری معرفی خواهد کرد.
هسته‌های مبتنی بر فرایند ساخت 32 نانومتری ‍Clarkdale و Arrandale نام خواهند داشت و شامل 2 هسته پردازشی با قابلیت HyperThreading هستند که این پردازنده‌ها را قادر می‌سازد تا به طور همزمان چهار Thread را پردازش کنند. هر دو هسته ذکر شده، گرافیک مجتمع هستند اما Clarkdale برای کامپیوترهای موبایل و Arrandale برای کامپیوتر‌های خانگی در نظر گرفته شده است.
نکته جالب توجه در مورد Clarkdale و Arrandale هسته گرافیکی مجتمع شده در آنهاست. این هسته از فرایند ساخت 45 نانومتری استفاده می‌کند. در حقیقت اینتل برای قسمت‌های مرتبط با پردازنده، از فرایند 32 نانومتری استفاده می‌کند، اما برای بخش گرافیکی گنجانده شده در این هسته‌ها، از فرایند 45 نانومتری استفاده خواهد کرد. اینتل قصد دارد در سال 2010 با معرفی پردازنده‌های مبتنی بر معماری Sandy Bridge از فرایند ساخت 32 نانومتری برای پردازنده و هسته گرافیکی مجتمع‌ شده در آن استفاده کند. نکته جالب توجه دیگر در مورد این دو هسته این است که کنترلر حافظه به جای پردازنده روی بخش GPU واقع خواهد شد. گرچه این تکنیک نیز موجب افزایش زمان‌های تاخیر خواهد شد، اما به نظر می‌رسد کارایی گرافیکی پردازنده‌های اینتل را به میزان قابل توجهی افزایش دهد (شکل 10).


شکل 10

اما در مورد پردازنده‌های چهار هسته‌‌ای، اینتل با Westmere هیچ‌گونه پردازنده 4 هسته‌ا‌ی تولید نخواهد کرد و تنها در نیمه اول 2010 پردازنده‌های 6 هسته‌ا‌ی جدیدی مبتنی بر Westmere معرفی می‌کند. هسته این پردازنده Gulftown نام دارد و مبتنی بر سوکت LGA-1366 خواهد بود که قابلیت پردازش دوازده Thread به طور همزمان را دارد. شاید اینتل متوجه این موضوع شده است که در حال حاضر پردازنده‌های چهار هسته‌ا‌ی برای کامپیوترهای خانگی و سیستم‌های اداری کاربردی زیادی ندارد.

دستورالعمل‌های جدید
شبیه Penryn که شامل مجموعه دستورالعمل‌های جدید SSE 4.1 بود، Westmere نیز شامل 7 دستورالعمل جدید است. این دستورالعمل‌ها به طور قابل توجهی روی الگوریتم‌های شتاب‌دهنده‌ رمزگشایی/رمزگذاری تمرکز دارند و شامل یک دستورالعمل جدید برای ضرب(carryless (PCLMULQDQ و 6 دستورالعمل AES می‌شوند.

سخن آخر
رویکرد اینتل و محصولاتی که این شرکت در سال جاری معرفی می‌کند، کاربران حرفه‌ای را اندکی نگران خواهد کرد. زیرا در بخش پردازنده‌های حرفه‌ای، تا پایان امسال هیچ پردازنده‌ای قدرتمندتر از Core i7 معرفی نخواهد کرد، هرچند فرکانس Core i7 فعلی به 3.33 گیگاهرتز افزایش پیدا خواهد کرد. در سال 2010 اینتل قصد دارد یک پردازنده 6 هسته‌‌ای بسیار قدرتمند با فرایند ساخت 32 نانومتر تولید کند. این پردازنده نیز مبتنی بر سوکت LGA-1366 است. بنابراین می‌توان این طور حدس زد که اینتل قصد دارد پردازنده‌های حرفه‌ا‌ی خود را مبتنی بر این سوکت معرفی کند و اگر شما نیز قصد دارید در آینده یکی از محصولات حرفه‌ا‌ی اینتل را تهیه کنید، لازم است سیستمی مبتنی بر این پلت‌فرم خریداری نمایید.
امسال هیچ پردازنده‌ای قوی‌تر از پردازنده‌های i7 فعلی معرفی نخواهد شد و پردازنده‌های مبتنی بر هسته Lynnfield که در نیمه دوم امسال عرضه می‌شوند، کارایی در سطح i7های فعلی خواهند داشت، با این تفاوت که قیمت آنها بسیار مناسب‌تر خواهد بود. پردازنده‌ چهار هسته‌ا‌ی مبتنی بر Lynnfield در حداکثر فرکانس 3 گیگاهرتز معرفی خواهد شد و تنها تفاوت عمده آن نسبت به i7 فعلی، پشتیبانی از حافظه‌های دو کاناله به جای سه کاناله است. بررسی‌ پردازنده‌های Core i7‌ فعلی نشان می‌دهد که این محصول تفاوت کارایی چندانی بین وضعیت دو کاناله و سه کاناله حافظه نخواهد داشت. بنابراین اگر قصد خرید یک سیستم حرفه‌ای را دارید و در خرید خود نیز عجله‌ای ندارید، تا معرفی پردازنده 6 هسته‌ای اینتل در سال آینده صبر کنید و اگر قصد خرید یک سیستم سطح متوسط را دارید، تا زمان عرضه Lynnfield صبر کنید. کارایی این محصول در سطح پردازنده‌های Core i7 فعلی خواهد بود، اما از نظر قیمت در حدود 100 الی 150 هزار تومان از آنها ارزان‌تر است.
در بخش کامپیوترهای همراه، اینتل قصد دارد اواخر امسال یا ابتدای سال آینده، هسته Clarkdale را معرفی کند. یک پردازنده 2 هسته‌ای با قابلیت پردازش چهار Thread به طور همزمان که با توجه به فرایند ساخت 32 نانومتری، مصرف توان بسیار کمی خواهد داشت. فرکانس و TDP این محصول مشابه محصولات امروزی است، اما قیمت بسیار پایین‌تری خواهد داشت. اگر قصد خرید نوت‌بوک را دارید، توصیه می‌کنیم تا زمان عرضه Clarkdale صبر کنید.



نوشته شده توسط 89/8/13:: 12:10 عصر     |     () نظر
ارزیابی قدرت گرافیکی مادربوردهای گرافیک Onboard
مصطفی عمویی 



 شاید شما هم از خریداران مادربوردهای گرافیک مجتمع باشید. قیمت مناسب و کارآیی قابل قبول، دو قابلیت کلیدی این مادربوردهاست که توجه بسیاری از کاربران عادی را به خود جلب کرده است. در این مقاله سعی داریم تعدادی از مطرح‌ترین چیپست‌های گرافیکی را از نظر قدرت گرافیکی مورد مقایسه و ارزیابی قرار دهیم.

نحوه انتخاب چیپست‌‌های گرافیکی
شکی نیست که در بین انواع مادربوردهای گرافیک مجتمع، بیشترین سهم از آن اینتل و سپس مادربوردهای با گرافیک ATI، که غالباً بر پایه پردازنده‌های AMD هستند، است. بنابراین ما نیز 3 مادربورد پرفروش اینتل و 3 مادربورد پرفروش AMD را که از جدیدترین گرافیک‌های مجتمع برخوردارند، انتخاب کردیم. البته برای اینکه نتیجه تست ملموس باشد، یک کارت گرافیک XFX Geforce 8500GT را نیز در تست شرکت دادیم تا بتوانیم نتایج گرافیک‌های مجتمع را با آن مقایسه کرده و ارزیابی درستی از قدرت آنها ارایه دهیم. لازم به ذکر است که کارت مذکور در رده کارت‌های ضعیف قرار می‌گیرد و معیار خوبی برای سنجش است.

مشخصات چیپست‌‌های گرافیکی

بزرگنمایی
جدول 1: مشخصات چیپست‌‌های گرافیکی

مشخصات سیستم تست
با توجه به اینکه مادربوردهای منتخب بر پایه پردازنده‌های intel و AMD هستند، بنابراین از دو سیستم تست با مشخصات زیر استفاده کردیم.


جدول 2: مشخصات سیستم‌های تست

با وجود اینکه پلتفرم سیستم‌ها متفاوت است، اما چون تست‌ روی قدرت چیپ گرافیکی متمرکز است، نتایج تست همچنان قابل اعتماد خواهد بود. ضمناً تست کارت گرافیک Geforce 8800GT نیز روی ضعیف‌ترین مادربورد یعنی ECS G31T-M7 انجام شد تا سایر قطعات کم‌ترین تاثیر را روی نتایج آن داشته باشند.

شرایط انجام تست
کلیه تست‌ها در محیط ویندوز ویستا انجام شد. دلیل انتخاب ویندوز ویستا نیز دو مسئله بود: اول؛ استفاده از DirectX 10 و دوم اینکه اغلب نرم‌افزارهای جدید تست فقط در محیط ویندوز ویستا قابل اجرا هستند. البته با توجه به اینکه چیپ‌های منتخب ما در رده کارت‌های ضعیف قرار می‌گیرند، انجام آزمایشات مربوط به سنجش قدرت گرافیکی بسیار زمان‌بر و در عین حال مشکل‌ساز بود!

تست اول: FurMark
FurMark یکی از نرم‌افزارهای رایج ارزیابی OpenGL است. این نرم‌افزار از الگوریتم رندر خز با دقت بالا برای سنجش قدرت چیپ گرافیکی استفاده می‌کند. در عین حال یکی دیگر از کاربردهای جالب آن، سنجش پایداری و میزان تحمل فشار در چیپ گرافیکی است، به همین دلیل گاهی از آن به عنوان GPU Burner یاد می‌شود! این تست نیاز به پشتیبانی OpenGL 2.0 یا بالاتر دارد. برای این تست هم از رزولوشن 1024×1280 استفاده کردیم.


نمودار 1: تست FurMark

همانگونه که در نمودار 1 می‌بینید، در پردازش‌های مبتنی بر OpenGL، چیپ‌های مجتمع ATI بسیار بهتر از چیپ‌های مجتمع اینتل عمل می‌کنند.

تست دوم: 3DMark Vantage
همانطور که بارها در تست‌های ما و سایر مراجع دیده‌اید، یکی از پرکاربردترین و معتبرترین تست‌ها، استفاده از نرم‌افزار 3DMark Vantage است که تقریباً همه سایت‌ها و شرکت‌ها به آن استناد می‌کنند. متاسفانه به دلیل ضعیف بودن چیپ‌های مجتمع، امکان تست روی چیپ‌های منتخب ما میسر نشد. تنها کارت Geforce 8800GT و چیپ Radeon HD3300 از این تست سربلند بیرون آمدند که این خود نشان از برتری کارت‌های گرافیکی هر چند ضعیف نسبت به چیپ‌های گرافیکی دارد و البته چیپ Radeon HD3300 نیز نشان داد که در این زمینه بهتر از بقیه عمل می‌کند.

تست سوم: PCMark Vantage
یکی دیگر از نرم‌افزارهای رایج تست، PCMark Vantage است که البته نرم‌افزاری چند منظوره است که ما فقط از تست‌های بخش گرافیکی و بازی آن استفاده کردیم تا قدرت چیپ‌ها را در اجرای جدیدترین بازی‌ها بسنجیم. برای این تست از رزولوشن 768×1024 و بدون(Anti-Aliasing (NAA استفاده کردیم.


نمودار 2: PCMark Vantage

در این تست نیز مانند تست اول چیپ‌های مجتمع ATI بهتر از چیپ‌های مجتمع اینتل عمل کردند و البته کارت گرافیک Geforce هم راندمانی بهتر از بقیه داشت.

تست چهارم: AQUA Mark 3.0
این نرم‌افزار که بر اساس موتور بازی State of the Art طراحی شده است، قدرت چیپ گرافیکی را با استفاده از این بازی ارزیابی می‌کند و تعداد فریم بر ثانیه را نمایش می‌دهد. برای این تست هم از رزولوشن 768×1024 و NAA استفاده کردیم.


نمودار 3: AQUA Mark 3.0

نتایج این تست هم همان نتایج تست PCMark Vantage را تایید می‌کند.

تست پنجم: بازی Call of Juarez
این نرم‌افزار نیز همانطور که از نامش پیداست، چیپ گرافیکی را با بازی Call of Juarez ارزیابی می‌کند و تعداد فریم بر ثانیه را نمایش می‌دهد و متکی بر DirectX 10 است. برای این تست نیز از رزولوشن 768×1024 و NAA استفاده کردیم.


نمودار 4: بازی Call of Juarez

در این تست نیز چیپ‌های مجتمع ATI بهتر از چیپ‌های مجتمع اینتل عمل کردند.

تست ششم: بازی Crysis
این نرم‌افزار همانند نرم‌افزار قبلی بر پایه یک بازی بسیار معروف و سنگین طراحی شده است و چیپ گرافیکی را با بازی Crysis ارزیابی می‌کند و تعداد فریم بر ثانیه را نمایش می‌دهد. برای این تست نیز از رزولوشن 768×1024 و NAA استفاده کردیم.


نمودار 5: بازی Crysis

در این جا نیز چیپ‌های مجتمع ATI بهتر از چیپ‌های مجتمع اینتل عمل کردند.

تست هفتم: PassMark
این نرم‌افزار نیز یک نرم‌افزار تست چند منظوره است که ما فقط از تست‌های بخش گرافیک آن استفاده کردیم. البته بخش گرافیکی آن شامل دو بخش می‌شود: تست‌های دوبعدی و تست‌های سه‌بعدی. در بخش دوبعدی، توابع گرافیکی ویندوز روی چیپ گرافیکی اجرا می‌شود و در بخش سه‌بعدی، راندمان چیپ گرافیکی در کاربردهای سه‌بعدی ویندوز ارزیابی می‌شود.


نمودار 6: PassMark 2D


نمودار 7: PassMark 3D

نمودارهای شماره 6 و 7 اطلاعات جالبی ارایه می‌دهند و در واقع بیانگر این هستند که اینتل تمام هم و غم خود را روی محیط ویندوز متمرکز کرده است و البته به نتیجه هم رسیده است و راندمان خوبی برای کاربران عادی فراهم می‌آورد.

تست هشتم: Windows Experience Index
WEI یکی از امکانات داخلی ویندوز ویستا است که توانایی سخت‌افزاری و نرم‌افزاری سیستم را ارزیابی می‌کند و یک عدد را به عنوان Base Score نمایش می‌دهد. بنابراین Base Score بالاتر به معنای کامپیوتر قوی‌تر است. WEI از پنج تست مختلف که شامل پردازنده، حافظه، هارددیسک، گرافیک ویندوز و گرافیک سه‌بعدی است، تشکیل می‌شود. البته پایین‌ترین امتیاز در این تست‌های پنج‌گانه، Base Score خواهد بود. ما فقط امتیاز مربوط به بخش گرافیک را مد نظر قرار دادیم تا ببینیم از دید ویستا، چیپ‌های مورد نظر چه راندمانی دارند.


نمودار 8: Windows Experience Index

نمودار 8 نیز اذعان دارد که ویندوز هم چیپ‌های ATI را مناسب‌تر از چیپ‌های اینتل می‌شناسد.

نتیجه
تست‌های هشت‌گانه ما، نتایج واضح و مشخصی را به ارمغان آورد. این نتایج را می‌توان در قالب موارد زیر دسته‌بندی کرد:
اگر به دنبال مادربورد گرافیک مجتمع یا همان گرافیک آنبورد می‌گردید و گوشه چشمی هم به قدرت گرافیکی آن دارید و احتمالاً دوست دارید کمی هم بازی کنید (البته نه بازی‌های جدید و سنگین)، از مادربوردهای گرافیک مجتمع با چیپ ATI استفاده کنید. البته یک پیش‌شرط هم دارد و آن این است که با پردازنده‌های AMD مشکل نداشته باشید!
اگر عاشق پردازنده‌های اینتل هستید و دور بازی را هم خط کشیده‌اید، مادربوردهای گرافیک مجتمع چیپ اینتل بهترین گزینه هستند.
و اما نکته آخر: هیچ چیپ گرافیکی مجتمعی نمی‌تواند جای کارت گرافیکی را بگیرد. پس حتی اگر هزینه اندکی نیز صرف خرید یک کارت گرافیکی ضعیف بکنید، از همه مادربوردهای گرافیک مجتمع جلوتر می‌ایستید!



نوشته شده توسط 89/8/13:: 11:55 صبح     |     () نظر