RISC V হল একটি নির্দেশনা সেট আর্কিটেকচার যা ইউনিভার্সিটি অফ ক্যালিফোর্নিয়া, বার্কলে দ্বারা তৈরি করা হয়েছে। RISC ধারণাটি সত্য দ্বারা অনুপ্রাণিত হয়েছিল যে বেশিরভাগ প্রসেসর নির্দেশাবলী বেশিরভাগ কম্পিউটার প্রোগ্রাম দ্বারা ব্যবহার করা হয়নি। সুতরাং, ডিজাইনের মধ্যে অপ্রয়োজনীয় ডিকোডিং লজিক ব্যবহার করা হচ্ছিল প্রসেসর , এলাকা এবং সেইসাথে আরও শক্তি গ্রাস করে। নির্দেশনা সেট সংক্ষিপ্ত করতে এবং নিবন্ধন সংস্থানগুলির মধ্যে আরও বিনিয়োগ করতে, RISC V প্রসেসর বাস্তবায়িত হয়েছিল।
এই প্রযুক্তিটি অনেক টেক জায়ান্ট এবং স্টার্ট-আপ দ্বারা লক্ষ্য করা গেছে কারণ এটি সম্পূর্ণ ওপেন সোর্স এবং বিনামূল্যে। বেশিরভাগ প্রসেসর লাইসেন্স চুক্তির সাথে উপলব্ধ, তবে এই ধরণের প্রসেসরের সাথে; যে কেউ তাদের নতুন প্রসেসর ডিজাইন করতে পারে। তাই এই নিবন্ধটি একটি RISC V প্রসেসরের একটি ওভারভিউ নিয়ে আলোচনা করে - কাজ করা এবং এর প্রয়োগগুলি।
RISC V প্রসেসর কি?
RISC V প্রসেসরে, RISC শব্দটি 'রিডুসড ইন্সট্রাকশন সেট কম্পিউটার' এর জন্য দাঁড়ায় যা কম্পিউটারের কয়েকটি নির্দেশ কার্যকর করে যেখানে 'V' 5ম প্রজন্মের জন্য দাঁড়ায়। এটি একটি ওপেন সোর্স হার্ডওয়্যার ISA (নির্দেশনা সেট আর্কিটেকচার) এর প্রতিষ্ঠিত নীতির উপর ভিত্তি করে ঝুঁকি .
অন্যান্য ISA ডিজাইনের তুলনায়, এই ISA একটি ওপেন সোর্স লাইসেন্স সহ উপলব্ধ। তাই, বেশ কিছু উৎপাদনকারী কোম্পানি ওপেন সোর্স অপারেটিং সিস্টেম সহ RISC-V হার্ডওয়্যার ঘোষণা করেছে এবং প্রদান করেছে।
এটি একটি নতুন আর্কিটেকচার এবং এটি খোলা, অ-নিষেধমূলক এবং বিনামূল্যে লাইসেন্সে উপলব্ধ। এই প্রসেসরে চিপ এবং ডিভাইস নির্মাতা শিল্প থেকে ব্যাপক সমর্থন রয়েছে। তাই এটি মূলত অবাধে এক্সটেনসিবল এবং অনেক অ্যাপ্লিকেশনে ব্যবহার করার জন্য কাস্টমাইজ করার জন্য ডিজাইন করা হয়েছে।
RISC V ইতিহাস
RISC উদ্ভাবন করেন অধ্যাপক ডেভিড প্যাটারসন 1980 সালের দিকে ক্যালিফোর্নিয়া বিশ্ববিদ্যালয়, বার্কলেতে। প্রফেসর জন হেনেসির সাথে প্রফেসর ডেভিড 'কম্পিউটার অর্গানাইজেশন অ্যান্ড ডিজাইন' এবং 'স্ট্যানফোর্ড ইউনিভার্সিটিতে কম্পিউটার আর্কিটেকচার' নামে দুটি বইতে তাদের প্রচেষ্টা জমা দিয়েছেন। সুতরাং, তারা এসিএম এ.এম. 2017 সালে টুরিং পুরস্কার।
1980 সাল থেকে 2010 সাল পর্যন্ত, RISC পঞ্চম-প্রজন্মের উন্নয়ন গবেষণা শুরু হয় এবং অবশেষে RISC-V হিসাবে চিহ্নিত করা হয় যা ঝুঁকি পাঁচ হিসাবে উচ্চারিত হয়।
RISC V স্থাপত্য ও কাজ
RV12 RISC V আর্কিটেকচার নীচে দেখানো হয়েছে। RV12 একটি একক-কোর RV32I এবং RV64I অনুগত RISC CPU এর সাথে অত্যন্ত কনফিগারযোগ্য যা এমবেডেড ক্ষেত্রগুলিতে ব্যবহৃত হয়। RV12 এছাড়াও একটি 32 বা 64-বিট CPU পরিবার থেকে শিল্প মান RISC-V নির্দেশ সেটের উপর নির্ভর করে।
RV12 সহজভাবে নির্দেশের পাশাপাশি ডেটা মেমরিতে একযোগে অ্যাক্সেসের জন্য একটি হার্ভার্ড আর্কিটেকচার চালায়। এটিতে একটি 6-পর্যায়ের পাইপলাইনও রয়েছে যা কার্যকারিতা উন্নত করার জন্য মেমরি অ্যাক্সেসের পাশাপাশি কার্য সম্পাদনের মধ্যে ওভারল্যাপগুলি অপ্টিমাইজ করতে সহায়তা করে। এই আর্কিটেকচারে প্রধানত ব্রাঞ্চ প্রেডিকশন, ডেটা ক্যাশে, ডিবাগ ইউনিট, ইন্সট্রাকশন ক্যাশে এবং ঐচ্ছিক মাল্টিপ্লায়ার বা ডিভাইডার ইউনিট অন্তর্ভুক্ত থাকে।
RV12 RISC V-এর প্রধান বৈশিষ্ট্যগুলির মধ্যে নিম্নলিখিতগুলি অন্তর্ভুক্ত রয়েছে।
- এটি একটি শিল্প মান নির্দেশ সেট.
- 32 বা 64 বিট ডেটা সহ প্যারামিটারাইজড।
- এটিতে সুনির্দিষ্ট এবং দ্রুত বাধা রয়েছে।
- কাস্টম নির্দেশাবলী মালিকানাধীন হার্ডওয়্যার এক্সিলারেটর যোগ করার অনুমতি দেয়।
- একক চক্রের মৃত্যুদন্ড।
- অপ্টিমাইজিং ভাঁজ সহ ছয়-পর্যায়ের পাইপলাইন।
- মেমরি সুরক্ষা সহ সমর্থন।
- ঐচ্ছিক বা প্যারামিটারাইজড ক্যাশে।
- অত্যন্ত প্যারামিটারাইজড।
- ব্যবহারকারীরা 32/ 64-বিট ডেটা এবং শাখা পূর্বাভাস ইউনিট নির্বাচন করতে পারেন।
- ব্যবহারকারীরা নির্দেশ/ডেটা ক্যাশে নির্বাচন করতে পারেন।
- ব্যবহারকারী নির্বাচনযোগ্য গঠন, আকার এবং ক্যাশের আর্কিটেকচার।
- ব্যবহারকারী-সংজ্ঞায়িত লেটেন্সি দ্বারা হার্ডওয়্যার বিভাজক বা গুণক সমর্থন।
- বাসের আর্কিটেকচার নমনীয় যা উইশবোন এবং এএইচবি সমর্থন করে।
- এই নকশা শক্তি এবং আকার অপ্টিমাইজ করে.
- ডিজাইন সম্পূর্ণরূপে প্যারামিটারাইজড যা কর্মক্ষমতা বা পাওয়ার ট্রেডঅফ প্রদান করে।
- শক্তি হ্রাস করার জন্য গেটেড CLK ডিজাইন।
- শিল্প মান দ্বারা সফ্টওয়্যার সমর্থন.
- আর্কিটেকচারাল সিমুলেটর।
- লিনাক্স/উইন্ডোজ এর জন্য Eclipse IDE ব্যবহার করা হয়।
RISC V এক্সিকিউশন পাইপলাইন
এতে IF (ইনস্ট্রাকশন ফেচ), আইডি (ইনস্ট্রাকশন ডিকোড), EX (এক্সিকিউট), MEM (মেমরি অ্যাক্সেস) এবং WB (রেজিস্টার রাইট-ব্যাক) এর মতো পাঁচটি ধাপ অন্তর্ভুক্ত রয়েছে।
নির্দেশ আনা
Instruction Fetch বা IF পর্যায়ে, প্রোগ্রাম কাউন্টার (PC) থেকে একটি একক নির্দেশ পড়া হয় এবং নির্দেশ মেমরি পরবর্তী নির্দেশে আপডেট করা হয়।
নির্দেশ প্রাক-ডিকোড
একবার RVC সমর্থন অনুমোদিত হলে, তারপর নির্দেশনা প্রাক-ডিকোড পর্যায়টি একটি 16-বিট-সংকুচিত নির্দেশকে একটি নেটিভ 32-বিট নির্দেশে ডিকোড করবে।
নির্দেশনা ডিকোড
নির্দেশনা ডিকোড (আইডি) পর্যায়ে, রেজিস্টার ফাইল অনুমোদিত এবং বাইপাস নিয়ন্ত্রণের সিদ্ধান্ত নেওয়া হয়।
এক্সিকিউট
এক্সিকিউট স্টেজে, ফলাফল একটি ALU, DIV, MUL নির্দেশের জন্য গণনা করা হয়, স্টোর বা লোড নির্দেশের জন্য অনুমোদিত মেমরি, এবং শাখা এবং লাফগুলি তাদের প্রত্যাশিত ফলাফলের বিপরীতে পরিমাপ করা হয়।
স্মৃতি
এই মেমরি পর্যায়ে, মেমরি পাইপলাইনের মাধ্যমে অ্যাক্সেস করা হয়। এই পর্বের অন্তর্ভুক্তি পাইপলাইনের উচ্চ কর্মক্ষমতা নিশ্চিত করে।
প্রতিত্তর লিখুন
এই পর্যায়ে, এক্সিকিউশন স্টেজের ফলাফল রেজিস্টার ফাইলে লেখা হয়।
শাখা ভবিষ্যদ্বাণীকারী
এই প্রসেসরে একটি শাখা ভবিষ্যদ্বাণীকারী ইউনিট বা BPU রয়েছে যা RISC V প্রসেসরকে একটি নির্দিষ্ট শাখা নেওয়া বা না নেওয়ার সিদ্ধান্ত নেওয়ার জন্য অতীতের ডেটা সংরক্ষণ করতে ব্যবহৃত হয়। এই ভবিষ্যদ্বাণীকারী ডেটা শাখাটি কার্যকর হওয়ার পরে কেবল আপডেট করা হয়।
এই ইউনিটে বিভিন্ন পরামিতি রয়েছে যা এর আচরণ নির্ধারণ করে। উদাহরণস্বরূপ, HAS_BPU একটি শাখার পূর্বাভাস একটি ইউনিট উপস্থিত আছে কিনা তা নির্ধারণ করতে ব্যবহৃত হয়, BPU_GLOBAL_BITS কতগুলি অতীত বিট ব্যবহার করা উচিত তা নির্ধারণ করবে এবং BPU_LOCAL_BITS প্রোগ্রাম কাউন্টারের কতগুলি LSB ব্যবহার করা উচিত তা নির্ধারণ করবে। BPU_LOCAL_BITS এবং BPU_GLOBAL_BITS এর সংমিশ্রণ একটি ভেক্টর তৈরি করবে যা প্রধানত শাখা-পূর্বাভাস-সারণীকে সম্বোধন করতে ব্যবহৃত হয়।
ডেটা ক্যাশে
এটি প্রধানত মেমরির নতুন অ্যাক্সেস করা অবস্থানগুলিকে বাফার করে ডেটা মেমরির অ্যাক্সেসের গতি বাড়ানোর জন্য ব্যবহৃত হয়। এটি অর্ধ-শব্দ, বাইট এবং শব্দ অ্যাক্সেস পরিচালনা করতে সক্ষম যখন XLEN = 32 যদি তারা তাদের নিজস্ব সীমানায় থাকে। এটি অর্ধ-শব্দ, বাইট, শব্দ এবং দ্বি-শব্দ অ্যাক্সেসগুলি পরিচালনা করতে সক্ষম যখন XLEN=64 যদি তারা তাদের নিজস্ব সীমানায় থাকে।
একটি ক্যাশে মিস জুড়ে, একটি সম্পূর্ণ ব্লক মেমরিতে ফিরে লেখা যেতে পারে, তাই প্রয়োজন হলে, একটি নতুন ব্লক ক্যাশে লোড করা যেতে পারে। DCACHE_SIZE শূন্য সেট করে ডেটা ক্যাশে নিষ্ক্রিয় করা হয়েছে৷ এর পরে, মেমরি অবস্থানগুলি সরাসরি এর মাধ্যমে অ্যাক্সেস করা হয় ডেটা ইন্টারফেস .
নির্দেশ ক্যাশে
এটি প্রধানত নতুন আনা নির্দেশাবলী বাফারিং দ্বারা নির্দেশ আনার গতি বাড়াতে ব্যবহৃত হয়। এই ক্যাশে যেকোন 16-বিট সীমানায় প্রতিটি চক্রের জন্য একটি পার্সেল আনতে ব্যবহৃত হয় কিন্তু একটি ব্লক সীমানা জুড়ে নয়। একটি ক্যাশে মিস জুড়ে, নির্দেশ মেমরি থেকে একটি সম্পূর্ণ ব্লক লোড করা যেতে পারে। এই ক্যাশের কনফিগারেশন ব্যবহারকারীর চাহিদার উপর ভিত্তি করে করা যেতে পারে। ক্যাশের আকার, প্রতিস্থাপন অ্যালগরিদম এবং ব্লকের দৈর্ঘ্য কনফিগারযোগ্য।
ICACHE_SIZE শূন্য সেট করে নির্দেশনা চক্রটি অক্ষম করা হবে৷ এর পরে, পার্সেলগুলি সরাসরি মেমরি থেকে এর মাধ্যমে আনা হয় নির্দেশ ইন্টারফেস।
ডিবাগ ইউনিট
ডিবাগ ইউনিট ডিবাগ পারিপার্শ্বিকতাকে থামাতে এবং CPU পরীক্ষা করার অনুমতি দেবে। এর প্রধান বৈশিষ্ট্য হল ব্রাঞ্চ ট্রেসিং, সিঙ্গেল স্টেপ ট্রেসিং পর্যন্ত 8- হার্ডওয়্যার ব্রেকপয়েন্ট।
রেজিস্টার ফাইল
এটি X0 থেকে X31 পর্যন্ত 32টি রেজিস্টার অবস্থানের সাথে ডিজাইন করা হয়েছে যেখানে X9 রেজিস্টার সবসময় শূন্য থাকে। রেজিস্টার ফাইলে 1- রাইট পোর্ট এবং 2- রিড পোর্ট রয়েছে।
কনফিগারযোগ্য ইন্টারফেস
এটি একটি বাহ্যিক ইন্টারফেস যেখানে এই প্রসেসরটি বিভিন্ন বাহ্যিক বাস ইন্টারফেস সমর্থন করে।
RISC V কিভাবে কাজ করে?
RISC-V হল একটি ইন্সট্রাকশন সেট আর্কিটেকচার যা RISC (রিডুসড ইনস্ট্রাকশন সেট কম্পিউটার) নীতির মধ্যে রয়েছে। এই প্রসেসরটি খুবই অনন্য এবং বিপ্লবী কারণ এটি একটি বিনামূল্যের, সাধারণ এবং ওপেন সোর্স আইএসএ যেখানে হার্ডওয়্যার তৈরি করা যেতে পারে, সফ্টওয়্যারটি পোর্ট করা যেতে পারে এবং প্রসেসরগুলিকে সমর্থন করার জন্য ডিজাইন করা যেতে পারে।
পার্থক্য B/W RISC V বনাম MIPS
RISC V এবং MIPS এর মধ্যে পার্থক্য নিম্নলিখিতগুলি অন্তর্ভুক্ত করে।
RISC ভি |
এমআইপিএস |
RISC V শব্দের অর্থ হল রিডুসড ইনস্ট্রাকশন সেট কম্পিউটার যেখানে 'V' হল পঞ্চম প্রজন্ম। | 'MIPS' শব্দের অর্থ হল 'প্রতি সেকেন্ডে মিলিয়ন নির্দেশাবলী'। |
RISC-V সহজভাবে ছোট ডিভাইসের নির্মাতাদের অর্থ প্রদান ছাড়াই হার্ডওয়্যার ডিজাইন করার অনুমতি দেয়। | MIPS নির্মাতাকে প্রসেসরের গতি পরিমাপ করার অনুমতি দেয় কারণ এটি বিনামূল্যে নয়। |
MIPS দক্ষতার সাথে মৃত. | RISC-V কার্যকরীভাবে মৃত নয়। |
এই প্রসেসর দুটি রেজিস্টার তুলনা করার জন্য শাখা নির্দেশাবলী প্রদান করে। | MIPS একটি তুলনামূলক নির্দেশের উপর নির্ভর করে যা বৈসাদৃশ্যটি সত্য কিনা তার উপর ভিত্তি করে 1 বা 0-এ একটি রেজিস্টার সনাক্ত করে। |
ISA এনকোডিং স্কিম RISC V-তে স্থির এবং পরিবর্তনশীল। | আইএসএ এনকোডিং স্কিম এমআইপিএস-এ স্থির করা হয়েছে |
নির্দেশ সেটের আকার হল 16-বিট বা 32-বিট বা 64-বিট বা 128-বিট। | নির্দেশ সেটের আকার 32-বিট বা 64-বিট। |
এটিতে 32টি সাধারণ উদ্দেশ্য এবং ফ্লোটিং পয়েন্ট রেজিস্টার রয়েছে | এটিতে 31টি সাধারণ উদ্দেশ্য এবং ফ্লোটিং পয়েন্ট রেজিস্টার রয়েছে। |
এটিতে 26-একক এবং ডাবল নির্ভুলতা ফ্লোটিং পয়েন্ট অপারেশন রয়েছে। | এটিতে 15-একক এবং দ্বিগুণ নির্ভুল ফ্লোটিং পয়েন্ট অপারেশন রয়েছে। |
পার্থক্য B/W RISC V বনাম ARM
RISC V বনাম ARM-এর মধ্যে পার্থক্য নিম্নলিখিতগুলি অন্তর্ভুক্ত করে।
RISC ভি |
এআরএম |
RISC-V ওপেন সোর্স, তাই এটির কোনো লাইসেন্সের প্রয়োজন নেই। | ARM একটি বন্ধ উৎস, তাই এটির একটি লাইসেন্স প্রয়োজন। |
এটি একটি নতুন প্রসেসর প্ল্যাটফর্ম, তাই সফ্টওয়্যার এবং প্রোগ্রামিং পরিবেশের জন্য খুব কম সমর্থন রয়েছে। | এআরএম-এর একটি খুব বড় অনলাইন সম্প্রদায় রয়েছে, যা মাইক্রোপ্রসেসর, মাইক্রোকন্ট্রোলার এবং সার্ভারের মতো বিভিন্ন প্ল্যাটফর্মে লক্ষ্য ডিজাইনারদের সহায়তা করতে লাইব্রেরি এবং কাঠামো সমর্থন করে। |
RISC V-ভিত্তিক চিপগুলি 1 ওয়াট শক্তি ব্যবহার করে। | এআরএম-ভিত্তিক চিপগুলি 4 ওয়াট পাওয়ারের নীচে ব্যবহার করে। |
এটির একটি স্থির এবং পরিবর্তনশীল ISA এনকোডিং সিস্টেম রয়েছে। | এটির একটি নির্দিষ্ট আইএসএ এনকোডিং সিস্টেম রয়েছে। |
RISC V নির্দেশনা সেটের আকার 16-বিট থেকে 128-বিট পর্যন্ত। | এর নির্দেশের আকার 16-বিট থেকে 64-বিট পর্যন্ত। |
এতে 32টি সাধারণ উদ্দেশ্য এবং ফ্লোটিং পয়েন্ট রেজিস্টার রয়েছে। | এতে 31টি সাধারণ উদ্দেশ্য এবং ফ্লোটিং পয়েন্ট রেজিস্টার রয়েছে। |
এটিতে 26-একক নির্ভুল ফ্লোটিং পয়েন্ট অপারেশন রয়েছে। | এটিতে 33-একক নির্ভুল ফ্লোটিং পয়েন্ট অপারেশন রয়েছে। |
এটিতে 26-ডবল নির্ভুলতা ফ্লোটিং পয়েন্ট অপারেশন রয়েছে। | এটিতে 29-ডবল নির্ভুলতা ফ্লোটিং পয়েন্ট অপারেশন রয়েছে। |
RISC V ভেরিলগ কোড
RISC-এর জন্য নির্দেশ মেমরি ভেরিলগ কোড নীচে দেখানো হয়েছে।
// RISC প্রসেসরের জন্য ভেরিলগ কোড
// নির্দেশ মেমরির জন্য ভেরিলগ কোড
মডিউল Instruction_Memory(
ইনপুট[15:0] পিসি,
আউটপুট [15:0] নির্দেশ
);
reg [`col – 1:0] মেমরি [`row_i – 1:0];
তার [৩ : ০] rom_addr = PC[4 : 1];
প্রাথমিক
শুরু
$readmemb(“./test/test.prog”, memory,0,14);
শেষ
বরাদ্দ নির্দেশ = মেমরি [rom_addr];
endmodule
16-বিট RISC V প্রসেসরের জন্য ভেরিলগ কোড:
মডিউল Risc_16_bit(
ইনপুট clk
);
wire jump,bne,beq,mem_read,mem_write,alu_src,reg_dst,mem_to_reg,reg_write;
তারের [1:0] alu_op;
wire [3:0] opcode;
// ডেটাপথ
Datapath_Unit DU
(
.clk(clk),
.জাম্প(জাম্প),
.frog(ব্যাঙ),
.mem_read(মেম_পড়ুন),
.mem_write(mem_write),
.alu_src(alu_src),
.reg_dst(reg_dst),
.mem_to_reg(mem_to_reg),
.reg_write(reg_write),
.bne(bne),
.alu_op(alu_op),
.opcode(opcode)
);
// নিয়ন্ত্রণ ইউনিট
কন্ট্রোল_ইউনিট নিয়ন্ত্রণ
(
.opcode(opcode),
.reg_dst(reg_dst),
.mem_to_reg(mem_to_reg),
.alu_op(alu_op),
.জাম্প(জাম্প),
.bne(bne),
.frog(ব্যাঙ),
.mem_read(মেম_পড়ুন),
.mem_write(mem_write),
.alu_src(alu_src),
.reg_write(reg_write)
);
endmodule
নির্দেশ সেট
RISC V নির্দেশনা সেটগুলি নীচে আলোচনা করা হয়েছে৷
গাণিতিক অপারেশন
RISC V গাণিতিক ক্রিয়াকলাপগুলি নীচে তালিকাভুক্ত করা হয়েছে।
স্মৃতিসংক্রান্ত | টাইপ | নির্দেশ | বর্ণনা |
rd, rs1, rs2 যোগ করুন |
আর |
যোগ করুন | rdß rs1 + rs2 |
SUB rd, rs1, rs2 |
আর |
বিয়োগ করুন | rdß rs1 – rs2 |
ADDI rd, rs1, imm12 |
আমি |
অবিলম্বে যোগ করুন | rdß rs1 + imm12 |
SLT rd, rs1, rs2 |
আর |
এর চেয়ে কম সেট করুন | rdß rs1 -< rs2 |
SLTI rd, rs1, imm12 |
আমি |
অবিলম্বে কম সেট | rdß rs1 -< imm12 |
SLTU rd, rs1, rs2 |
আর |
স্বাক্ষরবিহীন থেকে কম সেট করুন | rdß rs1 -< rs2 |
SLTIU rd, rs1, imm12 |
আমি |
অবিলম্বে স্বাক্ষরবিহীন কম সেট করুন | rdß rs1 -< imm12 |
LUI rd, imm20 |
ভিতরে |
অবিলম্বে উপরের লোড | rdß imm20<<12 |
AUIP rd, imm20 |
ভিতরে |
পিসিতে উপরের অবিলম্বে যোগ করুন | rdß PC+imm20<<12 |
লজিক্যাল অপারেশন
RISC V লজিক্যাল ক্রিয়াকলাপগুলি নীচে তালিকাভুক্ত করা হয়েছে৷
স্মৃতিসংক্রান্ত | টাইপ | নির্দেশ | বর্ণনা |
এবং rd, rs1, rs2 |
আর |
এবং | rdß rs1 এবং rs2 |
অথবা rd, rs1, rs2 |
আর |
বা | rdß rs1 | rs2 |
XOR rd, rs1, rs2 |
আর |
বিনামূল্যে | rdß rs1 ^ rs2 |
ANDI rd, rs1, imm12 |
আমি |
এবং অবিলম্বে | rdß rs1 এবং imm2 |
ORI rd, rs1, imm12 |
আমি |
বা অবিলম্বে | rdß rs1 | imm12 |
OXRI rd, rs1, imm12 |
আমি |
XOR অবিলম্বে | rdß rs1 ^ rs2 |
SLL rd, rs1, rs2 |
আর |
লজিক্যাল বামে স্থানান্তর করুন | rdß rs1 << rs2 |
SRL rd, rs1, rs2 |
আর |
ডান লজিক্যাল শিফট করুন | rdß rs1 >> rs2 |
RAS rd, rs1, rs2 |
আর |
ডান পাটিগণিত স্থানান্তর করুন | rdß rs1 >> rs2 |
SLLI rd, rs1, shamt |
আমি |
যৌক্তিক অবিলম্বে বাম স্থানান্তর | rdß rs1 << shamt |
SRLI rd, rs1, shamt |
আমি |
ডান লজিক্যাল অবিলম্বে স্থানান্তর | rdß rs1 >> shamt |
SRAI rd, rs1, shamt |
আমি |
ডান পাটিগণিত অবিলম্বে স্থানান্তর করুন | rdß rs1 >> shamt |
লোড/স্টোর অপারেশন
RISC V লোড/স্টোর অপারেশনগুলি নীচে তালিকাভুক্ত করা হয়েছে৷
স্মৃতিসংক্রান্ত | টাইপ | নির্দেশ | বর্ণনা |
LD rd, imm12 (rs1) |
আমি |
ডাবলওয়ার্ড লোড করুন | rdß মেম [rs1 +imm12] |
LW rd, imm12 (rs1) |
আমি |
লোড শব্দ | rdß মেম [rs1 +imm12] |
LH rd, imm12 (rs1) |
আমি |
অর্ধেক লোড | rdß মেম [rs1 +imm12] |
LB rd, imm12 (rs1) |
আমি |
লোড বাইট | rdß মেম [rs1 +imm12] |
LWU rd, imm12 (rs1) |
আমি |
লোড শব্দ স্বাক্ষরিত | rdß মেম [rs1 +imm12] |
LHU rd, imm12 (rs1) |
আমি |
স্বাক্ষরবিহীন অর্ধেক শব্দ লোড করুন | rdß মেম [rs1 +imm12] |
LBU rd, imm12 (rs1) |
আমি |
লোড বাইট স্বাক্ষরবিহীন | rdß মেম [rs1 +imm12] |
SD rs2, imm12 (rs1) |
এস |
ডাবল শব্দ সংরক্ষণ করুন | rs2 to mem [rs1 +imm12] |
SW rs2, imm12 (rs1) |
এস |
স্টোর শব্দ | rs2 (31:0) থেকে মেম [rs1 +imm12] |
SH rs2, imm12 (rs1) |
এস |
অর্ধেক পথ সংরক্ষণ করুন | rs2 (15:0) থেকে মেম [rs1 +imm12] |
SB rs2, imm12 (rs1) |
এস |
স্টোর বাইট | rs2 (15:0) থেকে মেম [rs1 +imm12] |
SRAI rd, rs1, shamt |
আমি |
ডান পাটিগণিত অবিলম্বে স্থানান্তর করুন | rs2 (7:0) থেকে মেম [rs1 +imm12] |
শাখা কার্যক্রম
RISC V ব্রাঞ্চিং অপারেশনগুলি নীচে তালিকাভুক্ত করা হয়েছে৷
স্মৃতিসংক্রান্ত | টাইপ | নির্দেশ | বর্ণনা |
BEQ rs1, rs2, imm12 |
এসবি |
শাখা সমান | যদি rs1== rs2 PC ß PC+ imm12 |
BNE rs1, rs2, imm12 |
এসবি |
শাখা সমান নয় | যদি rs1!= rs2 PC ß PC+ imm12 |
BGE rs1, rs2, imm12 |
এসবি |
এর চেয়ে বড় বা সমান শাখা | যদি rs1>= rs2 হয় PC ß PC+ imm12 |
BGEU rs1, rs2, imm12 |
এসবি |
স্বাক্ষরবিহীন এর চেয়ে বড় বা সমান শাখা | যদি rs1>= rs2 হয় PC ß PC+ imm12 |
BLT rs1, rs2, imm12 |
এসবি |
এর চেয়ে কম শাখা | যদি rs1< rs2 PC ß PC+ imm12 |
BLTU rs1, rs2, imm12 |
এসবি |
স্বাক্ষরবিহীন শাখার চেয়ে কম | যদি rs1< rs2 PC ß PC+imm12 <<1 |
JAL rd, imm20 |
ইউজে |
জাম্প এবং লিঙ্ক | rdßPC+4 PCß PC+ imm20 |
JALR rd, imm12(rs1) |
আমি |
জাম্প এবং লিঙ্ক নিবন্ধন | rdßPC+4 PCß rs1+ imm12 |
সুবিধাদি
দ্য RISC এর সুবিধা ভি প্রসেসর নিম্নলিখিত অন্তর্ভুক্ত.
- RISCV ব্যবহার করে, আমরা ডেভেলপমেন্ট সময়, সফটওয়্যার ডেভেলপমেন্ট, যাচাইকরণ ইত্যাদি বাঁচাতে পারি।
- এই প্রসেসরের অনেক সুবিধা রয়েছে যেমন সরলতা, উন্মুক্ততা, মডুলারিটি, ক্লিন-স্লেট ডিজাইন এবং এক্সটেনসিবিলিটি।
- এটি GCC (GNU কম্পাইলার কালেকশন), একটি ফ্রি-সফ্টওয়্যার কম্পাইলার এবং এর মাধ্যমে বিভিন্ন ভাষার কম্পাইলার দ্বারা সমর্থিত। লিনাক্স ওএস .
- কোন রয়্যালটি, কোন লাইসেন্সিং ফি এবং কোন স্ট্রিং সংযুক্ত না থাকার কারণে এটি কোম্পানিগুলি অবাধে ব্যবহার করতে পারে।
- RISC-V প্রসেসর কোনো নতুন বা উদ্ভাবনী বৈশিষ্ট্য অন্তর্ভুক্ত করে না কারণ এটি কেবল RISC-এর প্রতিষ্ঠিত নীতি অনুসরণ করে।
- অন্যান্য আইএসএ-এর মতো, এই প্রসেসরের স্পেসিফিকেশন সহজভাবে বিভিন্ন নির্দেশনা সেটের স্তরকে সংজ্ঞায়িত করে। সুতরাং এতে 32 এবং 64-বিট ভেরিয়েন্টের পাশাপাশি ফ্লোটিং পয়েন্ট নির্দেশাবলীর জন্য সমর্থন দেওয়ার জন্য এক্সটেনশন রয়েছে।
- এগুলি বিনামূল্যে, সাধারণ, মডুলার, স্থিতিশীল ইত্যাদি।
অসুবিধা
দ্য RISC V প্রসেসরের অসুবিধা নিম্নলিখিত অন্তর্ভুক্ত.
- জটিল নির্দেশাবলী প্রায়শই কম্পাইলার এবং প্রোগ্রামারদের দ্বারা ব্যবহৃত হয়।
- একটি RISC এর o/p কোডের উপর ভিত্তি করে পরিবর্তিত হতে পারে যখন একটি লুপের মধ্যে পরবর্তী নির্দেশাবলী কার্যকর করার পূর্ববর্তী নির্দেশের উপর নির্ভর করে।
- এই প্রসেসরগুলিকে দ্রুত বিভিন্ন ধরনের নির্দেশাবলী সংরক্ষণ করতে হবে, যার জন্য একটি বড় ক্যাশ মেমরি সেট প্রয়োজন যাতে নির্দেশের সময়মত প্রতিক্রিয়া জানানো হয়।
- RISC-এর সম্পূর্ণ বৈশিষ্ট্য, ক্ষমতা এবং সুবিধাগুলি মূলত আর্কিটেকচারের উপর নির্ভর করে।
অ্যাপ্লিকেশন
দ্য RISC V এর আবেদন প্রসেসর নিম্নলিখিত অন্তর্ভুক্ত.
- RISC-V এমবেডেড সিস্টেম, কৃত্রিম বুদ্ধিমত্তা এবং মেশিন লার্নিং-এ ব্যবহৃত হয়।
- এই প্রসেসরগুলি উচ্চ-কর্মক্ষমতা-ভিত্তিক এমবেডেড সিস্টেম অ্যাপ্লিকেশনগুলিতে ব্যবহৃত হয়।
- এই প্রসেসরটি এজ কম্পিউটিং, এআই এবং স্টোরেজ অ্যাপ্লিকেশনের মতো কিছু নির্দিষ্ট ক্ষেত্রে ব্যবহারের জন্য উপযুক্ত।
- RISC-V গুরুত্বপূর্ণ কারণ এটি ছোট ডিভাইস নির্মাতাদের অর্থ প্রদান ছাড়াই হার্ডওয়্যার ডিজাইন করার অনুমতি দেয়।
- এই প্রসেসরটি কেবল গবেষক এবং বিকাশকারীদের একটি অবাধে উপলব্ধ ISA বা নির্দেশনা সেট আর্কিটেকচারের সাথে ডিজাইনের পাশাপাশি গবেষণা করার অনুমতি দেয়।
- RISC V এর অ্যাপ্লিকেশনগুলি ছোট এমবেডেড মাইক্রোকন্ট্রোলার থেকে শুরু করে ডেস্কটপ পিসি এবং ভেক্টর প্রসেসর সহ সুপার কম্পিউটার পর্যন্ত।
এইভাবে, এই একটি RISC V প্রসেসরের একটি ওভারভিউ - আর্কিটেকচার, অ্যাপ্লিকেশনগুলির সাথে কাজ করা। এখানে আপনার জন্য একটি প্রশ্ন, একটি CISC প্রসেসর কি?