Агуулгын хүснэгт:
- Алхам 1: Техникийн үзүүлэлтүүд
- Алхам 2: Бүх системийн RTL харагдац
- Алхам 3: Туршилтын орчин
- Алхам 4: Хавсаргасан файлууд
Видео: VHDL дээрх энгийн кэш хянагчийн загвар: 4 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:02
VHDL кодыг сурч, кэш хянагч зохион бүтээхэд жаахан хэцүү байсан тул би үүнийг заавартай бичиж байна. Тиймээс би өөрөө эхнээс нь кэш хянагч зохион бүтээсэн бөгөөд үүнийг FPGA дээр амжилттай туршсан. Би энд шууд зурагласан кэш хянагчийг танилцуулж, кэш хянагчийг туршихын тулд бүх процессор-санах ойн системийг загварчилсан болно. Энэхүү зааварчилгаа нь өөрийн кэш хянагчийг зохион бүтээхэд хэрэгтэй гэж найдаж байна.
Алхам 1: Техникийн үзүүлэлтүүд
Эдгээр нь бидний зохион байгуулах гэж буй Cache Controller -ийн үндсэн үзүүлэлтүүд юм.
- Шууд газрын зураг. (Associated Mapped Cache Controller хайж байгаа бол энэ линк рүү орно уу)
- Нэг банктай, кэшийг хаах.
- Бичих хитүүдийн талаархи бичих бодлого.
- Бичихгүй байх талаар Бичихгүй байх эсвэл эргэн тойрондоо бичих бодлого бичих.
- Бичих буфер эсвэл бусад оновчлол байхгүй.
- Tag Array -ийг нэгтгэсэн болно.
Үүнээс гадна бид кэш санах ой болон үндсэн санах ойн системийг зохион бүтээнэ.
Кэш санах ойн анхдагч (тохируулж болох) үзүүлэлтүүд:
- 256 байт дан банктай кэш.
- 16 кэш мөр, кэш мөр бүр (блок) = 16 байт.
Үндсэн санах ойн үзүүлэлтүүд:
- Синхрон унших/бичих санах ой.
- Олон банктай Interleaved санах ой - санах ойн дөрвөн банк.
- Банк бүрийн хэмжээ = тус бүр 1 кБ. Тиймээс нийт хэмжээ = 4 кБ байна.
- 10 битийн хаягийн автобус бүхий Word (4 байт) хаягтай санах ой.
- Уншихад илүү өндөр зурвасын өргөн. Өгөгдлийн өргөн = 16 байтыг нэг цагийн мөчлөгт уншина уу.
- Өгөгдлийн өргөнийг бичих = 4 байт.
ТАЙЛБАР: Хэрэв та 4 талын ассоциатив кэш хянагчийн загвар хайж байгаа бол миний шинэ зааврыг шалгаарай
Алхам 2: Бүх системийн RTL харагдац
Топ модулийн RTL -ийн бүрэн дүрслэлийг Зураг дээр үзүүлэв (процессороос бусад). Автобусны стандарт үзүүлэлтүүд нь:
- Бүх өгөгдлийн автобус нь 32 битийн автобус юм.
- Хаягийн автобус = 32 битийн автобус (Гэхдээ энд зөвхөн 10 битийг санах ойд хандах боломжтой).
- Өгөгдлийн блок = 128 бит (унших өргөн зурвасын өргөн).
- Бүх бүрэлдэхүүн хэсгүүдийг нэг цаг удирддаг.
Алхам 3: Туршилтын орчин
Топ модулийг туршилтын вандан ашиглан туршиж үзсэн бөгөөд энэ нь дамжуулах хоолойгүй процессорыг загварчилдаг (Учир нь бүх процессорыг зохион бүтээх нь тийм ч хялбар биш юм!). Туршилтын вандан нь санах ойд өгөгдөл унших/бичих хүсэлтийг байнга гаргадаг. Энэ нь процессор гүйцэтгэдэг бүх програмд түгээмэл байдаг "Ачаалах" ба "Хадгалах" зааврыг дооглодог. Туршилтын үр дүн нь кэш хянагчийн ажиллагааг амжилттай баталгаажуулав. Туршилтын статистикийг доор харуулав.
- Алдагдах, бичих бүх унших/бичих дохиог зөв үүсгэсэн.
- Өгөгдлийг унших/бичих бүх үйлдлүүд амжилттай болсон.
- Мэдээллийн нийцгүй байдал/нийцэхгүй байдлын асуудал илрээгүй.
- Дизайн нь Maxm -ийн цаг хугацааг амжилттай баталгаажуулсан. Ажиллах цагийн давтамж = Xilinx Virtex-4 ML-403 ТУЗ-д 110 МГц (бүхэл систем), зөвхөн кэш хянагчийн хувьд 195 МГц.
- Блок RAM -ийг үндсэн санах ойд зориулж гаргасан. Бусад бүх массивыг LUT дээр хэрэгжүүлсэн.
Алхам 4: Хавсаргасан файлууд
Дараах файлуудыг энэ блогт хавсаргав.
- Cache Controller, Cache Data Array, Main Memory System -ийн. VHD файлууд.
- Туршилтын вандан.
- Кэш хянагчийн талаархи баримт бичиг.
Тэмдэглэл:
- Энд танилцуулсан кэш хянагчийн техникийн үзүүлэлтүүдийг бүрэн ойлгохын тулд баримт бичгийг үзнэ үү.
- Кодын аливаа өөрчлөлт нь бусад модулиудаас хамааралтай байдаг. Тиймээс өөрчлөлтийг ухаалгаар хийх ёстой. Миний өгсөн бүх тайлбар, толгой хэсэгт анхаарлаа хандуулаарай.
- Хэрэв ямар нэг шалтгаанаар Блок RAM -ийг үндсэн санах ойд тооцдоггүй бол санах ойн хэмжээг багасгаж, файлуудын хаягийн автобусны өргөнийг өөрчлөх гэх мэт. Ижил санах ойг LUTs эсвэл Distributed RAM дээр хэрэгжүүлэх боломжтой болно. Энэ нь чиглүүлэлтийн цаг хугацаа, нөөцийг хэмнэх болно. Эсвэл, FPGA -ийн тодорхой баримт бичиг рүү очоод, RAM -ийг блоклоход тохирох кодыг олоод кодоо тохируулаад хаягийн автобусны өргөний үзүүлэлтийг ашиглана уу. Altera FPGA -ийн хувьд ижил техник.
Зөвлөмж болгож буй:
Төмөр замын энгийн автомат загвар загвар - Arduino хяналттай: 11 алхам (зурагтай)
Төмөр замын энгийн автомат загвар загвар | Arduino Controlled: Arduino микроконтроллер нь төмөр замын загварт маш сайн нэмэлт болдог, ялангуяа автоматжуулалт хийх үед. Arduino ашиглан төмөр замын загварын автоматжуулалтыг эхлүүлэх энгийн бөгөөд хялбар арга энд байна. Тиймээс, илүү их зүйлгүйгээр эхлүүлцгээе
VHDL дээрх дөрвөн талт энгийн ассоциатив кэш хянагчийн загвар: 4 алхам
VHDL дээрх дөрвөн талт энгийн ассоциатив кэш хянагчийн загвар: Миний өмнөх зааварчилгаанд бид энгийн шууд зураглал бүхий кэш хянагчийг хэрхэн яаж бүтээх талаар олж мэдсэн. Энэ удаад бид нэг алхам урагшилж байна. Бид дөрвөн талын энгийн ассоциатив кэш хянагчийн загварыг гаргах болно. Давуу тал? Алдагдсан ханш бага, гэхдээ үнийн хувьд
VHDL дээр програмчлагдах тасалдлын хянагчийн дизайн: 4 алхам
VHDL -д програмчлагдах тасалдлын хянагчийн загвар: Энэ блог дээр надад ямар төрлийн хариулт өгч байгаад би сэтгэл дундуур байна. Миний блогоор зочилж, мэдлэгээ та бүхэнтэй хуваалцах урам зориг өгсөн залуусдаа баярлалаа. Энэ удаад би бүх SOC -д харагддаг өөр нэг сонирхолтой модулийн загварыг танилцуулах болно - Interrupt C
VHDL ба Verilog дээр энгийн VGA хянагчийн дизайн: 5 алхам
VHDL ба Verilog дээрх энгийн VGA хянагчийн загвар: Энэхүү зааварчилгаанд бид RTL дээр энгийн VGA хянагч зохион бүтээх гэж байна. VGA хянагч нь VGA дэлгэцийг удирдах зориулалттай дижитал хэлхээ юм. Энэ нь харуулах хүрээг харуулсан Frame Buffer (VGA санах ой) -оос уншиж, шаардлагатай зүйлийг үүсгэдэг
Загвар хийхэд тохиромжтой чимэг чимэг загвар: 14 алхам (зурагтай)
Загвар хийхэд тохиромжтой чимэг чимэг загвар: "Breadboard" гэсэн нэр томъёо хаана байдаг талаар та бодож байсан уу? аас ирсэн? Талхны самбар гэж юу болохыг харуулсан жишээ энд байна. Электроникийн эхэн үед эд ангиуд нь том, төвөгтэй байв. Тэдэнд транзистор эсвэл нэгдсэн тойрог байгаагүй