قابل توجه کاربران گرامی: تاپیک معرفی اعضاء برای آشنایی بیشتر با یکدیگر (حتما شرکت کنید) لینک
نمایش نتایج: از 1 به 4 از 4
Like Tree12Likes
  • 8 Post By TERRORIST
  • 3 Post By asdaf
  • 1 Post By asdaf

موضوع: زبان سطح پایین Low Level و زبان سطح بالا High level Language

  1. #1
    Moderator
    TERRORIST آواتار ها
    تاریخ عضویت
    Sep 2012
    محل سکونت
    هر جایی که عملیات تروریستی باشه.
    نام واقعی
    Behzad
    نوشته ها
    2,023
    تشکر شده 14,918 بار در 2,102 پست
    TERRORIST آنلاین نیست.

    زبان سطح پایین Low Level و زبان سطح بالا High level Language



    ========================================






    درود کاربران و دوستان گرامی


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

    1- زبان ماشین

    2- زبان اسمبلی Low level Programming.

    3- زبان های سطح بالا High Level Languages مانند: ++C و C

    هر کامپیوتری می تواند به طور مستقیم فقط زبان ماشین خود را درک کند، زبان ماشین یک زبان ذاتی و منحصر به فرد یک کامپیوتر می باشد و به هنگام طراحی سخت افزار کامپیوتر تعریف می شود، زبان ماشین عموما شامل رشته ای از اعداد است و موجب می شود که کامپیوتر عملیات اصلی را که در ارتباط با خود است هر بار راه اندازی اجراء نماید، زبان ماشین وابسته به ماشین می باشند ( زبان ماشین یک دستگاه فقط بر روی همان نوع از ماشین اجراء می شود) درک زبان ماشین برای انسان طاقت فرساء و بسیار مشکل است.

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

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

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

    زبان های سطح بالا این امکان را به برنامه نویس می دهند که دستورات مورد نیاز خود را تقریبا مانند زبان انگلیسی و عملیات ریاضی را به صورت روزمره بنویسد.


    بدیهی می باشد که زبان های سطح بالا نسبت به زبان های ماشین و سطح پایین مانند اسمبلی از محبوبیت بیشتری برخوردار می باشند، در نزد برنامه نویسان (توسعه دهندگان) ، زبان های شیرین و قدرتمند C و ++C و #C و VB و .Net و Java از جمله زبان های سطح بالا High Level می باشند.

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

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

    تمامی این توضیحاتی که خدمت دوستان دادم، فرایندهای اولیه ، ساخت ، تولید نهایی برای بازیهای رایانه ای می باشند که شما از آن استفاده می کنید برای اجراء کردن بروی ماشین خود یا همان PC.

    ================================================== ==============


    منبع: وب سایت OCH.

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

    ویرایش توسط TERRORIST : 29th November 2016 در ساعت 04:08 PM


    Motherboard : Asus X99-Deluxe-USB 3.1 Processor : Intel Core i7 6900K
    Main Memory : Gskill 4*8 Freq: 3200 MHZ 32 GB Graphics Card : Gigabyte GTX 1080 G1
    Cooling : Cooler Master MasterAir Maker 8 Power Supply : Cooler Master V-850 Full Modular



  2. 13 کاربر بابت این ارسال مفید از TERRORIST تشکر کرده اند:

    a.aryaiee (4th December 2016),amirsss (30th November 2016),asdaf (29th November 2016),ErfanDL (29th November 2016),First.Last (29th November 2016),golabettruter (29th November 2016),HWANWOONG (1st December 2016),magiteq (30th November 2016),mohammad72 (1st December 2016),msover (30th November 2016),Olesius (29th November 2016),Reza Y (16th March 2017),saghi88 (30th November 2016)



  3. #2
    Moderator
    Olesius آواتار ها
    تاریخ عضویت
    Aug 2012
    محل سکونت
    Overclockingheroes.com
    نام واقعی
    Ali
    سن
    37
    نوشته ها
    1,290
    تشکر شده 10,386 بار در 1,386 پست
    Olesius آنلاین نیست.
    تشکر بهزاد جان بابت وقتی که گذاشتید و مقاله خیلی خوب تون


    Motherboard Processor
    Main Memory Graphics Card
    Cooling Power Supply
    this is my life homie, you decide yours

    چارلی چاپلین: آدم خوبــــــــــی باش
    ولی وقتت رو برای اثباتش به دیگران تلف نکن... !

    همیشه آنچه که درباره "من" می دانی باور کن،
    نه آنچه که پشت سر "من" شنیده ای "من" همانم که دیده ای نه آنکه شنیده ای... !


  4. 5 کاربر بابت این ارسال مفید از Olesius تشکر کرده اند:

    a.aryaiee (4th December 2016),golabettruter (12th March 2017),magiteq (30th November 2016),mohammad72 (1st December 2016),TERRORIST (1st December 2016)



  5. #3
    Active Member
    asdaf آواتار ها
    تاریخ عضویت
    Oct 2013
    محل سکونت
    qom
    نام واقعی
    Mohammad.Ali
    نوشته ها
    225
    تشکر شده 1,661 بار در 231 پست
    asdaf آنلاین نیست.
    با توجه به یکسری از مطالعاتم و شواهد و کنار هم قرار دادن انها به یک نتیجه گیری رسیدم
    که ممکنه ایراد های جزئی داشته باشه یا نداشته باشه

    اینطور که مشخصه در محل کد نویسی و تایپ زبان های برنامه نویسی ، از کد های اسکی یا حروف نوشتاری به صورت یک واسطه یا کد برای انسان استفاده می شود
    و از طریق دیکودر و انکودر در cpu علائم نوشتاری چندین بار تبدیل می شوند تا به زبان اصلی قابل فهم برای ماشین تبدیل شوند

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

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

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

    برای کامپایل واسطه های نرم افزاری و api های سخت افزاری لازم است
    که حتما شنیده اید که مثلا گفته اند که برای اجرای نرم افزاری باید فلان برنامه نصب باشد

    یکی از شرایطی که خود نرم افزار برای سخت افزار دیگر کد نویسی میکند گرافیک ها هست
    به دستورات کامپایل شده cpu برای گرافیک kernel می گویند
    کرنل ها میتواند خیلی به api و قابلیت های سخت افزار مربوط باشد

    شرکت های سخت افزار گرافیکی در صورتی که بعضی کرنل ها مناسب سخت افزار انها نباشد می توانند
    در محل حافظه فایل کامپایل شده کرنل اصلی را با فایل کامپایل شده کرنل خودشان جایگزین کنند
    از طریق تغییر ادرس فایل ها در cpu در ان لحظه . که بهش کلک های درایوری می گویند

    امروزه گرافیک ها با توجه به چند نخی شدن و قابلیت های محاسباتی همانند cpu دیگر به کرنل و api های قبلی و مدل های نرم افزاری ان نیاز ندارند
    و می توان بخش های محاسباتی gpu را به جای لایه نرم افزاری جدا گانه همانند جزئی از کد نویسی cpu استفاده کرد
    یعنی فایل اجرایی exe اصلی که برای cpu کامپایل شده نیز می تواند اجزای محاسباتی gpu را در کنار خودش داشته باشد
    و نسبت به گذشته سریع تر و دقیق و دسترسی سطح پایین تر و یکسان بودن برای تمام سخت افزار را داشته باشد

    در این حالت بخش هایی از api کارت گرافیک از وظیفه محاسباتی خودشان برکنار می شوند و کنترل ان به کاربر و کامپایلر و نرم افزار اصلی cpu داده می شود
    اگر چه بخش تصویری گرافیک gpu هنوز هم جداگانه است و ربطی به محاسبات ندارد

    این تصویر استقلال از کرنل و بودن محاسبات gpu در کنار cpu در یک حافظه coherence مشترک و نرم افزار مشترک ان
    و ادرس دهی gpu همانند پردازنده را نشان میدهد

    [Only registered and activated users can see links. ]
    ویرایش توسط asdaf : 12th March 2017 در ساعت 06:41 PM
    Olesius, magiteq and golabettruter like this.


    Motherboard Processor
    Main Memory Graphics Card
    Cooling Power Supply

  6. 5 کاربر بابت این ارسال مفید از asdaf تشکر کرده اند:

    golabettruter (12th March 2017),magiteq (12th March 2017),Olesius (12th March 2017),Reza Y (16th March 2017),TERRORIST (12th March 2017)



  7. #4
    Active Member
    asdaf آواتار ها
    تاریخ عضویت
    Oct 2013
    محل سکونت
    qom
    نام واقعی
    Mohammad.Ali
    نوشته ها
    225
    تشکر شده 1,661 بار در 231 پست
    asdaf آنلاین نیست.
    زبان های رابط برای انسان مثل VB و c و ... روش های متفاوت ارتباط با انسان و امکانات متفاوت بهینه سازی کد نویسی رو دارند
    و هر فردی می تواند مناسب سلیقه خودش بین انها انتخواب کند
    زبان میانه یا intermediate زبان های برنامه نویسی انسانی را به ماشین تبدیل میکند
    تبدیل ان به ماشین برای سخت افزار های مختلف متفاوت هست

    [Only registered and activated users can see links. ]

    common intermediate language اختصار CIL بین چند زبان انسانی مختلف مشترک هست
    برای تبدیل کد نویسی ها به یکدیگر از زبان میانه استفاده میکند
    بسته نرم افزاری اجرایی گاهی میتواند به جای زبان ماشین زبان میانه باشد
    مثل جاوا که سطح بالا هست و به زبان میانه دیگر تبدیل میشود


    تعریف کرنل به صورت کلی به معنای محیط هست . خود سیستم عامل دستورات سیستمی و پردازنده را کرنل هم می گویند

    یکی از اهداف amd در یکسان سازی محیط کامپایل cpu با gpu بوده است
    که از طریق زبان میانه مشترک سطح پایین امکان پذیر است و بخش های سخت افزاری cpu و gpu با زبان ماشین متفاوت دارد

    [Only registered and activated users can see links. ]

    HSAIL زبان میانه سطح پایین برای این مورد است که برای اولین بار با پشتیبانی از SIMT ایجاد شد

    یکی از دلایل کاهش سربار یا پردازش های cpu در api های گرافیکی ناشی از محیط یکسان برای cpu و gpu است
    و حذف لایه یا کرنل و محیط جداگانه و پردازش های بیهوده برای ان

    [Only registered and activated users can see links. ]

    ماکروسافت در DX12 قابلیت مشابه را در DXIL زبان میانه خودش اضافه کرده است
    گروه khronos در گذشته با وجود زبان انسانی و قابلیت ها و بهینه سازی و افزونه های متفاوت از DX ماکروسافت
    از یک زبان میانه سطح بالا یکسان با ماکروسافت به نام LLVM استفاده میکرده است

    khronos زبان میانه خودش برای vulkan را ایجاد کرده و از زبان میانه جدید ماکروسافت و یا HSAIL استفاده نکرده است
    اگرچه تبدیل این زبان های میانه خیلی راحت است چون نزدیک هستند
    دلیل ان ایجاد اکوسیستم یا زبان میانه یکسان و هماهنگ با تمام محصولات open خودش هست

    [Only registered and activated users can see links. ]

    برای پشتیبانی زبان میانه جدید به محیط های برنامه نویسی جدید با کدنویسی و ارزش های جدید ان نیاز است
    اما برنامه نویسان احتیاج به یادگیری زبان جدیدی نیستند فقط کافی هست کمی یاد بگیرند
    و اخرین نسخه از محیط برنامه نویسی انها از زبان میانه جدید پشتیبانی کند

    یکی از هدف های amd با همکاری با تمام توسعه دهندگان برنامه نویسی برای پشتیبانی از HSAIL هست

    این وسط به نظرم ماکروسافت به خاطر تنها بودن اینده ضعیف تری دارد
    magiteq likes this.


    Motherboard Processor
    Main Memory Graphics Card
    Cooling Power Supply

  8. 3 کاربر بابت این ارسال مفید از asdaf تشکر کرده اند:

    magiteq (24th March 2017),Olesius (25th March 2017),TERRORIST (26th March 2017)



موضوعات مشابه

  1. High Bandwidth Memory 2
    توسط TERRORIST در انجمن حافظه اصلی (RAM)
    پاسخ: 0
    آخرين نوشته: 16th July 2016, 11:27 PM
  2. پایین آوردن موقتی دمای 3770k
    توسط NAVID OC در انجمن خنک کننده های آبی (Water Cooling)
    پاسخ: 7
    آخرين نوشته: 10th May 2014, 09:23 PM

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •