কেন আরও ট্রানজিস্টর = আরও প্রসেসিং শক্তি?


43

উইকিপিডিয়া অনুসারে, প্রসেসিং শক্তি মুরের আইনের সাথে দৃ strongly়ভাবে জড়িত:

http://en.wikipedia.org/wiki/Moore's_law

সংহত সার্কিটে সস্তাে যে পরিমাণ ট্রানজিস্টর স্থাপন করা যেতে পারে তা প্রতি দুই বছরে প্রায় দ্বিগুণ হয়ে গেছে। এই প্রবণতাটি অর্ধ শতাব্দীরও বেশি সময় ধরে অব্যাহত রয়েছে এবং 2015 বা তার পরেও এটি বন্ধ হবে বলে আশা করা যায় না। অনেক ডিজিটাল ইলেকট্রনিক ডিভাইসের ক্ষমতা মুর আইনের সাথে দৃ strongly়ভাবে জড়িত: প্রক্রিয়াকরণের গতি, মেমরির ক্ষমতা, সেন্সর এমনকি ডিজিটাল ক্যামেরায় পিক্সেলের সংখ্যা এবং আকার। এগুলির সবগুলিই (মোটামুটি) তাত্পর্যপূর্ণ হারে উন্নতি করছে।

কম্পিউটার আর্কিটেকচারে যার ব্যাকগ্রাউন্ড রয়েছে এমন একজন হিসাবে আমি বুঝতে পারছি না কেন সিপিইউতে আরও ট্রানজিস্টর নিক্ষেপ করা তার শক্তি বাড়িয়ে দেবে কারণ শেষ পর্যন্ত, নির্দেশগুলি মোটামুটিভাবে পাঠানো / ক্রমান্বয়ে কার্যকর করা হয়। কেউ কি ব্যাখ্যা করতে পারে আমি কোন অংশটি মিস করছি?


10
আরও ট্রানজিস্টর = আরও সমান্তরালতা
টবি জাফি

2
প্রসেসরের যতগুলি কোর রয়েছে তা সত্য নয়।
থমাস হে

1
হ্যাঁ. আরও ট্রানজিস্টর মানে আপনি আরও সমান্তরাল এক্সিকিউশন ইউনিট স্থাপন করতে পারেন। বড় ক্যাশে। গভীর পাইপলাইন।
কাজ

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

2
শুধু একটি গুণক সম্পর্কে চিন্তা করুন। পর্যাপ্ত ট্রানজিস্টর সহ, আপনি একটি সম্পূর্ণ সন্ধানের টেবিল ব্যবহার করতে পারেন এবং এক ধাপে পুরো গুণটি করতে পারেন। কম ট্রানজিস্টর সহ, আপনাকে বারবার সংযোজনের মতো জিনিস করতে হবে।
ডেভিড শোয়ার্টজ

উত্তর:


29

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

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


19

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

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

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

পাইপলাইনিং কিছু অতিরিক্ত নিয়ন্ত্রণ এবং বাফারিং ওভারহেড যুক্ত করে এবং নির্দেশনা পরিচালনার বিভিন্ন অংশের জন্য যুক্তির পুনরায় ব্যবহারকে বাধা দেয়, তবে নির্দেশনা পরিচালনার বিভিন্ন অংশকে বিভিন্ন নির্দেশাবলীর জন্য সময়মতো ওভারল্যাপ করার অনুমতি দেয়।

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

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

ক্যাচগুলি বিলম্বিতা হ্রাস করতে পারে এবং মেমরি অ্যাক্সেসগুলির ব্যান্ডউইথকে বাড়িয়ে তুলতে পারে, তবে ডেটা সঞ্চয় করতে এবং ট্যাগগুলি সঞ্চয় করতে ট্রানজিস্টর যুক্ত করতে (এবং অনুরোধ করা ঠিকানার সাথে ট্যাগগুলি তুলনা করে)। প্রতিস্থাপন নীতি বাস্তবায়নের জন্য অতিরিক্ত হার্ডওয়্যারও প্রয়োজন। হার্ডওয়্যার প্রিফেচিং আরও ট্রানজিস্টর যুক্ত করবে।

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

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

(অনুমানমূলক মাল্টিথ্রেডিং একাধিক প্রসেসরকে একটি একক থ্রেডেড প্রোগ্রাম দ্রুত সঞ্চালনের অনুমতিও দিতে পারে vious স্পষ্টতই একটি চিপে প্রসেসর যুক্ত করার ফলে ট্রানজিস্টর সংখ্যা বাড়বে))

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

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

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

উপরেরগুলি ক্লান্তিকর হতে পারে তবে সম্পূর্ণ নয়!


2
একটি নতুন লোক থেকে দুর্দান্ত উত্তর!
কনার ওল্ফ

12

ট্রানজিস্টরের সংখ্যা অগত্যা আরও প্রক্রিয়াকরণ শক্তির সাথে সম্পর্কিত হয় না, তবে আরও ট্রানজিস্টরের সাথে প্রসেসর আগের চেয়ে ক্রমবর্ধমান জটিল নির্দেশনা সম্পাদন করতে পারে। উদাহরণস্বরূপ, এসএসই সহ একটি প্রসেসর এই জটিল নির্দেশাবলী বাস্তবায়নের জন্য অতিরিক্ত ট্রানজিস্টর ব্যবহার করবে (উদাহরণস্বরূপ, একটি চক্রের অনেক নম্বর যুক্ত করা))


2
অ্যালান কে হিসাব করেছিলেন যে যেহেতু তিনি জেরক্স পিএআরসি-তে স্মল্টাল্কে কাজ করছিলেন আমরা ভুল আর্কিটেকচার এবং সফ্টওয়্যার অদক্ষতার কারণে ট্রানজিস্টর দ্বিগুণ হওয়ার 18 বছর হারিয়েছি কারণ কম্পিউটার অবশ্যই ট্রানজিস্টর দ্বিগুণ হওয়ার পরামর্শ দেয় না বলে কম্পিউটার তত দ্রুত নয়।
jpc

5

আরেকটি বিষয়: আপনি যখন কোনও নির্দিষ্ট জায়গায় আরও ট্রানজিস্টর ক্র্যাম করেন তখন সেগুলি আরও ছোট হয়ে যায়, এগুলি আরও দ্রুত করে তোলে।


ট্রানজিস্টরগুলি যেমন একত্রে কাছাকাছি আসার সাথে সাথে আপনি অন্যান্য অনাকাঙ্ক্ষিত প্রভাবগুলি পান, যেমন বাড়তি ফুটো বর্তমান,
টমাস হে

4

মাইক্রোপ্রসেসরগুলি সাম্প্রতিক বছরগুলিতে উল্লেখযোগ্যভাবে অগ্রসর হয়েছে, দীর্ঘ পাইপলাইন, ভবিষ্যদ্বাণীমূলক ব্রাঞ্চিং এবং চিপ ক্যাশে সম্পর্কিত জিনিসগুলি সমস্ত একটি প্রসেসরের সাথে সম্পর্কিত জটিলতায় যুক্ত করেছে have

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

ক্যাশের স্মৃতি র‌্যামের চেয়ে অনেক দ্রুত, তবে র‌্যাম থেকে ক্যাশে এবং ক্যাশে থেকে র‌্যামে ফিরে কী যেতে হবে ??? এটি আবারও মালিকানাধীন জিনিস, তবে এটি আবার ট্রান্সজিস্টরগুলি প্রয়োগ করতে লাগে takes

সুতরাং অতিরিক্ত ট্রানজিস্টর দীর্ঘ পাইপলাইন, ভবিষ্যদ্বাণীমূলক শাখা অ্যালগরিদম, ক্যাশে মেমরি এবং মেমরি অ্যালগরিদমের মতো জিনিসগুলিতে যায়।

এটি মাল্টি কোর প্রসেসর এবং ভাগ করা মেমরি / রিসোর্স অ্যাক্সেস নিয়ন্ত্রকদের উল্লেখ ছাড়াই।

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