RISC-V
9 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

ما هو الرقم الخاص بالسجل zero؟

x0

ما هي وظيفة السجل ra؟

عنوان العودة

ما هو الاستخدام الأساسي للسجل sp؟

مؤشر المكدس

ما وظيفة السجل gp؟

<p>مؤشر عام</p> Signup and view all the answers

كم عدد السجلات المؤقتة t0 - t2 الموجودة؟

<p>3</p> Signup and view all the answers

أي من التعليمات التالية تُمثل عملية الضرب؟

<p>mul</p> Signup and view all the answers

العملية 'div' تمثل ماذا في مجموعة تعليمات RISC-V؟

<p>قسمة موقعة</p> Signup and view all the answers

ما هي التعليمات المعادلة لتعليمات c.addi4spn؟

<p>addi rd', sp, ZeroExt(imm)*4</p> Signup and view all the answers

ما النوع الذي ينتمي إليه سجل s0/fp؟

<p>سجل محفوظ / مؤشر إطار</p> Signup and view all the answers

Study Notes

تسجيلات معالج RISC-V

  • يحتوي معالج RISC-V على أربع وثلاثين سجلًا عامًا، يشار إليها من x0 إلى x31.
  • يستخدم كل سجل لتخزين قيمة 32 بت، ويشير رقم السجل إلى اسمه.
  • x0 (zero): سجل قراءة فقط (read-only)، و دائمًا يظل قيمته 0.
  • x1 (ra): سجل الإرجاع (return address)، و يستخدم لتخزين عنوان الإرجاع بعد مكالمة الدالة.
  • x2 (sp): مؤشر المكدس (stack pointer)، و يشير إلى نهاية المكدس.
  • x3 (gp): مؤشر العناوين العالمية (global pointer)، و يشير إلى بداية منطقة البيانات العالمية (global data).
  • x4 (tp): مؤشر الخيط (thread pointer)، ويشير إلى بداية مساحة ذاكرة الخيط (thread).
  • x5 – x7 (t0 – t2): سجلات مؤقتة (temporary registers)، تستخدم لتخزين قيم مؤقتة أثناء تنفيذ التعليمات.
  • x8 (s0/fp): سجل محجوز (saved register)، وغالبًا ما يستخدم كمؤشر الإطار (frame pointer).
  • x9 (s1): سجل محجوز (saved register)، لتخزين قيم في حالات معينة.
  • x10 – x11 (a0 – a1): سجلات وسيطة (argument registers)، تُستخدم لنقل المعاملات (arguments) إلى الدوال.
  • x12 – x17 (a2 – a7): سجلات وسيطة (argument registers)، تُستخدم لنقل المعاملات (arguments) إلى الدوال.
  • x18 – x27 (s2 – s11): سجلات محجوزة (saved registers) لتخزين قيم في حالات معينة.
  • x28 – x31 (t3 – t6): سجلات مؤقتة (temporary registers) تستخدم لتخزين قيم مؤقتة أثناء تنفيذ التعليمات.

تعليمات الضرب والقسمة في RISC-V

  • يستخدم مجموع تعليمات RVM (RISC-V Multiply and Divide) تعليمات الضرب والقسمة في معمارية RISC-V.
  • تتضمن تعليمات الضرب والقسمة تسعة تعليمات، يتم تحديدها عن طريق opcode و funct3 و funct7.
  • mul: تعليمات الضرب (multiply)، تجري عملية الضرب بين سجل rs1 وسجل rs2، ثم تُخزن نتيجة الضرب في السجل rd.
  • mulh: تعليمات الضرب العالي (multiply high)، تجري عملية الضرب بين سجل rs1 وسجل rs2، ثم تُخزن 32 بت من النتيجة في السجل rd.
  • mulhsu: تعليمات الضرب العالي موقعة غير موقعة (multiply high signed unsigned)، تجري عملية الضرب بين سجل rs1 وسجل rs2 (حيث rs1 موقعة و rs2 غير موقعة)، ثم تُخزن 32 بت من النتيجة في السجل rd.
  • mulhu: تعليمات الضرب العالي غير موقعة (multiply high unsigned)، تجري عملية الضرب بين سجل rs1 وسجل rs2، ثم تُخزن 32 بت من النتيجة في السجل rd.
  • div: تعليمات القسمة الموقعة (divide signed)، تجري عملية القسمة بين سجل rs1 وسجل rs2، ثم تُخزن نتيجة القسمة في السجل rd.
  • divu: تعليمات القسمة غير الموقعة (divide unsigned)، تجري عملية القسمة بين سجل rs1 وسجل rs2، ثم تُخزن نتيجة القسمة في السجل rd.
  • rem: تعليمات الباقي الموقعة (remainder)، تجري عملية القسمة بين سجل rs1 وسجل rs2، ثم تُخزن الباقي في السجل rd.
  • remu: تعليمات الباقي غير الموقعة (remainder unsigned)، تجري عملية القسمة بين سجل rs1 وسجل rs2، ثم تُخزن الباقي في السجل rd.

RISC-V تعليمات مضغوطة (16-bit)

  • تستخدم تعليمات RVC (RISC-V Compressed) صيغًا مختصرة لتعليمات RISC-V، مما يسمح بتقليل حجم الكود.
  • يتم تحديد format التعليمات من خلال بت opcode و instr15:10، بالإضافة إلى بتات اضافية.
  • CIW: تعليمات 16 بت للضرب 4 (c.addi4spn rd', sp, imm)
  • CL: تعليمات 16 بت لتحميل البيانات (c.fld fd', imm(rs1') - c.lw rd', imm(rs1'))
  • CSS: تعليمات 16 بت لحفظ البيانات (c.fsd fd', imm(rs1') - c.sw rd', imm(rs1'))
  • CJ, CB, CB', CI, CL, CSS, CS, CS': صيغ مختلفة لتعليمات 16 بت.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team
Use Quizgecko on...
Browser
Browser