اسمبلی و اورکلاک

اَسِمبلی (Assembly) به مجموعه زبان‌های برنامه‌نویسی سطح پایینی اطلاق می‌شود که در آن مستقیماً دستورالعمل‌های پردازندهٔ اصلی (CPU) نوشته می‌شود.
به دلیل سطح پایین بودن این زبان‌ها، نوشتن ، اشکال زدایی و نگهداری برنامه مشکلتر است. برای هر خانواده CPU یک زبان اسمبلی وجود دارد.

این زبان به زبان مادر کامپیوتر بسیار نزدیک می باشد بطوربکه تمامی برنامه های اولییه همچون C++ توسط زبان اسمبلی ساخته شده است و همچنین اکثر کارهای هک و …. با این زبان انجام می شود. در زبان اسمبلی هر دستور زبان متناظر یک دستور باینری است .

اسمبلي چيست ؟
زبانهاي برنامه نويسي كامپيوتر عموما به دو دسته زبانهاي سطح بالا و زبانهاي سطح پايين تقسيم ميشوند . برخي اين زبانها را به صه دسته تقسيم بندي كرده اند . زبانهاي سطح بالا و زبانهاي سطح پايين و زبانهاي سطح مياني . زبان برنامه نويسي اسمبلي جز زبانهاي سطح پايين است .
زبان سطح پايين به زباني گفته ميشود كه از لحاض ساختاري و ترجمه بسيار به زبان ماشين نزديك است . يعني قابليت فهم ان براي ماشين بهتر و راحتتر است . اما زبانهاي سطح بالا با كاربر رابطه بهتري دارند و كاربر يا برنامه نويس با اين زبان راحتتر ارتباط برقرار ميكند .

در زبان اسمبلي به سبب پايين بودن سطح ان ويژگيهايي نهفته است كه در هيچ يك از زبانهاي ديگر اين ويژگيها را نميتوان يافت : يكي از ويژگيهاي مهم اين زبان باز گذاشتن دست كاربر در كنترل سخت افزار بويژه CPU است . در واقع كاربر ميتواند با جز به جز پردازشگر و سخت افزار كامپيوتر ارتباط برقرار كند . بنابراين سرعت اينگونه برنامه ها نسبت به زبانهاي

سطح بالا بسيار بالاتر است .
البته اين زبان داراي مشكلاتي نيز هست . كه از جمله مهمترين انها زياد بودن تعداد دستوراتي است كه كاربر بايد براي انجام عملي خاص از انها استفاده كند .
برنامه نويس براي برنامه نويسي بايد بر ارشيتكت ساخت CPU ‌مسلط باشد .
سورس اين برنامه ها اصولا خطوط زيادي دارد .
اين برنامه ها بسته به ماشين عمل ميكنند . يعني اگر ساختار اصلي ماشين تغيير كند . اين برنامه ها قابليت اجرا ندارند .
اسمبلر چيست ؟

براي تبديل زبان اسمبلي به زبان ماشين بايد از اين مترجم استفاده كرد . در واقع زبان اسمبلي از طريق اسمبلر به زبان ماشين كه صفر و يك است ترجمه ميشود .
هر خط از زبان اسمبلي معادل يك خط است در زبان ماشين . اين ويژگي خاص دستورات اسمبلي است و در زبانها سطح بالا چنين اتفاقي نمي افتد .
نحوه اسمبل شدن برنامه را در شكل زير ميبينيد :

براي اسمبل كردن يك برنامه توسط اسمبلي بايد به يك اسمبلر دسترسي داشت . كه اين كار را ميتوان توسط يك نرم افزار ويژه انجام داد كه عموما از اسمبلرهاي TASM ‌يا MASM استفاده ميكنند . كه اولي محصول شركت turbo و دومي محصول مايكروسافت است . كه نسخه جديد MASM نرم افزاري است به نام ML ‌كه كار كردن با ان نسبت به دو نرم افزار بالايي بسيار ساده تر است .
با استفاده از TASM ‌يا MASM سورس برنامه اي كه در فايلي با پسوند asm نوشته ايد را به يك فايل obj تبديل ميكنيد . سپس با يك لينكر TLINK ميتوانيد فايل را به فايل اجرايي تسوط كامپيوتر تبديل كنيد كه پسوند exe دارد .
براي نوشتن سورس برنامه كافيست يك ويرايشگر متن داشته باشيد كه تمامي كامپيوتر ها چنين چيزي را اصولا دارند . اگر از سيتسم عامل ويندوز استفاده ميكن

