صفحه 1 از 3 123 آخرآخر
نمایش نتایج 1 تا 40 از 104

نام تاپیک: مقاله در مورد ساخت پردازشگر و سیستم عامل در ایران

  1. #1

    مقاله در مورد ساخت پردازشگر و سیستم عامل در ایران

    سلام

    مهندسان گرامی نظرتون در مورد این مقاله چیه؟

    بسم الله الرحمن الرحیم

    معدودی از کارشناسان نرم افزار در کشورمان با انگیزه خودکفایی و استقلال محصولات نرم افزاری بالاخص سیستم عامل، تلاش قابل تحسینی برای ساخت سیستم عامل داشته اند. بررسی ها و تحقیقات در این زمینه و مطالعه تاریخچه ساخت سیستم های عامل که بدون شک موفق ترین آنها ویندوز بوده، نشان دهنده چند واقعیت مهم است. 1- برای استفاده کاربردی از سخت افزار، سازندگان آنها مجبور شدند، نرم افزارهایی که بعداً تبدیل به سیستم عامل شدند را طراحی کنند و این اجبار باعث رشد و توسعه سیستم عامل شد.2- ارتباط تنگاتنگی میان سازندگان آن نوع کامپیوتر و سازندگان سیستم عامل وجود داشته است. 3- تولید سیستم عامل برای آنها سودآور بوده و هست.
    با توجه به این واقعیات، می بینیم که در کشورمان هیچ یک از این سه مورد نمی تواند باعث ایجاد انگیزه برای ساخت سیستم عامل شود. به نظر می رسد تنها عاملی که می تواند باعث ایجاد انگیزه برای ساخت سیستم عامل در کشورمان شود، حس استقلال طلبی و کمال طلبی ما ایرانیها است. ایرانیها همواره خواهان آن بودند که تولید کننده باشند و نه مصرف کننده و تصمیم گیرنده باشند و نه آنکه دیگران برای آنها تصمیم بگیرند. این انگیزه اگرچه در ابتدا ممکن است انسان را به حرکت وادار کند، لاکن پس از مدتی به احتمال زیاد از بین می رود و طرح های توسعه ابتر می مانند. شاید اگر کشورمان اجازه استفاده رایگان از سیستم عامل را نمی داد و قانون کپی رایت کاملاً اجرا می شد، تابحال ساخت سیستم عامل در کشورمان به نتیجه رسیده بود. با بوجود آمدن چنین شرایطی، باز هم بدلیل نبود ارتباط تنگاتنگ بین سازندگان کامپیوتر و سازندگان سیستم عامل در کشورمان، ساخت سیستم عامل با موفقت کامل صورت نخواهد گرفت. بنابراین مراحل ساخت سیستم عامل موفق (سیستم عامل کاربردی و نه تحقیقاتی و آزمایشگاهی) اینگونه خواهد بود:


    1. ساخت پردازشگر و کامپیوتر


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

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

    1. ساخت کامپایلر زبان سطح بالا

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

    به امید سربلندی و پیشرفت روزافزون ملت ایران

  2. #2

    نقل قول: مقاله در مورد ساخت پردازشگر و سیستم عامل در ایران

    سلام
    من خودم توی تمامی مواردی که شما ذکر کردید. فعالیت کردم ( از پردازنده گرفته تا سیستم عامل و کامپایلر). مشکلات اصلی کشور ما موارد زیر هست به نظر من:

    1. مشکلات مالی و اقتصادی (خود من برای تامین نیاز مالی خودم وقت پیدا نمی کنم که روی پروژه های پایه ای مثل این موارد کار کنم). خب این مورد توی کشورهای غربی خیلی کمتر هست و در نتیحه محصولات اون مواردی مثل لینوکس بوده و مردمی که از سلامت روحی روانی بهتری بهره مند هستند.

    2. مشکل اساتید بی سواد دانشگاهی. (به جزء چند مورد از استادهای دانشگاهی تقریبا همه اونها از سواد کافی برای تدریس و حتی فعالیت توی رشته کامپیوتر بهره مند نیستند. و تنها پارامترهای دیگه که همه می دونیم چی هست باعث شده به جایی که هستند برسند.) در حقیقت خیلی از اساتید کامپیوتر حتی شایستگی دریافت مدرک لیسانس رو هم ندارم به نظر من.

    3. حمایت نکردن. مثلا خود من وقتی داخل دانشگاه تصمیم گرفتم روی پردازنده کار کنم امکانات آزمایشگاهی نظیر FPGA در اختیارم قرار داده نشد. و جالبتر این بود که دستگاهای FPGA دانشگاه چند سال بود خاک می خوردن و یا حتی یکسری قطعه الکترونیک نیاز داشتم که خودم به سختی از بازار با قیمت زیاد تهیه کردم اما داخل انبار دانشگاه یه باکس کامل از اون داشت خاک می خورد. حتی یکیش هم استفاده نشد. این موضوع محافظ کار بودن ما ایرانی ها باعث شد که حتی مدیر گروه ما هم بترسه نامه بده که از امکانات استفاده کنیم. (الیته مدیر گروه ما حتی نمی دونست ویژوال استادیو چیه و وقتی بهش برنامه دادم نمی تونست اجراش کنه. طرف مثلا دکتری کامپیوتر داشت)

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

    مشکل ما ایرانی ها اینه:

    1. که فکر می کنیم نابقه هستیم که نیستیم. (از 70 میلیون ایرانی یه نفر در میاد که رفته بجایی رسیده اونم نه توی ایران. 70 میلیون همه جا میگن ما آخرشیم و ... )
    2. فکر می کنیم علم دست ماست ( اما حتی مثلا توی کامپیوتر به اندازه 80 سال پیش کشورهای مطرح مثل آمریکا و آلمان و ... نیستیم). بدتر از همه اینه که فکر میکنیم اونها علم رو باید در اختیار ما قرار بدن و نه اینکه ما بدستش بیاریم و اگر در اختیارمون قرار نمی دن برای اینه که ما رو چپاول کنن.
    3. ...

    خلاصه با این وضع ما چیزی جز توهم نمی زنیم و چیزی هم جزء توهم نمی شیم. و به نتیجه آخر می رسیم که میگه خلایق را هرچه لایق.

  3. #3

    نقل قول: مقاله در مورد ساخت پردازشگر و سیستم عامل در ایران

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

  4. #4

    نقل قول: مقاله در مورد ساخت پردازشگر و سیستم عامل در ایران

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

    بعدش با توجه به کاربرد یک مجموعه دستور (instruction set) تعریف میشه که خود اینکار مرحله پیجیده ای هست و پارامترهای زیادی باید در نظر گرفته شه. (که بیشترش مربوط به دستیابی به هدف مخصوصا از نظر سرعت است). و سرعت هم نه با کلاک پردازنده بلکه با یه واحد تقریبی دیگه به اسم CPI تعریف میشه (clock per instruction) این واحد هم باز بر میگرده به متوسط کلاک های مورد نیاز برای تک تک دستورات یک برنامه. و خلاصه کلام کلی پارامتر دیگه دخیل میشه تا آخر کار معماری مجموعه دستورات مشخص شه که بهش ISA (Instruction Set Architecture(

    مرحله بعد طراحی معماری پردازنده هست که خودش باز به چندین بخش تقسیم میشه و ... این مرحله با اینکه به نظر میاد مهمترین قسمت هست اما به شدت وابسته به اینه که ISA درست باشه و ...

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

    و بعد از اینکه سخت افزار توصیف شده و یا مدل شده جواب پس داد. نوبت سازمان کامپیوتر و مهندسین الکترونیک هست که اون رو تبدیل به چیپ کنن.

    تک تک این مراحل بشدت پیچیده هست و از نظر تکنولوژی یکی از پیچیده ترین علوم رو کره خاکی حساب میشه. (مخصوصا تولید silicon die و ویفر ) که تقرییا پیچدیگی اونها باعث شده خیلی از کشورهای دنیا حتی جهان اول هم نتونن از عهده اون بر بیان.

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

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


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

    طراحی کامپایلر:
    اصولا برای طراحی کامپایلر هم باید توجیح وجود داشته باشه. مساله مهم اینه که کامپایلرهای معروف (مثل GCC) رو میشه به راحتی برای پلتفرم های جدید پورت کرد. و تنها چیزی که شاید باید از اول نوشته شه یه اسمبلر هست اما خب کامپایلر رو هم میشه با سرعت بالا به کمک ابزارهای مثل lex و yacc طراحی کرد.

    مراحل طراحی اونم عبارت هست از:

    1. تعریف نیاز
    2. تعریف ساختار زبان ( که معمولا با BNF مدل میشه)
    3. ساخت اسکنر ( که میشه با lex ساخت )
    4. ساخت پارسر ( که میشه با yacc ساخت )
    5. ساخت کد میانی (اختیاریه)

    -------------------- از اینجا مربوط به اسمبلر هست
    6. ساخت کد نهایی توابع و ... ( میشه از اسمبلر های جانبی مثل nasm استفاده کرد. توجه کنید که ساختار byte code معماری x86 بسیار پیچیده و نادرست هست. بهتره که از یک اسمبلر و یا کتابخونه هایی مثل lightning استفاده کنید.)

    ------------------------ از اینحا مربوط به لینکر هست
    7. لینک . (که میشه از ld استفاده کرد)

    قسمت 6 و 7 رو هم میشه با مواردی مثل ماشین مجازی یا مفسر و ... عوض کرد. اصولا کامپایلر تا مرحله چهار کافیه و بعد از اون بسته به سلیقه و نیاز فرق میکنه.

  5. #5

    نقل قول: مقاله در مورد ساخت پردازشگر و سیستم عامل در ایران

    سلام

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

    در مورد پورت کردن کامپایلرها برای پلتفرم جدید لطفاً بیشتر توضیح بدهید. یعنی سورس کامپایلر را می شود تغییر داد؟ یا اینکه تنظیماتی دارند که می شود، دستورالعملهای جدید را به آنها معرفی کرد؟
    نرم افزارهای lex و yacc که معرفی فرمودید، چه کارکردی دارند؟ این نرم افزارها به چه منظور طراحی شدند. تخصص آنها چیست؟ اسکنر و پارسر چی هستند؟

  6. #6

    نقل قول: مقاله در مورد ساخت پردازشگر و سیستم عامل در ایران

    آقا میلاد شما رشتتون چیه؟
    من پویا هستم و رشته تحصیلی من معماری کامپیوتر هست.

    مسئله اصلی فعلاً در ساخت پردازنده این است که اصلاً امکان ساخت قطعات الکترونیکی در ابعاد میکرو ایجاد شود.
    میشه تا حد زیادی این مشکل رو به کمک FPGA حلش کرد. در مورد طراحی die هم در سطح آزمایشگاهی شنیدم دانشگاه صنعتی اصفهان تونسته کارهایی بکنه اما خب بعید می دونم اگر موفق شده باشن حتی نمونه آزمایشگاهی هم بسازن باید ازشون قدردانی بشه چون اینکار به مراتب پیچیده تر از مواردی هست که ایران داره براش مذاکره میکنه.

    در مورد پورت کردن کامپایلرها برای پلتفرم جدید لطفاً بیشتر توضیح بدهید. یعنی سورس کامپایلر را می شود تغییر داد؟ یا اینکه تنظیماتی دارند که می شود، دستورالعملهای جدید را به آنها معرفی کرد؟
    بهتره که در مورد نحوه ساخت کامپایلرها و ساختارشون مطالعه کنید. چون این ماجرا پیچیده تر از چیزی هست که به نظر میاد

  7. #7

    نقل قول: مقاله در مورد ساخت پردازشگر و سیستم عامل در ایران

    سلام

    آقا پویا من واقعاً از شما معذرت می خوام بابت اینکه اسمتون را اشتباه نوشتم. نمی دونم حواسم کجا بود.
    در مورد ساخت کامپایلر بنده فقط کتاب طراحی کامپایلرهای دانشگاه را که پاس کردم، مطالعه کردم. فکر می کردم زیاد پیچیده نباشه. شما چه منابعی را پیشنهاد می کنید؟ برای مطالعه FPGA چه منابعی را پیشنهاد می کنید؟
    ضمناً اگه منابع مالی تامین بشه خود شما می تونید یک کامپیوتر طراحی کنید و بسازید؟ شامل پردازنده، رم، خروجی گرافیکی، هارد و کلاً مدیریت IO.
    آخرین ویرایش به وسیله H_afkhami60 : پنج شنبه 16 بهمن 1393 در 10:05 صبح

  8. #8

    نقل قول: مقاله در مورد ساخت پردازشگر و سیستم عامل در ایران

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

    برای این مورد که منبع رو نت ریخته فقط باید سرج کنید:

    http://ds9a.nl/lex-yacc/cvs/lex-yacc-howto.html
    http://gnuu.org/2009/09/18/writing-y...-toy-compiler/


    منبع برای FGPA کمه اما اگر توی تهران هستید می تونید به راحتی برید شرکت رهپویان علم صنعت آوا و دوره رو ببینید. پیشنهاد می کنم زبان verlog رو یاد بگیرید و با FPGAهای اسپارتان شروع کنید که نسبت به دیگه FPGA ها ارزون تر هستند و به نظرم نسبت به قیمتش بهتر. من خودم از برد زیر استفاده می کنم. اما برد درست حسابی بخوایید بالای 14 میلیون اینا آب میخوره:

    http://www.revsa.ir/products/xilinx-...rtan6-ava6slx9


    ضمناً اگه منابع مالی تامین بشه خود شما می تونید یک کامپیوتر طراحی کنید و بسازید؟ شامل پردازنده، رم، خروجی گرافیکی، هارد و کلاً مدیریت IO.
    من رو بیخیال، کل متخصص های خاورمیانه و آسیا رو هم جمع کنید نمی تونید یه کامپیوتر از پایه بسازید جوری که بشه تولیدش کرد. البته می تونید کامپیوترهای در سطح 20 سال پیش و شاید حتی 30 سال پیش بسازید اما دیگه برای استفاده تجاری خیلی دیر شده و عملا امکان موفقیت منفی هست.

    کارهای سیستمی در این سطح رو بهتره برای دلتون انجام بدید و بیخیال پول باشید.(حداقل این مورد توی ایران 100 درصد صدق می کنه)

  9. #9

    نقل قول: مقاله در مورد ساخت پردازشگر و سیستم عامل در ایران

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

    کل متخصص های خاورمیانه و آسیا رو هم جمع کنید نمی تونید یه کامپیوتر از پایه بسازید جوری که بشه تولیدش کرد. البته می تونید کامپیوترهای در سطح 20 سال پیش و شاید حتی 30 سال پیش بسازید
    دلیل شما برای این نظر چیه؟

  10. #10

    نقل قول: مقاله در مورد ساخت پردازشگر و سیستم عامل در ایران

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

    یعنی ساخت پردازنده، رم، هارد و کارت گرافیک
    بحث ساخت پردازنده با رم و ... خیلی فرق داره شما می تونید پردازنده بسازید اما از ram ddr استفاده کنید یا هر شکل دیگه و یا حتی چیپ گرافیکی دیگه مثلا داخل SOC های شرکت allwinner چندین هسته و ماژول و پردازنده از شرکت های مختلف وجود داره.


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

  11. #11

    نقل قول: مقاله در مورد ساخت پردازشگر و سیستم عامل در ایران

    تکنولوژی هسته ای یک باشه. تکنولوژی ساخت پردازنده 100 هست.
    واقعاً 100 برابره یا منظورت اینه که خیلی پیچیده تره؟
    اگه ما بخواهیم این پردازنده را در ابعاد متر طراحی کنیم و بسازیم مثلاً به اندازه یک استادیوم آیا باز هم نمی توانم؟ منظورم این است که منظور از پیچیدگی این تکنولوژی به خاطر ابعاد بسیار کوچک است یا به غیر از ابعاد باز هم پیچیدگیهای دیگری وجود دارد؟

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

    با تمام این تفاسیر حتماً شما تاریخچه این شرکت های آمریکایی را تا رسیدن به این نقطه مطالعه فرمودید. یعنی ما نمی تونیم همون راه را طی کنیم و موفق بشیم، حتی با صرف وقت و هزینه زیاد؟
    نهایتاً جمع بندی بحث با شما. فرض بفرمائید دولت تصمیم گرفت یک سازمانی مثل سازمان هوا فضا، برای تحقیقات در زمینه ساخت پردازنده، تأسیس کنه و شما بشی رئیسش. این سازمان به چه تجهیزات و دستگاه هایی نیاز داره؟ به چه تخصص هایی نیاز داره؟ به چه نرم افزارهایی نیاز داره؟ چه فازهایی را برای رسیدن به هدف طراحی می کنید؟
    آخرین ویرایش به وسیله H_afkhami60 : جمعه 17 بهمن 1393 در 09:48 صبح

  12. #12

    نقل قول: مقاله در مورد ساخت پردازشگر و سیستم عامل در ایران

    واقعاً 100 برابره یا منظورت اینه که خیلی پیچیده تره؟
    به مراتب پیچیده تر هست.


    گه ما بخواهیم این پردازنده را در ابعاد متر طراحی کنیم و بسازیم مثلاً به اندازه یک استادیوم آیا باز هم نمی توانم؟ منظورم این است که منظور از پیچیدگی این تکنولوژی به خاطر ابعاد بسیار کوچک است یا به غیر از ابعاد باز هم پیچیدگیهای دیگری وجود دارد؟
    نقشه پنتیوم سه از نقشه شهر نیویورک با تمام کوچه و پس کوچه هاش بزرگتر هست. (حداقل من اینجوری شنیدم)


    آقاپویا شاید بقیه کشورها چون از لحاظ اقتصادی براشون مقرون به صرفه نبوده و نیاز مبرمی نداشتند، تحقیقات زیادی در این زمینه نکردند. نظرتون چیه؟
    این تکنولوژی بیشتر از اقتصادی از نظر نظامی اهمیت داره و توی نظام هم هیچ هزینه ای کم نیست مخصوصا برای کشورهایی مثل روسیه و چین



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



    نهایتاً جمع بندی بحث با شما. فرض بفرمائید دولت تصمیم گرفت یک سازمانی مثل سازمان هوا فضا، برای تحقیقات در زمینه ساخت پردازنده، تأسیس کنه و شما بشی رئیسش. این سازمان به چه تجهیزات و دستگاه هایی نیاز داره؟ به چه تخصص هایی نیاز داره؟ چه فازهایی را برای رسیدن به هدف طراحی می کنید؟
    برای اینکار فعلا کم هزینه ترین و بهترین راه استفاده از همون FPGA هست و بدون شرط باید روی این مورد کار شه که زودتر و بدون دور ریختن پول به نتیجه رسید. دانشگاه صنعتی اصفهان هم توی این زمینه خیلی کار کرده و به موفقیت های زیادی هم دست پیدا کرده اما خب هنوز حتی نقطه شروع هم به نظر من نیست. اما خب میشه یه قسمت از نیازها مخصوصا نیازهای نظامی رو بر آورده کرد. اما خب تا اون نقطه که شما فکر می کنید راه زیادی هستش. مثلا برای کاربردهای نظامی حتی پوشش پردازنده به جای پلاستیک باید یه نوع خاص سرامیک باشه که فقط چند کشور توان تولیدش رو دارن و ....

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

  13. #13

    نقل قول: مقاله در مورد ساخت پردازشگر و سیستم عامل در ایران

    با سلام به همه . یه چیزی به نظرم اومد خواستم بگم.
    شما برای رسیدن به این تکنولوژی نیاز دارید که تمام ابعاد اون رو داشته باشید از علوم شیمی و فیزیک و مکانیک گرفته تا فتونیک و کامپیوتر برای رسیدن به این علوم هم هنوز خیلی خیلی زود هست.
    این چیزی که من اسمش رو گذاشتم روش حل مسئله . شما مسائل خود را چگونه حل می کنید؟ این جواب این سوال در غرب همینه به روش تفکیکی یعنی شکوندن مسئله به اجزا اون و حل تک تک اونها و دوباره سر هم کردن اونهاست . اما مشکل چیه که در ایران این روش جواب نمیده ؟
    من دو دلیل به ذهنم می رسه اول اینکه سوال مشترک وجود نداره . دوم اینکه کی وظیفه هماهنگی یا راهبری پروژه را بر عهده داره ؟
    ما دلیل اینکه چرا باید کاری به این روش انجام بشود را نمی دونیم .
    در ایران بدلیل سخت اجرا شدن قوانین ما همه چیز رو به گردن قانون می اندازیم . اما چیزی با لا تر از قوانین و روابط اجتماعی وجود داره که تمام اینها بر پایه اون بنا می شن .قفل گمشده کلیدها . ما تمام کلید ها را داریم . اما قفل گمشده است.
    o-------m o-------m o-------m o-------m o-------m o-------m o-------m o-------m o-------m o-------m o-------m o-------m o-------m o-------m o-------m o-------m o-------m

  14. #14

    نقل قول: مقاله در مورد ساخت پردازشگر و سیستم عامل در ایران

    این چیزی که من اسمش رو گذاشتم روش حل مسئله . شما مسائل خود را چگونه حل می کنید؟ این جواب این سوال در غرب همینه به روش تفکیکی یعنی شکوندن مسئله به اجزا اون و حل تک تک اونها و دوباره سر هم کردن اونهاست . اما مشکل چیه که در ایران این روش جواب نمیده ؟
    من دو دلیل به ذهنم می رسه اول اینکه سوال مشترک وجود نداره . دوم اینکه کی وظیفه هماهنگی یا راهبری پروژه را بر عهده داره ؟
    ما دلیل اینکه چرا باید کاری به این روش انجام بشود را نمی دونیم .
    در ایران بدلیل سخت اجرا شدن قوانین ما همه چیز رو به گردن قانون می اندازیم . اما چیزی با لا تر از قوانین و روابط اجتماعی وجود داره که تمام اینها بر پایه اون بنا می شن .قفل گمشده کلیدها . ما تمام کلید ها را داریم . اما قفل گمشده است.
    سلام

    می تونی بیشتر توضیح بدی، نتونستم منظورت رو درست متوجه شم. چیزی که برداشت کردم این بود که می گفتی باید گروهی کار کرد؟ یا اینکه همه چیز رو خودمون انجام ندیم و ... ؟


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



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

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



    نمی خوام ناامیدتون کنم اما زمانی باید در مورد خیلی مسائل با غرور صحبت کرد که وجود داشته باشه و گرنه همش توهم هست و توهم هم شکست.

  15. #15

    نقل قول: مقاله در مورد ساخت پردازشگر و سیستم عامل در ایران

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

  16. #16

    نقل قول: مقاله در مورد ساخت پردازشگر و سیستم عامل در ایران

    با سلام.
    بنده هم یه نظر کوتاه و مختصر در مورد بحث پیشرو داشتم که گفتنش خالی از لطف نیست.
    در مورد پردازنده باید گفت که در سالهای ۸۰تا۸۴ پیشرفت های خوبی داشتیم. اما حالا کجاست ؟! بنده خیلی دنبال کردم یه شرکت پردازنده ساز ایرانی(حداقل یه نسخه داده باشه که بشه روش حساب کرد) پیدا کنم اما چیزی دستگیرم نشد.
    اینکه میگید منابع و مستندات لازم در مورد پردازنده های فعلی(مانند اینتل) موجود و یا قابل فهم نیست یک حرف اشتباست ! هست. پیگیر نیست.
    تکنولوژی ساخت پردازنده هم وابسته به علم های دیگری هست که جناب پویا برخی از موارد رو مورد بحث بررسی قرار دادند. اما شدنی هست!
    در مورد سیستم عامل هم اصلا کار سختی نیست !! دوباره تاکیید می کنم ساخت سیستم عامل همچین سخت نیست. فقط توسعه یک سیستم عامل در گرو چند نکته اساسی هست :
    اولین مورد اقتصاد هست ! و بودنش کاملا مشخصه.
    دومین مورد اعضای پای کار(کسی که نیاز رو درک کرده باشه) هست. حداقل ۵ نفر.
    سومین و اساسی ترین مورد زیر ساخت هست. که این موجود هست !
    چهارمین مورد بازار هست. که جواب این موضوع دست من نیست.
    بنده در یک پست جدا بحث کردم که اگر من ۱۰نفر پای کار ثابت داشتم و مشکل مالی نداشتم(که سر کار نرم) حتما توی ۳-۴سال چیزی شبیه به NT4.0 بیرون خواهم داد(که البته سیستم عامل نه نرم افزارهای جانبی همراه)(منظور ساختار سیستم و فراخوانی های اون هست)

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

    اما با تمام بحث های دیگه مشکل جای دیگریست! مشکل ما ایمه که کشور ما چند نفر مثل من داره احساس میکنیم علامه ... هستیم. بنده یه سیستم عامل با ۴خط کد نوشتم احساس می کنم بیل گیتسم.(حالا بگذریم که ۲تا نرم افزار لایه کاربرد طراحی کردن خودشونو ....)
    دانشگاه هم اونطرف قضیه هست.که دوباره جناب شاهین فر مورد لطف قرار دادند!
    اما بنده آدمی نبودم که بخواهم با نا امیدی به موضوع نگاه کنم. چند صباحی هم روی سیستم عامل های x86 و پورت کردن اونها مطالعه داشتیم و به این نتیجه رسیدم که یکی از ضعف های کشور ما کمبود منابع فارسی در این مورد هست.
    از این جهت تصمیم به نگارش کتابی گرفتم که حدود ۵ فصلی از اون آماده هست. دوستان فکر کردند پروژه سیستم عامل کوثر متوقف شده. اما من تمام مراحل رو روی بررسی و آزمایش بنا کرده بودم تا مباحث آموزشی تکمیل شود. در طی نگارش هم به سیستم عامل هایی مثل آراکس هم نگاهی داشته ام. به نظر من اگه یه منبع فارسی پایه برای دوستانی که حال و حوصله خوندن مطالب انگلیسی ندارند وجود داشت شاید با این همه استعداد در این کشور به جاهایی خیلی بالاتر رسیده بودیم. ما حتی دانشجویان کاردانی رو وادار به یادگیری ساختار سیستم عامل و نوشتن اون بکنیم شاید در کارشناسی و ارشد طرح هایی داشته باشند که ... ! در زمانی که بنده تا پایان دوره کارشناسی باید با Turbo C++‎ کار کنم و اون هم در حد ... مطمئن باشید از دید من سیستم عامل یه موضوع سخت و پیچیده و غیر قابل پیاده سازی هست. این افرادی که در این حوزه حرفی برای گفتن داشته اند در دانشگاه چیزی دستگری آنها نشده.
    با آرزوی موفقیت برای دوستان.
    وسلام علیکم و رحمه الله.

  17. #17

    نقل قول: مقاله در مورد ساخت پردازشگر و سیستم عامل در ایران

    سلام

    اینکه میگید منابع و مستندات لازم در مورد پردازنده های فعلی(مانند اینتل) موجود و یا قابل فهم نیست یک حرف اشتباست ! هست. پیگیر نیست.
    آقای رضوانی بنده به شما خدا قوت میگم. امیدوارم که در مراحل تکمیل سیستم عامل کوثر موفق باشید. قطعاً تجربیات جنابعالی از بنده بیشتر است.
    فکر میکنم با توجه به توضیحات شما مهندسان عزیز، در برهه کنونی که امکان ساخت پردازنده داخل کشور وجود ندارد و یا بسیار طول خواهد کشید، بهترین کار(برای مهندسان نرم افزار) این باشد که تصور کنیم پردازنده ساخته شده و حالا نوبت به ساخت سیستم عامل است. (البته میتونیم با توجه به پیشنهاد آقاپویا از تراشه های FPGA استفاده کنیم.)
    لطف بفرمائید، یکی از پردازنده های بروز شرکت اینتل (که هم اکنون بیشتر در بازار ایران در حال استفاده است) را به همراه مستندات و مشخصات کامل اون شامل لیست دستورات و ... که یک برنامه نویس سیستم عامل به آنها نیاز دارد را معرفی کنید. اگه لطف کنید بصورت pdf باشه خیلی مفیدتر خواهد بود.
    آخرین ویرایش به وسیله H_afkhami60 : شنبه 18 بهمن 1393 در 14:22 عصر

  18. #18

    نقل قول: مقاله در مورد ساخت پردازشگر و سیستم عامل در ایران

    بنده تا قبل از شروع به کدنویسی سیستم عامل, درک صحیحی در مورد مراحل طراحی اون نداشتم. بله ! همینطوره. باید تا حدودی از پردازنده صرف نظر کرد(و یا حداقل مبنا رو یکی از پردازنده های موجود دونست). پیشتر نیز آقای پویا خان در مورد پورت کردن سیستم ها بحث کرد.
    بهتره برای شروع منبا رو روی پردازنده های موجود اینتل قرار داد. خوبی پردازنده های اینتل سازگاری اون با مدل های قدیمی این شرکت هست. یعنی شما از زمان ۸۰۸۶ تا پنتیوم تقریبا می تونید از یک مدل استفاده کنید.
    اگه یه نگاه گذرا به این ساختار داشته باشیم اینه که سیستم کامپیوتر شما در زمان شروع به کار در مد حقیقی هست. مدحقیقی همان حالت ۸۰۸۶ قدیم هست. یعنی شما اگه سیستم عاملی داشته باشید که برای این پردازنده نوشته شده باشه بازم(تقریبا)برای سیستم های فعلی جواب میده. البته باید مد نظر داشت که پردازنده های بعد از اون ۸۰۸۶ ( به عنوان مثال ۸۰۴۸۶) دستورالعمل هایی در اختیار شما قرار می می دهند که شما رو وارد مد حفاظت شده قرار می دهند. یعنی همون پردازنده ۸۰۸۶ حالا بصورت پیشرفته تر عمل می کنه و قابلیت های بیشتری داره. حالا مد محافظت شده داستان های خاص خودش رو داره. مثلا دیگه خبری از وقفه های بایوس نیست یا ...
    اگه به مدل های هسته های سیستم عامل دقت کنید اولین لایه درگیر سخت افزار لایه HAL هست .این لایه رو برای هر نوع پردازنده ای بنویسید تقریبا معنی پورت کردن رو پیدا میکنه . یعنی هسته سیستم عامل شما برای یک سیستم دیگه قابل اجرا هست(البته پورت کامپایلر و .. )
    برای مطالعه منابع اینتل(فارسی) به کتاب ریزپردازنده ها (سری اینتل) انتشارات نص رجوع کنید. همچنین کتاب پرفسور مزیدی هم بد نیست.
    برای سیستم عامل هم تنن باوم - سیلبر شاتس برای دید کلی مفید هست.
    برای زبان سی هم کتاب ساده خود دنیس ریچی(ترجمه فارسی) کافی هست. دقت کنید که در زمان طراحی سیستم عامل(از ابتدا) شما هیچ گونه تابع خاصی(مانند printf , ... ) در اختیار ندارید و باید توسط خودتون بازنویسی بشوند(البته libstl میشه .. )

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

  19. #19

    نقل قول: مقاله در مورد ساخت پردازشگر و سیستم عامل در ایران

    سلام.
    مطمئن باشید اگه میشد. سالها قبل روسها، چینی ها و یا ژاپنی ها اینکار رو می کردند.
    چینی ها مدتهاست از طرق مختلف(!) به تکنولوژي که میخوان دست پیدا می کنند.به عنوان نمونه هم میشه به کش رفتن نقشه های F-35 بیچاره از لاکهید مارتین اشاره کرد.
    در زمینه تولید پردازنده ها هم خدا خیرشون بده یه کارایی کردند : http://hardware.slashdot.org/story/1...tic-processors

  20. #20

    نقل قول: مقاله در مورد ساخت پردازشگر و سیستم عامل در ایران

    چینی ها مدتهاست از طرق مختلف(!) به تکنولوژي که میخوان دست پیدا می کنند.
    این موضوع در ایران هم مشکلی نداره. پیگیر این قضیه فعلا موجود نیست(یا حداقل بنده اطلاع ندارم). اون قضیه کش رفتن نقشه از لاکهید مارتین چیزی شبیه با نورث روپ برای ایران هست. در تمام دنیا موضوع سایبر مطرح هست. مال خودتو سفت بگیر همسایتو دزد نکن.

  21. #21

    نقل قول: مقاله در مورد ساخت پردازشگر و سیستم عامل در ایران

    چینی ها مدتهاست از طرق مختلف(!) به تکنولوژي که میخوان دست پیدا می کنند.به عنوان نمونه هم میشه به کش رفتن نقشه های F-35 بیچاره از لاکهید مارتین اشاره کرد.
    در زمینه تولید پردازنده ها هم خدا خیرشون بده یه کارایی کردند :

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


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


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


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

    اینکه میگید منابع و مستندات لازم در مورد پردازنده های فعلی(مانند اینتل) موجود و یا قابل فهم نیست یک حرف اشتباست ! هست. پیگیر نیست.


    100 درصد تایید می کنم. مستندات کامل دقیق هستن. منتها حوصله ما نمی کشه اونها رو بخونیم.

    سیستم کامپیوتر شما در زمان شروع به کار در مد حقیقی هست.
    از کامپیوتر به کامپیوتر فرق میکنه. تا اونجا که من می دونم در فریم ویر های EFI و UEFI قضیه فرق می کنه و اونها مستقیما در pmode یا real mode اجرا میشن. (البته اینور اونور خودندم و مستنداتش رو هنوز مطالعه نکردم، شاید اشتباه باشه)

  22. #22

    نقل قول: مقاله در مورد ساخت پردازشگر و سیستم عامل در ایران

    چینی ها مدتهاست از طرق مختلف(!) به تکنولوژي که میخوان دست پیدا می کنند.به عنوان نمونه هم میشه به کش رفتن نقشه های F-35 بیچاره از لاکهید مارتین اشاره کرد.
    ای دوست شکر بهتر یا آنک شکر سازد خوبی قمر بهتر یا آنک قمر سازد
    ای باغ توی خوشتر یا گلشن گل در تو یا آنک برآرد گل صد نرگس تر سازد
    ای عقل تو به باشی در دانش و در بینش یا آنک به هر لحظه صد عقل و نظر سازد
    ای عشق اگر چه تو آشفته و پرتابی چیزیست که از آتش بر عشق کمر سازد
    بیخود شده آنم سرگشته و حیرانم گاهیم بسوزد پر گاهی سر و پر سازد
    دریای دل از لطفش پرخسرو و پرشیرین وز قطره اندیشه صد گونه گهر سازد
    آن جمله گهرها را اندرشکند در عشق وان عشق عجایب را هم چیز دگر سازد
    شمس الحق تبریزی چون شمس دل ما را در فعل کند تیغی در ذات سپر سازد

  23. #23

    نقل قول: مقاله در مورد ساخت پردازشگر و سیستم عامل در ایران

    سلام

    مهندسان گرامی بنده همیشه فکر می کردم که درس تاریخ فقط برای سرگرمی خوبه. اما اخیراً متوجه شدم که اشتباه می کردم. چند دقیقه پیش داشتم تاریخچه ساخت میکروپروسسورها را مطالعه میکردم:
    در سال 1971 اینتل اولین میکروپروسسور را ساخت. 4 بیتی. مهمترین کارش جمع کردن 2 عدد 4بیتی بود. قادر بود 4096 مکان از حافظه را آدرس دهی کنه.(ساخته شده برای ماشین حساب)
    در سال 1972 اینتل دومین میکروپروسسور خودش را ساخت. 8 بیتی. دارای قابلیت آدرس دهی 16 کیلوبایت مکان از حافظه و اجرای 45 دستورالعمل.
    در سال 1974 اینتل سومین میکروپروسسور خودش را ساخت. 8 بیتی. دارای قابلیت آدرس دهی 64 کیلوبایت مکان از حافظه و اجرای 75 دستورالعمل. (باعث تولد کامپیوترهای خانگی شد.)
    در سال 1976 شرکت Zilog میکروپروسسور Z80 را ساخت. 8 بیتی. دارای قابلیت آدرس دهی 64 کیلوبایت مکان از حافظه و اجرای 176 دستورالعمل.
    ساخت میکروپروسسور 16 بیتی سالها بعد اتفاق افتاد(با پیشرفت صنعت نیمه هادی)

    مهندسان عزیز توجه داشته باشید که امروز ناسلامتی ما به عنوان مهندسان کامپیوتر مملکت هستیم و باید احساس مسئولیت کنیم. باید طوری عمل کنیم که آیندگان به ما افتخار کنند. باید با توکل بر خدا کار را شروع کنیم. نباید انتظار داشته باشیم که در طول 5 سال یا 10 سال به فناوری های امروز پردازنده ها دست پیدا کنیم. نباید از خودمان انتظار داشته باشیم که 10 ساله به مرز این علم برسیم. اما باید از خودمان انتظار داشته باشیم که لااقل اینکار را امروز شروع کنیم و تلاش خود را انجام دهیم. قظعاً موفق خواهیم شد. معروفه دیگه: از تو حرکت از خدا برکت. طولانی ترین راه ها از قدمهای نیم متری تشکیل شده اند. خودمان را باور کنیم. اما به خودمان مغرور نشویم. مآیوس هم نشویم. انتقاد هم هیچ فایده ای ندارد. از حداقل ها شروع کنیم. می تونیم با پروتئوس شروع کنیم. اینتل همین پروتئوس را هم نداشت. اینتل بعد از 44 سال حالا به این نقطه رسیده، نه 2 ساله، نه 10 ساله.

    موفق و سربلند باشید.

  24. #24

    نقل قول: مقاله در مورد ساخت پردازشگر و سیستم عامل در ایران

    از کامپیوتر به کامپیوتر فرق میکنه. تا اونجا که من می دونم در فریم ویر های EFI و UEFI قضیه فرق می کنه و اونها مستقیما در pmode یا real mode اجرا میشن. (البته اینور اونور خودندم و مستنداتش رو هنوز مطالعه نکردم، شاید اشتباه باشه)
    و البته من مرسوم کامپیوترهای سازگار با IBM رو گفتم. بله . در ساختار EFI موضوع بارگذاری مقداری فرق میکنه. اما مدحقیقی و مدمحافظت شده نسبت به شرایط هست. تنظیم یا خارج کردن از تنظیم بیت PE در Cr0 .(ضمن سازگاری با بارگذارای قدیمی که برای BIOS نوشته شده بودند)

    سلام

    مهندسان گرامی بنده همیشه فکر می کردم که درس تاریخ فقط برای سرگرمی خوبه. اما اخیراً متوجه شدم که اشتباه می کردم. چند دقیقه پیش داشتم تاریخچه ساخت میکروپروسسورها را مطالعه میکردم:
    در سال 1971 اینتل اولین میکروپروسسور را ساخت. 4 بیتی. مهمترین کارش جمع کردن 2 عدد 4بیتی بود. قادر بود 4096 مکان از حافظه را آدرس دهی کنه.(ساخته شده برای ماشین حساب)
    در سال 1972 اینتل دومین میکروپروسسور خودش را ساخت. 8 بیتی. دارای قابلیت آدرس دهی 16 کیلوبایت مکان از حافظه و اجرای 45 دستورالعمل.
    در سال 1974 اینتل سومین میکروپروسسور خودش را ساخت. 8 بیتی. دارای قابلیت آدرس دهی 64 کیلوبایت مکان از حافظه و اجرای 75 دستورالعمل. (باعث تولد کامپیوترهای خانگی شد.)
    در سال 1976 شرکت Zilog میکروپروسسور Z80 را ساخت. 8 بیتی. دارای قابلیت آدرس دهی 64 کیلوبایت مکان از حافظه و اجرای 176 دستورالعمل.
    ساخت میکروپروسسور 16 بیتی سالها بعد اتفاق افتاد(با پیشرفت صنعت نیمه هادی)
    اینتل از ۴۰۰۴ تا ۸۰۸۵ فقط یکی از سازندگان تراشه بود که رقیب های اون کم نبودند. اما زمانی که ۸۰۸۸ رو ارائه کرد و IBM اون رو برای کامپیوترهای خانگی انتخاب کرد, عملا بخت روی اینتل باز شد و سالهاست بر عرصه پردازنده یکتنه میتازه. موتورولا و دیگران هم کارایی کردند که در جای خودش جالب بوده. بد نیست مطالعه ای هم روی اونها داشته باشید. یا مثلا اپل تا قبل ۲۰۰۵ بیشتر محصولات روی اینتل یا ساپورت نمیشد یا باید پورت می کردین.

  25. #25

    نقل قول: مقاله در مورد ساخت پردازشگر و سیستم عامل در ایران

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

    تنظیم یا خارج کردن از تنظیم بیت PE در Cr0 .(ضمن سازگاری با بارگذارای قدیمی که برای BIOS نوشته شده بودند)
    درسته میشه برگشت انجام داد اما خب به این راحتی هم نیست و شما حتما باید کد 64 بیتی و یا 32 بیتی رو هم داشت و الان تمام سیستم های جدید دیگه با EFI ساپورت میشن و مسائل سخت افزاری باعث شده که برگشت هم کم کم غیر ممکن شه. مثلا بایوس فقط هاردهای زیر 2 گیگابایت رو ساپورت میکنه و...


    مهندسان عزیز توجه داشته باشید که امروز ناسلامتی ما به عنوان مهندسان کامپیوتر مملکت هستیم و باید احساس مسئولیت کنیم. باید طوری عمل کنیم که آیندگان به ما افتخار کنند. باید با توکل بر خدا کار را شروع کنیم. نباید انتظار داشته باشیم که در طول 5 سال یا 10 سال به فناوری های امروز پردازنده ها دست پیدا کنیم.
    کاملا موافقم و تایید میکنم. البته ضرورتش اینه که از الان خودمون رو در سطح همین الان یا حتی 10 سال پیش هم نبینیم ما هنوز چندین دهه با الان کشورها صنعتی فاصله داریم. مثلا توی علوم کامپیوتربیشتر از 50 سال و یا در مکانیک بیشتر از 100 سال. مشکل ما اینه که یا چیزی نداریم و یا اگه داریم پیش و پا افتاده هست و همه جا جار میزنیم که ما ختمشیم. یه مثال ساده که همین سیستم عامل من آراکس هست که حتی در سطح سیستم عامل های تست دانش آموزها دانشگاه های آمریکا هم نیست و یکی دیگه میاد و یه سیستم عامل ضعیف تر می نویسه و میره ثبت می کنه و یا بندتر یکی دیگه میاد کرنل کامپایل میکنه و براش همایش برگزار میکنه و حتی مورد داشتیم که یه اپ ساده آیفون رو به اسم سیستم عامل جا میزدن. یا لینوکس میشه سیستم عامل ملی!!! خب اینها ضعف هستش بخدا و با این وضع 10سال دیگه که هیچ 100 سال دیگه هم بجایی نمی رسیم. (ما تا امروز حتی یک کرنل درست و حسابی هم توی ایران نداشتیم که لااقل بگیم تونستیم بماند که افتخار کنیم.)

  26. #26

    نقل قول: مقاله در مورد ساخت پردازشگر و سیستم عامل در ایران

    سلام

    با توجه به نظرات و پیشنهادات شما مهندسان عزیز در این تاپیک، برای شروع ساخت پردازنده مراحل زیر پیشنهاد می شود:

    1- مطالعه دقیق کتاب ریزپردازنده Z80 ترجمه دکتر سعید حسین نیا، استادیار دانشکده برق و کامپیوتر دانشگاه صنعتی اصفهان
    2- طراحی و پیاده سازی ریزپردازنده با استفاده از نرم افزار پروتئوس که حداقل توانایی اجرای 50 دستورالعمل ضروری را داشته باشد.
    3- پیاده سازی ریزپردازنده با استفاده از زبان VHDL بر روی تراشه FPGA (با توجه به پیشنهاد بسیار مفید آقا پویا)
    4- طراحی اسمبلر مخصوص این ریزپردازنده
    5- طراحی کامپایلر مخصوص این ریزپردازنده
    6- طراحی یک نرم افزار با استفاده از این کامپایلر
    7- طراحی سیستم عامل با استفاده از کامپایلر طراحی شده

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

    موفق و سربلند باشید.
    آخرین ویرایش به وسیله H_afkhami60 : دوشنبه 20 بهمن 1393 در 21:08 عصر

  27. #27

    نقل قول: مقاله در مورد ساخت پردازشگر و سیستم عامل در ایران

    1- مطالعه دقیق کتاب ریزپردازنده Z80 ترجمه دکتر سعید حسین نیا، استادیار دانشکده برق و کامپیوتر دانشگاه صنعتی اصفهان
    این ریز پردازنده یکم برای شروع پیچیده هستش. پیشنهاد می کنم یک کتاب قدیمی که کامپیوترهای SAP رو میسازه رو مطالعه کنید. متاسفانه من نسخه ای رو داشتم که چند بار از روش کپی گرفته شده بود و خیلی قسمت ها منهدم شده بود. سعی می کنم پیداش کنم. این کتاب سه تا کامپیوتر رو با استفاده از تراشه های TTL (سری 74 ) میسازه که توی بازار ایران راحت پیدا میشه. برای شروع از پردازنده های پیچیده دوری کنید.

    این بعضی از فصل هاش هست:
    http://www.scribd.com/doc/123271656/...omputer#scribd
    https://prezi.com/hzs87tnp36fq/sap1s...ible-computer/


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

    کتاب جدید موریس مانو هم که ترجمه نشده و روی نت هم به زور گیر میاد مفیده. (متاسفانه بازم این رو کپیش رو دارم)

    2- طراحی و پیاده سازی ریزپردازنده با استفاده از نرم افزار پروتئوس که حداقل توانایی اجرای 50 دستورالعمل ضروری را داشته باشد.
    اگر کتاب پترسون رو بخونید می فهمید که ایده اشتباهی هست. با اون باشه یه پردازنده فول فیچر رو با 30 تا دستورالعمل میسازه.

    3- پیاده سازی ریزپردازنده با استفاده از زبان VHDL بر روی تراشه FPGA (با توجه به پیشنهاد بسیار مفید آقا پویا)
    verilog رو پیشنهاد میکنم. هم راحتر هست هم اینکه ترجیح اکثر کسایی هست که کار میکنن. البته زبان دیگه هم که میشه گفت از خانواده C هستن به اسم System C هم وجود داره.


    اما قبل از هر چیز پیشنهاد می کنم با پردازنده های زیادی مخصوصا ARM کار کنید. این پردازنده می تونه دید طراحی شما رو کاملا متحول کنه. توی طراحی سیستم عامل و پردازنده هر چه بیشتر بدونید بهتر هست. برای ARM هم می تونید از میکرو کنترلر های اون استفاده کنید. میکرو درست حسابی LPC1768 هست و میکرو های stm. (منتها برای stm مستندات خیلی کم هست. و تجربه کاربران ابرانی هم کمتر اما هرکی کار کرده دیگه ازش دست نکشیده) و به هیچ عنوان هم سراغ میکروهای ATMEL مثل سری at91 نرید.

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

    و تجربه عملی الکترونیک هم که جای خود داره. هر چه قدر بیشتر تجربه کنید بهتر هستش از ساخت منبع های تغذیه مختلف گرفته تا ساخت برد و راه اندازه دستگاه ی جانبی و .... (یه تجربه درست حسابی میکرو کنترلری خیلی می تونه مفید باشه)

  28. #28

    نقل قول: مقاله در مورد ساخت پردازشگر و سیستم عامل در ایران

    بنده هم با جناب شاهین فر موافقم.
    ضمن اینکه دید کافی در مورد الکترونیک و بخصوص دیجیتال در مورد ساخت پردازنده خیلی میتونه کمکتون کنه.
    ... یک کتاب قدیمی که کامپیوترهای SAP رو میسازه رو مطالعه ...
    حتما انتشارات این کتاب رو پیدا کنید.
    این کتاب سه تا کامپیوتر رو با استفاده از تراشه های TTL (سری 74 ) میسازه که توی بازار ایران راحت پیدا میشه.
    بنده هم توصیه میکنم دوستان حتما دیجیتال رو یه بار مرور کنند(مخصولا کار با همین TTL ها برای ارتباط های حافظه)
    به شدت توصیه میکنم کتاب طراحی، معماری و سازمان پروفسور پترسون رو بخونید (از انتشارات نص) خیلی دیدتون رو باز میکنه (اصلا متحول میشید) باید این کتاب دوباره امسال هم به روز شده که متاسفانه ترجمه نشده و متنش خیلی سنگین هست (لااقل من گیر کردم)
    بله. کتاب عالی هست. حتما کتاب ریزپردازنده های اینتل رو از همین انتشارات تهیه کنید. کتابی بس سنگین هست.
    اما قبل از هر چیز پیشنهاد می کنم با پردازنده های زیادی مخصوصا ARM کار کنید. این پردازنده می تونه دید طراحی شما رو کاملا متحول کنه. توی طراحی سیستم عامل و پردازنده هر چه بیشتر بدونید بهتر هست. برای ARM هم می تونید از میکرو کنترلر های اون استفاده کنید. میکرو درست حسابی LPC1768 هست و میکرو های stm. (منتها برای stm مستندات خیلی کم هست. و تجربه کاربران ابرانی هم کمتر اما هرکی کار کرده دیگه ازش دست نکشیده) و به هیچ عنوان هم سراغ میکروهای ATMEL مثل سری at91 نرید.
    بنده هم به شدت و به شدت پیشنهاد میکنم دوستان با ARM تجربه کاری داشته باشند. برای شروع هم میتونند از بردهای کویر الکترونیک LPC17xx استفاده کنند.

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

  29. #29

    نقل قول: مقاله در مورد ساخت پردازشگر و سیستم عامل در ایران

    بنده هم به شدت و به شدت پیشنهاد میکنم دوستان با ARM تجربه کاری داشته باشند. برای شروع هم میتونند از بردهای کویر الکترونیک LPC17xx استفاده کنند.
    چند تا بورد هستش که بنظر من این بورد از همه بهتره منتها قیمتش زیاده:
    http://www.kavirelectronic.ir/eshop/...%AF%DB%8C.html


    اگر برد ارزون می خوایین می تونید از هدر برد ECA استفاده کنید. منتها بعدا هم از ساپورتشون، هم کیفیت و هم اینکه برای راه اندازی امکانات جانبی پشیمون میشید.


    بله. کتاب عالی هست. حتما کتاب ریزپردازنده های اینتل رو از همین انتشارات تهیه کنید. کتابی بس سنگین هست.
    البته چند کتاب وجود داره، کتاب Barry B. Brey ویرایش هفتش رو نض ترجمه کرده. آخرینش هم ویرایش هشت هست منتها متاسفانه نویسنده فوت کرده و کتاب دیگه به روز نمیشه. کتاب Modern X86 Assembly Languages نوشته Daniel Kusswurm خیلی به روز تر هست منتها دیگه توش شرح برخی از قطعات قدیمی مرتبط با X86 مثل آی.سی های PIC و PIT و ... نیستش. کتاب مزیدی هم می تونه مفید باشه.

    کلا اگر هدف اسمبلی باشه کتاب Modern X86 بهتره (چون الان فقط در حالتهای خاص و از دستورهای خاص اسمبلی بصورت مستقیم استفاده میشه مثلا از مجموعه دستورهای SSE2 و بالاتر در بازی سازی برای ضرب ماتریسی سریعتر استفاده میشه) اما اگر هدفتون ساختار شناسی هست کتاب Barry B. Brey و مزیدی مفید تر هست.

    کتابهای دیگه هم هست که الان متوجه شدم گمش کردم این کتاب هم مثلا توضیح میده چرا نباید از قابلیت های مولتی تسکینگ و ... استفاده کرد و یا چه چیزی بهتره و کجا به درد می خوره.

  30. #30

    نقل قول: مقاله در مورد ساخت پردازشگر و سیستم عامل در ایران

    البته چند کتاب وجود داره، کتاب Barry B. Brey ویرایش هفتش رو نص ترجمه کرده. آخرینش هم ویرایش هشت هست منتها متاسفانه نویسنده فوت کرده و کتاب دیگه به روز نمیشه. کتاب Modern X86 Assembly Languages نوشته Daniel Kusswurm خیلی به روز تر هست منتها دیگه توش شرح برخی از قطعات قدیمی مرتبط با X86 مثل آی.سی های PIC و PIT و ... نیستش. کتاب مزیدی هم می تونه مفید باشه.

    کلا اگر هدف اسمبلی باشه کتاب Modern X86 بهتره (چون الان فقط در حالتهای خاص و از دستورهای خاص اسمبلی بصورت مستقیم استفاده میشه مثلا از مجموعه دستورهای SSE2 و بالاتر در بازی سازی برای ضرب ماتریسی سریعتر استفاده میشه) اما اگر هدفتون ساختار شناسی هست کتاب Barry B. Brey و مزیدی مفید تر هست.
    آقا پویا لطف کنید سرفصل های این کتابها را ذکر کنید، چون فکر می کنم، اینطوری انگیزه بیشتری برای مطالعه این کتابها بوجود میاد.

  31. #31

    نقل قول: مقاله در مورد ساخت پردازشگر و سیستم عامل در ایران

    بله. من کتاب Brey رو پیشتر گفتم که مطالعه کنند(اسم کتاب ریزپردازنده های اینتل هست) و فکر کنم مرجع خوبی باشه. مزیدی خیلی کلی گفته. اما این خیلی ریزتر شده و من خیلی میپسندم.
    آخرینش هم ویرایش هشت هست منتها متاسفانه نویسنده فوت کرده و کتاب دیگه به روز نمیشه.
    آقای سید جمال میرحسینی رو میگید‌؟! آخه دوتا ویرایش رو نص داره. یکی 2006 و یکی 2008.
    آخرین ویرایش به وسیله emadrezvani : سه شنبه 21 بهمن 1393 در 22:37 عصر دلیل: سیدجمال میرحسینی

  32. #32

    نقل قول: مقاله در مورد ساخت پردازشگر و سیستم عامل در ایران

    آقای سید جمال میرحسینی رو میگید‌؟! آخه دوتا ویرایش رو نص داره. یکی 2006 و یکی 2008.
    اونایی که من دیدم همه ویرایش هفتم بودن. حالا اگر 2008 باشه امکان داره ویرایش هشتم باشه. من انگلیسیش رو خودندم.

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

  33. #33

    نقل قول: مقاله در مورد ساخت پردازشگر و سیستم عامل در ایران

    سلام

    آقا پویا داشتم پست های قبلی را مطالعه می کردم، رسیدم به این جمله شما:
    به هیچ عنوان هم سراغ میکروهای ATMEL مثل سری at91 نرید.
    علت این نظرتون چیه؟

  34. #34

    نقل قول: مقاله در مورد ساخت پردازشگر و سیستم عامل در ایران

    علت این نظرتون چیه؟
    1. قیمت زیاد
    2. امکانات کم
    3. سری ARM پایین تر (اگر درست یادم باشه ARM 7 TMDI هست که از ARM Cortex-M3 پردازنده LPC1768 و پردازنده های STM F103 قدیمی تره)
    4. سرعت کمتر
    5. حافظه فلش کمتر (نسبت به قیمت)
    6. ....


    کلا هیچ مزیتی ندارن حتی نسبت به سری های هم خانواده آنها توی LPC23xx . کم کم ریسورس LPC1768 هم داره نسبت به اونها بیشتر میشه (تنها دلیلی که هنوز توی بازار هستن به نظرم همین بود).

    لینک زیر مشخصات چند تا مدل هستش که می تونید مقایسه کنید خودتون:

    http://www.kavirelectronic.ir/eshop/...32f107vc6.html
    http://www.kavirelectronic.ir/eshop/...%A7%D9%84.html
    http://www.kavirelectronic.ir/eshop/...-original.html
    http://eshop.eca.ir/arm/354-AT91SAM7X256.html

  35. #35

    نقل قول: مقاله در مورد ساخت پردازشگر و سیستم عامل در ایران

    سلام

    مهندسان عزیز، امروز تمام پست های این تاپیک را دوباره مرور کردم.
    در مورد پردازنده باید گفت که در سالهای ۸۰تا۸۴ پیشرفت های خوبی داشتیم.
    اطلاع دارید تا کجا پیشرفت کردند؟

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

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

    با مطالعاتی که تا حالا داشتم به اینجا رسیدم که مهمترین عواملی که باعث بالا رفتن سرعت و قابلیت های پردازنده ها از 8086 و Z80 تاکنون شده عبارتند از: پیشرفت های صنعت الکترونیک،استفاده از کش، آدرس دهی مجازی، استفاده از چند خط پردازش(لوله)، حفاظت از حافظه تخصیص داده شده به برنامه ها، داشتن مد هسته و غیرهسته(چندکار).

    مطلب دیگه اینکه بنده در مرحله دوم هستم:
    2- طراحی و پیاده سازی ریزپردازنده با استفاده از نرم افزار پروتئوس که حداقل توانایی اجرای 50 دستورالعمل ضروری را داشته باشد.
    بررسی زیادی روی پروتئوس انجام دادم. حداکثر امکاناتی که این شبیه ساز برای ساخت ریزپردازنده میتونه در اختیار ما بذاره عبارتند از:
    1- جمع کننده 4 بیتی (7483)
    2- MUX 16*1 و MUX 8*1 که (74150 و 74151)
    3- رجیستر 8 بیتی
    4- دیکدر 4 به 16
    5- memory_12_8 که 12 خط برای آدرس دهی دارد. امکان لود کردن فایل باینری را می دهد. امکان نوشتن در آن وجود دارد.

    دوستان شاهد هستید که این امکانات برای شروع بد نیست. اما ضعیف است. آیا شبیه ساز بهتری سراغ ندارید؟

    کار دیگه ای که توی این مرحله انجام دادم بررسی و تعیین ثبات های مورد نیاز پردازنده و تهیه مجموعه دستورالعمل های پردازنده و تخصیص رمز منحصر به فرد به هر یک از آنهاست. با تمام تلاشی که انجام دادم نهایتاً نتوانستم تعداد آنها را از 56 عدد کمتر کنم. این مجموعه کامل است و شامل تمام دستورالعملهای مورد نیاز برای انتقال اطلاعات، حسابی و منطق و کنترل ریزپردازنده است. البته به احتمال زیاد در مراحل بعدی ممکن است تغییرات جزئی در تعداد آنها بوجود آید.

    و من الله التوفیق
    آخرین ویرایش به وسیله H_afkhami60 : شنبه 02 اسفند 1393 در 09:08 صبح

  36. #36

    نقل قول: مقاله در مورد ساخت پردازشگر و سیستم عامل در ایران

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

    www.geeks3d.com/20101210/a-cluster-with-1760-playstation-3-for-the-us-army/

    دانشگاه امیر کبیر هم همین کار رو کرده.

    با مطالعاتی که تا حالا داشتم به اینجا رسیدم که مهمترین عواملی که باعث بالا رفتن سرعت و قابلیت های پردازنده ها از 8086 و Z80 تاکنون شده عبارتند از: پیشرفت های صنعت الکترونیک،استفاده از کش، آدرس دهی مجازی، استفاده از چند خط پردازش(لوله)، حفاظت از حافظه تخصیص داده شده به برنامه ها، داشتن مد هسته و غیرهسته(چندکار).
    خب اینها کلا مربوط به معماری کامپیوتر هست. عوامل خیلی بیشتر از اینها می تونه باشه.

    بررسی زیادی روی پروتئوس انجام دادم. حداکثر امکاناتی که این شبیه ساز برای ساخت ریزپردازنده میتونه در اختیار ما بذاره عبارتند از:
    1. تمام این قطعات رو میتونی از بازار هم تهیه کنی (سری LS یا FS رو بگیر توی بازار معمولا HS است)
    2. شبیه سازی پروتیوس اصلا معتبر نیست.
    3. معمولا قطعات دیگه ای استفاده میشه اونم بخاطر خطوط کنترلی مورد نیاز هست که از طرف CU باید مدیریت شن. کتاب SAP همه اینها رو گفته

    کار دیگه ای که توی این مرحله انجام دادم بررسی و تعیین ثبات های مورد نیاز پردازنده و تهیه مجموعه دستورالعمل های پردازنده و تخصیص رمز منحصر به فرد به هر یک از آنهاست. با تمام تلاشی که انجام دادم نهایتاً نتوانستم تعداد آنها را از 56 عدد کمتر کنم. این مجموعه کامل است و شامل تمام دستورالعملهای مورد نیاز برای انتقال اطلاعات، حسابی و منطق و کنترل ریزپردازنده است. البته به احتمال زیاد در مراحل بعدی ممکن است تغییرات جزئی در تعداد آنها بوجود آید.
    بهتر اول اون کتاب هایی رو که گفتم کامل بخونی. من مطمئنم که با تعداد کمتر دستورها میشه پردازنده های پیشرفته ای رو ساخت. مثلا MIPS و یا ARM . تعداد زیاد دستور خوب نیست و مشکلات زیادی رو به وجود میاره. مثلا یه پردازنده 2 گیگا هرتر و هشت هسته ARM از شرکت Allwinners نیازی به فن نداره اما یه پردازنده 1 گیگا هرتری تک هسته شرکت اینتل باید کلی سیستم خنک کننده داشته باشه. خب اینها همه تفاوت معماری ها هستن.

    و بزرگترین مشکل های شرکت اینتل از نظر ISA:

    1. تعداد زیاد دستورها ( همون نسخه های اولیه هم نزدیک 100 دستور داشتن)
    2. طول متفاوت دستورها ( از یک تا 15 بایت)
    3. حفظ سازگاری با ویرایش های قبلی
    4. تعداد کم ثباتها (توی ویرایش های بعدی زیاد شدش) . البته این زیاد هم به ISA مربوط نیست اما تاثیر مستقیم روش داره.

    برای کنترل تعداد دستورها اول از همه اونها رو دسته بندی کن

    1. مثلا دستورهای محاسباتی
    2. دستورهای پرش
    3. دستورهای انتقال ثبات و ...

    بعدش برای هر کدوم یک قالب درست کن. جوری که سعی کنی هر گروه رو توی همون قالب خودش جا بدی

    نکته دیگه اینه که لازم نیست همه دستورها همه کارها رو انجام بدن. مثلا دستورهای محاسباتی لازم نیست هم از حافظه بخونن و هم اینکه محاسبه رو انجام بدن اونها می تونن فقط روی ثبات ها کار کنن و کار انتقال داده رو یه دستور دیگه انجام بده.

    معماری ARM یه رنج زیاد دستورها رو با 4 پرچم کنترلی توی همه دستورها حذف کرده. و چند پرچم دیگه برای شناسایی گروه دستور. مثلا یه ایده خوب می تونه این باشه که مثلا گروهی با opcode دوازده کارش محاسبات باشه. حالا نوع محاسبه رو بیت های بعدی مشخص کنه و ثبات مبدا و مقصد رو بیتهای دیگه

  37. #37

    نقل قول: مقاله در مورد ساخت پردازشگر و سیستم عامل در ایران

    سلام

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

    نهایتاً بنده به لیست فایل پیوست رسیدم. به نظر شما کدام یک از دستورات قابل حذف هستند؟
    البته همین الآن شما می توانید 8 عدد از این دستوالعملها را ندید بگیرید. چون آنها به خاطر نبود رجیستر 16 بیتی در پروتئوس و استفاده از رجیستر 8 بیتی در نظر گرفته شده اند. در واقع تعداد دستورالعمل ها 48 عدد است.(دستوراتی که عدد 2 در انتهای آنها آمده است مثل LDPC2)
    رجیستر IR هشت بیتی است که در فایل پیوست اشتباهاً 16 بیتی نوشته شده. به غیر از چند دستور که 3 بایتی هستند، اکثر دستورات یک بایتی هستند. بایت دوم و سوم دستورات 3 بایتی، پس از دیکد شدن دستورالعمل، از حافظه لود شده و در یک ثبات پنهان 16 بیتی قرار می گیرد.
    فایل های ضمیمه فایل های ضمیمه
    • نوع فایل: zip set.zip‏ (14.9 کیلوبایت, 16 دیدار)
    آخرین ویرایش به وسیله H_afkhami60 : شنبه 02 اسفند 1393 در 15:02 عصر

  38. #38

    نقل قول: مقاله در مورد ساخت پردازشگر و سیستم عامل در ایران

    سلام

    دستورالعمل LDPC حذف شد. چون این رجیستر توسط خود پردازنده مقداردهی می شود.

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

    2- طراحی و پیاده سازی ریزپردازنده با استفاده از نرم افزار پروتئوس که حداقل توانایی اجرای 50 دستورالعمل ضروری را داشته باشد.
    بنده این مرحله را به چند زیر مرحله تقسیم می کنم:
    1- تعیین قطعات مورد نیاز در پردازنده و امکاناتی که پروتئوس در اختیار ما قرار میده.(بنده بر خلاف نظر آقا پویا که فرمودند شبیه سازی پروتیوس اصلا معتبر نیست، چنین نظری ندارم، چون بنده 3 ساله با این نرم افزار کار می کنم و بارها برنامه ریزی میکروکنترلرهای AVR را با آن شبیه سازی نموده و بصورت عملی روی بردهای واقعی پیاده کردم. این نرم افزار در پیاده سازی مدارهای AC در بعضی موارد دقیق نیست ولی در شبیه سازی مدارهای DC تا حد قابل قبولی دقیق است. همچنین دوستان بعد از مدتی کار با این نرم افزار متوجه خواهند شد که تا چه حد به آن اعتماد کنند.)
    2- تعیین تعداد ثبات ها و تعیین دستورالعمل ها و تصمیم گیری در مورد چند بیتی بودن پردازنده (Ramی که پروتئوس در اختیار ما قرار می دهد دارای خانه های 8 بیتی است)
    ، همچنین تصمیم گیری در مورد قالب دستوالعملها.
    3- مشخص کردن ریزعمل های مورد نیاز برای پیاده سازی هر دستورالعمل
    4- تصمیم گیری در مورد سخت افزاری بودن و یا نرم افزاری بودن واحد کنترل (CU) که با توجه به ساده تر بودن واحد کنترل سخت افزاری، پیشنهاد می شود از این نوع استفاده شود.
    5- مشخص کردن سیگنالهای کنترلی که توسط واحد کنترل باید ایجاد شوند. این سیگنالها عباتند از :
    سیگنالهای کنترل ورودی ثبات ها
    سیگنالهای کنترل خواندن و نوشتن حافظه
    سیگنالهای واگذاری گذرگاه مشترک
    سیگنالهای کنترل فلیپ فلاپ ها
    و سیگنالهای کنترل مدار ALU

    توکلت علی الله و السلام
    آخرین ویرایش به وسیله H_afkhami60 : یک شنبه 03 اسفند 1393 در 00:39 صبح

  39. #39

    نقل قول: مقاله در مورد ساخت پردازشگر و سیستم عامل در ایران

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

    میزان انرژی اتلافی = کلاک * ولتاژ به توان دو * نشست خازنی * تعداد ترازیستور

    همنون شکل که مشاهده می کنی به تعداد دستور اجرایی ربط نداره ماجرا.


    بنده بر خلاف نظر آقا پویا که فرمودند شبیه سازی پروتیوس اصلا معتبر نیست، چنین نظری ندارم، چون بنده 3 ساله با این نرم افزار کار می کنم و بارها برنامه ریزی میکروکنترلرهای AVR را با آن شبیه سازی نموده و بصورت عملی روی بردهای واقعی پیاده کردم.
    به زودی مشکلات رو مشاهده خواهید کرد. بزار یه مورد از AVR بزنم. یه مورد پروتیوس که نمی دونم حل شده یا نه تایمر واچ داگ برای AVR بود که باید غیر فعالش می کردی که داخل میکروی واقعی همچین خبری نیست. مورد دیگه میزان جریان دهی پایه ها هست که برای پروتیوس فرقی نمیکنه اما توی مدارهای TTL فکر کنم حداکثر 11 یا 7 بود یعنی شما اگر یه پایه رو به ورودی بیشتر از 11 دستگاه دیجیتال دیگه بدی به احتمال زیاد کار نمی کنه. مورد دیگه میزان جریان تحملی قبل سوختن هست که بازم نمی تونی شبیه سازی کنی مثلا موتور رو وصل کن به پایه AVR کار میکنه اما همین کار رو توی دنیای واقعی کنه همون جا میسوزه میکرو. توی بحث پردازنده بعد از طراحی اولین بانک ثبات و احتمالا ALU متوجه مشکلات همزمانی سیگنالها میشی

    بخوام برات مثال بزنم تا صبح تموم نمیشیم حتی می تونم برای روشن کردن سون سگمت هم نشون بدم اون شکلی نیست که فکر می کنید. اما خب اگه اصرار می کنید کسی جلتون رو نگرفته شما می تونید امتحان کنید وظیفه ما اینه بگیم و اگر خواستید توضیح بدیم اما در همین حد. رفتن راه با شماست.

    2- تعیین تعداد ثبات ها و تعیین دستورالعمل ها و تصمیم گیری در مورد چند بیتی بودن پردازنده (Ramی که پروتئوس در اختیار ما قرار می دهد دارای خانه های 8 بیتی است)
    کافیه چند تا رم کنار هم بزاری با باس آدرس مشترک. این شکلی میتونی حتی رم با کلمه 128 هم بسازی.

    ، همچنین تصمیم گیری در مورد قالب دستوالعملها.
    اندازه دستور به تعداد بیت رم بستگی نداره مثلا کلمه پنتیوم 16 هست اما دستور 15 بایتی داره. البته بهتره که هم اندازه باشه.


    4- تصمیم گیری در مورد سخت افزاری بودن و یا نرم افزاری بودن واحد کنترل (CU) که با توجه به ساده تر بودن واحد کنترل سخت افزاری، پیشنهاد می شود از این نوع استفاده شود.
    اگر منظورتون میکرو دستورها هست که اشتباه هست اونها هم هارد وایر میشن یا فوقش با یه nvram کنترل میشن.


    دستورالعمل LDPC حذف شد. چون این رجیستر توسط خود پردازنده مقداردهی می شود.
    من دستورهای پردازنده ات رو بررسی کردم. به نظرم لازم نیست برای هر ثبات یه دستور داشته باشی. خیلی راحت می تونی این موضوع را با یه ریجیستر فایل و کمک از معماری ant یا معماری های مشتق شده از اونها مثل ARM و MIPS هم حل کنی. یه ریجیستر فایل دو گذرگاه می تونه خیلی از مشکلات طراحی رو حلش کنه.


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

  40. #40

    نقل قول: مقاله در مورد ساخت پردازشگر و سیستم عامل در ایران

    سلام

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

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

    کافیه چند تا رم کنار هم بزاری با باس آدرس مشترک. این شکلی میتونی حتی رم با کلمه 128 هم بسازی.
    احسنت. راه حل خوبیه. فقط یک مشکل داره و اون اینه که در مرحله تست توی نرم افزار شبیه ساز، ما نمیتونیم فایل باینری را روی اونها لود کنیم، طوری که فایل، بین اونها تقسیم بشه. البته این مشکل قابل حله: با یک نرم افزار کوچولو، فایل باینری را باید به تعداد رم ها تقسیم کرد. یعنی اگه مثلاً 2 تا رم با خانه های 8 بیتی داریم، باید فایل باینری را تبدیلش کنیم به 2 تا فایل باینری. بایت اول فایل اصلی بره داخل فایل شماره 1، بایت دوم فایل اصلی بره داخل فایل شماره 2 و الی آخر.

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

    خیلی راحت می تونی این موضوع را با یه ریجیستر فایل و کمک از معماری ant یا معماری های مشتق شده از اونها مثل ARM و MIPS هم حل کنی. یه ریجیستر فایل دو گذرگاه می تونه خیلی از مشکلات طراحی رو حلش کنه.
    خیلی ممنون از راهنمائیتون. لطف می کنید منبعی که در این زمینه توضیح داده باشه معرفی کنید؟
    آخرین ویرایش به وسیله H_afkhami60 : دوشنبه 04 اسفند 1393 در 11:17 صبح

صفحه 1 از 3 123 آخرآخر

تاپیک های مشابه

  1. سوال: سوال کلی در مورد ساخت سیستم عامل
    نوشته شده توسط orache در بخش توسعه‌ی لینوکس و نرم افزارهای آزاد
    پاسخ: 9
    آخرین پست: دوشنبه 24 تیر 1392, 10:38 صبح
  2. سوال: ساخت برنامه برای سیستم عامل iOS با C#‎‎
    نوشته شده توسط mjzsoft25 در بخش C#‎‎
    پاسخ: 4
    آخرین پست: یک شنبه 12 شهریور 1391, 19:40 عصر
  3. راهنمایی در مورد انتخاب زبان و سیستم عامل
    نوشته شده توسط hashom در بخش C#‎‎
    پاسخ: 7
    آخرین پست: چهارشنبه 05 دی 1386, 11:23 صبح

قوانین ایجاد تاپیک در تالار

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