কার্যকরী প্রোগ্রামিংয়ের জন্য খাঁটিভাবে তৈরি সিপিইউ কীভাবে আলাদা হবে?


14

সিপিইউ হ'ল এই সফ্টওয়্যারটি মাথায় রেখে ডিজাইন করা হয়েছে যা লোকেরা তার জন্য স্পষ্টভাবে বা স্পষ্টভাবে লিখবে।

আমার কাছে মনে হয় আপনি যদি নির্দেশ সেট আর্কিটেকচারের নকশাটি দেখে থাকেন তবে সেগুলি খুব "অপরিহার্য", এই অর্থে যে প্রতিটি নির্দেশ একটি আবশ্যিক শৈলীর আদেশকে এনকোড করে। আমার কাছে এটিও মনে হয় যে বর্তমান প্রোগ্রামিং সেট স্থাপত্যগুলি কোড প্রোগ্রামারগুলির উত্পাদনের ধরণের ভিত্তিতে আংশিকভাবে বিকশিত হয়েছে।

যদি কেউ স্ক্র্যাচ থেকে কোনও সিপিইউ ডিজাইন করে, যদি জেনে থাকে যে এটি কেবলমাত্র কার্যকরী প্রোগ্রামিং স্টাইলে লিখিত প্রোগ্রামগুলি চালিত করে, তবে সেই সিপিইউ কীভাবে বিদ্যমান সিপিইউর থেকে আলাদাভাবে নকশাকৃত হবে?


9
জন ব্যাকস তাঁর "ক্যান প্রোগ্রামিং ভন নিউম্যান স্টাইল থেকে মুক্তি পেতে পারেন?" এই জাতীয় কয়েকটি কাজের উল্লেখ (ধারা 15)।
দিমিত্রি আরবানউইচজ

(গ্রাফ) হ্রাস মেশিনগুলির জন্য সন্ধান করুন বা আপনার স্থানীয় গবেষণা গ্রন্থাগারটি দেখুন ডাব্লু। ক্লুজের বহির্মুখী প্রিন্ট বইটি অর্গানাইজেশন অফ রিডাকশন, ডেটা ফ্লো এবং কন্ট্রোল ফ্লো সিস্টেমস (এমআইটি প্রেস, 1992) এর একটি অনুলিপি খুঁজে পাওয়ার আশায় ।
কাই

2
এছাড়াও কোপম্যানের বই একটি আর্কিটেকচার ফর কম্বিনেটর গ্রাফ হ্রাস (এপি, 1990)। লিসপ মেশিনগুলিতে সন্ধান করা সম্ভবত সার্থক। en.wikedia.org/wiki/Lisp_machine
ছদ্মনাম

আমি মনে করি মৌলিকভাবে আমাদের মেশিনগুলি সময়ের সাথে সাথে তাদের রাষ্ট্রের রূপান্তরকারী হিসাবে কার্যকর হবে।
orlp

একটি দম্পতি দরকারী সিপিইউ বৈশিষ্ট্য হ'ল থঙ্কস এবং আরও দক্ষ জাম্পিংয়ের জন্য স্থানীয় সমর্থন। এছাড়াও সিপিইউ কিছু শর্টকাট নিতে সক্ষম হতে পারে তা জেনে মেমরির নির্দিষ্ট অবস্থানগুলিকে একটি নির্দিষ্ট স্কোয়ারে ওভাররাইট করা যাবে না এবং স্টপ-ভিত্তিক ভাষাগুলির মতো সিপিইউকে স্ট্যাক বজায় রাখতে হবে না।
মনিকা

উত্তর:


3

আসলে, এটি সম্পন্ন হয়েছে: https://en.wikedia.org/wiki/Lisp_machine