يد ميتوانيد از notepad استفاده كنيد اگر از word استفاده ميكنيد

يادتان باشد كه تغييرات اتوماتيك انرا براي تصحيح كلمات از كار بياندازيد . پس از انكه سورس برنامه را نوشتيد كافيست انرا با پسوند asm ذخيره كنيد براي اينكار از منوي file ميتوانيد گزينه save as ‌را انتخاب كنيد و نام فايل را با پسوند asm در دو جفت كوتيشن قرار ميدهيد :
“parsx.asm” سپس به پرامپت داس ميرويد .
براي رفتن به محيط داس اگر از سيستم عامل win98 و نسخه هاي ۹X استفاده ميكنيد كافيست در منوي استارت گزينه run را انتخاب كنيد و سپس بنويسيد command و اگر از ويندوزهاي با نسخه بالاتر استفاده ميكنيد ميتوانيد در منوي run بنويسيد cmd و ازانجا به محيط داس برويد و به ادرسي كه اسمبلر شما و فايل asm شما قرار دارد برويد . براي رفتن به اين مسير ها بايد كمي بر داس مسلط باشيد .
اما براي تغيير دايركتوري بدانيد كه ميزنيد cd namefolder و براي بيرون رفتن از ان ميزنيد cd\ و براي تغيير درايو نام درايو را بهمراه دو نقطه مينويسيد : c: به همين سادگي .
اگر از نرم افزار MASM استفاده ميكنيد . كافيست تايپ كنيد MASM ‌و سپس نام فايل سورس را بنويسيد و ترتيب را ادامه دهيد تا فايل obj ‌شما ساخته شود . سپس LINK ‌را مينويسيد و نام فايلي كه ساخته ايد و پسوند obj ‌بان اختصاص داده شده است را مينويسيد . مراتب را ادام ميدهيد .
اگر از ml استفاده ميكنيد . كافيست نام فايل asm ‌را جلوي ml بنويسيد . يعني مينويسيد ml parsx.asm و سپس برنامه شما به exe تبديل ميشود .
براي استفاده از turbo assembler هم كافيست نام فايل را جلوي tasm بنويسيد تا obj شما ساخته شود و سپس با tlink نام فايل با پسوند obj فايل exe رابسازيد .

tasm parsx.asm
tlink parsx.obj

و بدين ترتيب فايل شما ساخته ميشود .

البته روش ديگري براي ساخت فايلهاي اسمبلي نيز

وجود دارد . كه داراي محدوديتهاي زيادي است . كافيست در اعلان داس در هر مسيري كه هستيد تايپ كنيد debug تا وارد محيط debug ‌شويد .
براي ورود دستورات اسمبلي كليد a ‌را ميزنيد و enter ميزنيد و براي خروج از محيط دستورات كافيست بدون نوشتن چيزي دكمه اينتر را بزنيد . براي خروج از محيط ديباگ نيز كافيست دكمه q را بزنيد و اينتر را بعد از ان بزنيد . و براي اجراي دستورات g را بزنيد . كه كار كردن با اين محيط اموزش ويژه اي را ميطلبد .

در واقع ”Overclocking” به زمان عرضه ی کامپیوترها برمی گردد و برای آنهایی که کامپیوترشان up-to-date نبود. اما پس از چندی یک اورکلاک ساده که باعث میشد cpu های ۸۰۰۸ ۸MHz تبدیل به ۱۲MHz شود تحول عظیمی را در این صنعت به وجود آورد.

پس از چندی اورکلاکر ها به دو گروه مجزا تقسیم شدند:

۱- اورکلاکر هایی که رایانه های Low-end را به high-end ارتقا میدهند.(این گروه بخش اعظم اورکلاکر ها را تشکیل میدهند)

۲- اور کلاکر هایی که رایانه های high-end را در هر قیمتی اورکلاک میکنند.(این گروه بخش کوچکی را تشکیل میدهند که در فارسی به آنها خرپول گفته میشود!)

اما پیش از اینکه اورکلاکینگ را یاد بگیرید بهتر است چند سؤال را بررسی کنیم:

”Overclocking” چیست؟ ریسکها و فایده های آن؟ چه قسمت هایی را میتوان اورکلاک کرد؟

مفهوم Overclock

اورکلاکینگ به معنای افزایش سرعت هر جزء از دستگاهی است که توسط تولید کن