এফপির জন্য সিপিইউ ডিজাইনের একটি দিক হ'ল আবর্জনা সংগ্রহ। জিসি কার্যকরী ভাষার জন্য খুব গুরুত্বপূর্ণ important সাধারণ বাস্তবায়নের জন্য জিসি পয়েন্টার এবং নন-পয়েন্টার ডেটার মধ্যে পার্থক্য করতে পারে require কার্যকরভাবে, এর অর্থ আপনার ডেটা বরাবর একটি অতিরিক্ত বিট সঞ্চয় করা। এ কারণেই, উদাহরণস্বরূপ, ওক্যামেল পূর্ণসংখ্যাগুলি 32-বিট আর্কিটেকচারে কেবল 31 বিট এবং -৪-বিট আর্কিটেকচারে bit৩ বিট। পূর্ণসংখ্যার পাটিগণিতের পরে বিশ্রী অতিরিক্ত শিফটিং অপারেশন জড়িত। অন্যান্য ভাষা (বা অন্যান্য ওসিএএমএল ডেটা টাইপ) সেই অতিরিক্ত বিটের জন্য পুরো মেশিনের শব্দ নষ্ট করতে পারে, এইভাবে 64-বিট সংখ্যার জন্য 128 বিট ব্যবহার করে। স্থানীয়ভাবে জিসির দিকে ডিজাইন করা একটি সিপিইউতে -৫-বিট ডেটা বাস থাকতে পারে তবে -৪-বিট পাটিগণিত হতে পারে।

এটি বলেছে যে প্রচুর অ-কার্যকরী ভাষাতেও আবর্জনা সংগ্রহ রয়েছে এবং এটি সম্পর্কিত আর্কিটেকচার থেকে লাভ করতে পারে।

আর একটি জিনিস মনে আসে যা হ'ল এফপির মেমরির ব্যবহার সাধারণত অপরিহার্য প্রোগ্রামগুলির চেয়ে অনেক বেশি ছড়িয়ে পড়ে। মূলত অ্যারে ব্যবহার করা কম প্রাকৃতিক কারণ। ফলস্বরূপ, এই প্রোগ্রামগুলি মেমরির সামঞ্জস্যপূর্ণ অংশগুলি ক্যাচ করা থেকে কম লাভ করে। সুতরাং, একটি এফপি সিপিইউ বিভিন্ন ক্যাশে কৌশল ব্যবহার করতে পারে।


1

এটি হয় কোনও পরিবর্তন করবে না বা বিশাল স্ট্যাকের সাথে রেডুসেরন এবং এর উত্তরসূরি পিলগ্রিম 1 এর মতো বিশাল সমান্তরাল সেটিংটি ব্যবহার করবে ।

বিবৃতি যে এটি কোনও কিছুই পরিবর্তন করবে না প্রথমে গা bold় বলে মনে হয়, তবে সিপিইউ অনুক্রমিক হওয়ায় একটি অনুবাদ প্রক্রিয়া (সংকলন) রয়েছে যা দক্ষতার জন্য প্রসারিত উপলব্ধ হার্ডওয়্যার ব্যবহার করে। আর কোনও আর্কিটেকচার থাকতে পারে, কিছু ক্রিয়াকলাপ দ্রুততর হবে, কারও গতি বাড়ানোর জন্য হ্যাকিংয়ের কৌশলগুলির প্রয়োজন হবে।

আর্কিটেকচার যা একটি পার্থক্য তৈরি করবে মানচিত্রের অপারেশন এবং দ্রুত চালানোর জন্য তালিকার প্রয়োজন (পুরো গল্পটি নয়, তবে এটি প্রভাবটি দেখানোর পক্ষে যথেষ্ট)। নেটিভ চলমান তালিকায় গতিশীল পরিবর্তনশীল হার্ডওয়্যার তৈরির কোনও সম্ভাবনা নেই, সুতরাং এগুলি স্বচ্ছ মেমরিতে সঞ্চিত হয়। আমরা কিছু ফর্মের অ্যারে উপস্থাপনা আটকে থাকি। মানচিত্রের জন্য, অ-অনুক্রমিক সেটিং এ চালানোর জন্য - আমরা রিডুসারনে ফিরে আসি। সুতরাং কার্যকরভাবে পরপর নির্দেশাবলীর জন্য একটি কেন্দ্রীয় প্রক্রিয়াকরণ এবং সমান্তরাল প্রক্রিয়াকরণের জন্য সমর্থন।

ভিন্ন হতে পারে একাধিক ফাংশন লোড করা এবং ফ্রেম জাগলিং ছাড়াই এগুলি চালনা করা - তবে ফাংশনগুলির জন্য একাধিক ইউনিট যুক্ত করা মেমরি অ্যাক্সেসের সাথে ঝামেলা সৃষ্টি করবে।

হাঁটুর জবাব যোগ করা, জিসি কোপ্রোসেসর হিসাবে চালানো উপকারী হবে, এটি খুব ঝরঝরে বৈশিষ্ট্য হবে।

1: পিলগ্রিম বোয়েইজিংক এ, হালজেন্স্পিজ পিকেএফ, কুপার জে (2011) পিলগ্রিমের পরিচয় করানো: অলস কার্যকরী ভাষাগুলি সম্পাদনের জন্য প্রসেসর। ইন: হেজ জে।, মোরাজন এমটি (সংস্করণ) কার্যকরী ভাষার প্রয়োগ ও প্রয়োগ। আইএফএল 2010. কম্পিউটার বিজ্ঞানে বক্তৃতা নোট, খণ্ড 6647. স্প্রিংগার, বার্লিন, হাইডেলবার্গ


"পুনরাবৃত্তি নেটিভ করার কোনও সম্ভাবনা নেই"। কেন আপনি তা ব্যাখ্যা করতে পারেন? এটা আমার কাছে প্রথমে অবাক লাগে।
user56834

এছাড়াও, হাইপ্রন এমন কিছু যা একটি শক্ত সিপিইউ হতে পারে, পরিবর্তে কোনও এফপিগা চালানোর জন্য?
user56834

আমার খারাপ, আমি দেশীয় পুনরাবৃত্তি বলতে চাইছিলাম, তবে এটি সম্ভবত অপ্রাসঙ্গিক। আমাকে কিছুটা সংশোধন করতে হবে।
ইভিল

0

প্রথমে কিছুটা রসিকতা: 100% কার্যকরী প্রোগ্রাম চালানো কখনই দরকারী কিছু করতে পারে না, কেবলমাত্র একটি এনওপি নির্দেশনা পাওয়া যথেষ্ট। (আমি এটি শিখা যুদ্ধের জন্য খুলি)।

সুতরাং, আইওর জন্য কিছু আবশ্যকীয় নির্দেশাবলী এবং অপরিহার্য প্রোগ্রামিংয়ের জন্য স্বাভাবিক সহায়তা থাকা দরকার।

অন্যথায় এটি আংশিকভাবে ব্যবহৃত প্রকৃত ভাষার উপর নির্ভর করে। আমার মনের উপরে দুটি হ্যাস্কেল এবং এরলং।

আমি বিশ্বাস করব যে হাস্কেল তালিকা এবং মানচিত্রের জন্য সমর্থন থেকে উপকৃত হতে পারে। একটি তালিকা নির্দিষ্ট হার্ডওয়্যার মেমরি ম্যাপিং দ্বারা সমর্থিত হতে পারে, লিঙ্কযুক্ত তালিকাকে অ্যাড্রেসের একটানা সেট হিসাবে রূপান্তরিত করে। প্রথম উপাদানটি অ্যাড্রেস এন এ, দ্বিতীয় ঠিকানা অ্যাড্রেস এন +1 এবং আরও কিছুতে হতে পারে। তালিকা থেকে প্রথম উপাদানটি সরাতে, আপনি কেবল পয়েন্টার এন পরিবর্তন করতে পারেন। অবশেষে, আপনি এন পয়েন্টার মুছলে সমস্ত মেমরি মুক্ত হতে পারে। মানচিত্রগুলি সহযোগী অ্যারে হিসাবে সমর্থিত হতে পারে - অনুসন্ধান মানটি প্রবেশ করান এবং মেমরি সিস্টেমটি আইটেমটি ফেরত দেয়। পুনরুক্তি অনুসন্ধানের প্রয়োজন নেই।

পরিবর্তে এরলং বার্তা / প্রক্রিয়া সমর্থন এবং পুরো রাষ্ট্রের সাথে লেজ পুনরাবৃত্তি থেকে উপকৃত হতে পারে। বার্তাগুলি এবং প্রক্রিয়াগুলি বিভিন্ন উপায়ে সমর্থিত হতে পারে, এর একটি উদাহরণ হতে পারে প্রসেসিং কোরগুলির একটি অত্যন্ত পরিমাণে। টেল পুনরুক্তি একটি মেমরি নিয়ামক দ্বারা রাষ্ট্রকে আরও দ্রুত অনুলিপি করার অনুমতি দিয়ে উন্নত করা যেতে পারে, সম্ভবত বড় পরিমাণে ডেটা অনুলিপি না করে কেবল মেমরি সিস্টেমের পয়েন্টারগুলিকে সংশোধন করে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.