نده تعیین شده است.کلمه clock از کلمه ”Clock Crystal” به وجود آمده که نوسان سازی است که ریتمی را از فرکانس های بالاتری که به آن جزء وارد میشود مشخص میکند و آن را مبنای کار قرار می دهد.ساده ترین وسایل که برای آنها دستگاه نوسان ساز اعمال شده بود برای ۸MHz باید نوسان ساز ۸MHz تعبیه میکردند.

اورکلاکینگ اولین سیستم ها بسیار ساده(و محدود) بودند مانند اورکلاک یک قطعه ۸MHz به ۱۲MHz .

وقتی رایانه ها پیشرفته تر شدند دیگر یک دستگاه نوسان ساز برای آنها کافی نبود و همچنین Mother Board ها هم نمیتوانستند دو دستگاه نوسان ساز را با هم داشته باشند پس یک مجموعه مدارهای مختلف اختراع شد که باعث شد قابلیت اورکلاک بیشتری برای قطعه ها امکان پذیر باشد.

این وسیله ”Clock Generator” نام گرفت.این قطعه تولید کنندۀ نیرویی است که باعث چند برابر شدن نوسان Clock Crystal دستگاه میشود و در نتیجه سرعت قطعات هم بیش از پیش افزایش پیدا میکند.

امروزه Clock Generator ها بسیار پیشرفته تر از قبل شده اند و کار با آنها نیز بسیار ساده تر شده است.

اختراع Clock Generator هایی که قابل اضافه شدن و تطبیق با سیستم هستند باعث شده که اورکلاکینگ بدون عوض کردن قطعاتی چون Clock Crystal امکان پذیر باشد.پیشرفت های دیگر در زمینه های BIOS و Frimware هم اکنون به کاربران اجازه دستکاری سرعت قطعات را با تغییر دادن تنها چند setting در رایانه می دهد.

 

ریسک ها و فایده ها
Overclocking به یک قطعه Low-end اجازه میدهد که کارایی یک ورژن گران تر را داشته باشد و یا به یک قطعه که کیفیت برتری داشته باشد(High-end) اج

ازه می دهد که کارایی ورژنی از آن را داشته باشد که حت

ی ممکن است هنوز به بازار نیامده باشد!

برای مثال شما یک CPU intel 3.0GHz p4 را به ۳٫۴GHz اورکلاک می کنید و در حقیقت در حال استفاده از ورژن گران تر و بهتر آن یعنی p4 3.4 GHz هستید و همچنین اگر در هنوز این ورژن به بازار عرضه نشده شما در حال دیدن آینده intel هستید!

عمده ترین ریسک های Overclocking عبارتند از بی ثباتی و امکان خدشه وارد شدن به اطلاعات است.که معمولا” وقتی اتفاق می افتند که کاربر بخواهد بالاترین سرعت قطعه را بسنجد.

نوشته زیر از بنیان گذار Tom’s Hardware نقل شده است:

“هیچکس Crash شدن سیستم و هنگ کردن را دوست ندارد اما در یک محیط حرفه ای تجارتی دوری از crash و هنگ کردن می تواند سخت ترین کار باشد.این یک حقیقت است که شما با اورکلاک سیستم خود احتمال اشتباه CPU و دیگر قطعات را افزایش میدهید.اما این فقط یک احتمال است!اگر شما جدیدا ٌ سیستم خود را اورکلاک کرده اید و اولین کاری که انجام می دهید نوشتن پایان نامه خود است هیچ تعجب نکنید اگر یک Crash رخ داد و تمام اطلاعات روی رایانه شما پاک شد!حتما پس از اورکلاک سیستم خود را در یک وضعیت دشوار بگذارید و چیزهای مختلف را با آن تست کنید.اگر سیستم شما از همه ی این آزمون ها سربلند بیرون آمد آنوقت می توانید نفس راحتی بکشید و به خود افتخار کنید که یک سیستم را اورکلاک کرده اید!”

برای تست کردن CPU یکی از بهترین برنامه ها Prime 95’s “torture test” نام دارد که به صورت کاملا” مجانی بر روی اینترنت قرار دارد.

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

چیزهایی که باعث آسیب رسیدن به سیستم در اورکلاک میشوند عبارتند از:
سرعت – دو برابر کردن سرعت یک مدار باعث نصف شدن عمر آن می شود و در واقع ایجاد گرمای بیشتری می کند.

 

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