3. PowerPC
PowerPC 405 features
Embedded32-bit RISC processor with
•
Harvard architecture
5-stage pipeline (fetch, decode, execute, write
back and load write back stage)
Branch prediction
Hardware multiply/divide unit
The auxiliary processor unit (APU)
4. PowerPC 405 functional unit
Instruction and data cache, 16 KB each
Memory management unit with 64-entry
translation lookaside buffer (TLB)
Fetch & decode unit
Execution unit with thirty two 32-bit generalpurpose registers, ALU , and MAC (Multiple
Accumulate Unit)
• Timers
Debug logic
6. PicoBlaze:
PicoBlaze key features
Embedded 8-bit RISC processor
16-byte-wide general-purpose data registers
256-1024 instruction words
Byte-wide ALU operation with carry and zero
flags
64-byte internal scratchpad RAM
256 input/output ports
Four to 31 locations of CALL/RETURN stack
Each instruction takes two clock cycles
7. PicoBlaze key features
Twenty-one MIPS for CoolRunner II to 100
MIPS for Virtex 4
Instruction size 16 to 18-bits
Eight to 16 ,8-bit registers
Size 76-96 slices (Virtex/Spartan) or 212
macrocells in CoolRunner-II
9. MicroBlaze:
MicroBlaze key features
A Harvard 32-bit RISC processor
MicroBlaze v4 is a three-pipeline-stage core
with 0.92 DMIPS/MHz
MicroBlaze v5 is a five-pipeline-stage core
with 1.15 DMIPS/MHz
The ALU, shifter, and 32 × 32 register file are
standard
10. MicroBlaze optional items
Barrel shifter
Array multiplier
Divider
Floating-point unit for add, subtraction,
multiply, divide, and comparison
Data cache from 2-64 KB
Instruction cache from 2 to 64 KB
12. Creating a PowerPC or MicroBlaze
design
The Xilinx EDK Toolset:
EDK = Embedded Development Kit.
It is a set of tools used to build embedded
processing systems.
i.e. Systems-On-Chip (SoCs)
• Processors (MicroBlaze, PowerPC)
• Memories (BRAM, DDR)
• Peripherals (UART, GPIO, Ethernet, Custom,
etc.)
…
Provides a single environment for…
• Simulation
• Synthesis
• Compilation
15. Using the PicoBlaze in an FPGA
Design
• The PicoBlaze microcontroller is supplied as a
VHDL source file, called KCPSM3.vhd
• Synthesis: Xilinx Synthesis Tool (XST) for logic
synthesis
• Simulation: ModelSim, pBlazSIM
16. Comparison
PowerPC:
• Low power dissipation, power-conscious
applications
• Higher speed
• PicoBlaze:
• provides cost-efficient microcontroller-based
control and
simple data processing.
• PicoBlaze fits for8-bit application, such as
automotive and home appliance
17. Comparison
MicroBlaze:
• Easy to use with EDK
•High “performance” softcore processor
- Most of instructions can be completed with 1
cycles
- Shorter pipeline, higher working frequency
Notas do Editor
در معماریharvard محل ذخیره و مسیر عبور برای دیتا و دستورالعمل جدا از هم است.یک branch دستورالعملی در یک برنامه کامپیوتر است، که هنگامی که توسط کامپیوتر اجرا شود باعث شروع اجرای یک رشته دستورالعمل دیگر میشود.منظور از پیشگویی branch حدس زدن branch بعدی است که توسط یک مدار دیجیتالی انجام میشود.در PPC405 معمولا فرض بر این است که branchهای با تغییر مکان منفی گرفته میشوند.علاوه براین دو دستورالعمل branch به طور همزمان به کار رود تا از احتمال از حرکت ماندن پایپلاین هنگام دیکد یک branch کاسته شود.APU: واحد پردازش کمکی، مستقیما با پایپلاین PPC ارتباط برقرار میکند و امکان دسترسی به این واحد توسط اسمبلر یا دستورالعملهای کد C است. باعث افزایش سرعت میکرو میشود.
Cash: یک کش cpu کشی است که توسط cpu کامپیوتر برای کاهش متوسط زمان رجوع به حافظه استفاده میشود. کش یک حافظه کوچکتر و سریعتر است که کپی دادههایی را که به طور مرتب از حافظه اصلی استفاده میشود ذخیره میکند.یکTLB کشی است که سختافزار واحد مدیریت حافظه (MMU) برای برای بهبود سرعت ترجمه آدرس مجازی استفاده میکند.یک برنامه از فضای آدرس مجازی استفاده میکند که این حافظه مکان ویژهای در حافظه فیزیکی ندارد.حافظه مجازی نیازمند این است که پروسسورآدر مجازی تولید شده توسط برنامه را به آدرس فیزیکی در حافظه اصلی ترجمه کند. MMU این عمل را انجام میدهد.MAC (Multiple Accumulate Unit): عمل MAC، مرحله معمولی است که ضرب دو عدد را با محتوای AC جمع میکند و در AC ذخیره میکند.
scratchpad RAM: یک حافظه داخلی با سرعت بالاست که برای ذخیرهسازی موقت محاسبات، دادهها و کارهای دیگر در حال انجام است، بکار میرود.
MIPS:million instructions per secondمنظور از benchmark اجرای یک برنامه کامپیوتری، یک مجموعه برنامه، یا عملیات دیگر برای ارزیابی عملکرد آن میباشد.slice: تراشه
DMIPS:the number of Dhrystones per second DMIPS/MHz:DMIPS که به فرکانس cpu تقسیم شدهاست
Optional items: بخشهای اختیاری که هنگام ساخت میتواند اضافه شود.Barrel shifter: یک مدار دیجیتالی که میتواند یک کلمه داده را در یک دوره کلاک به تعداد بیت مشخصی شیفت دهد، اگر یک شیفتر ساده استفاده میشد برای n شیفت n کلاک لازم بود.Array multiplier: ضرب رو به صورت ترتیبی همان طور که رو ورق ما حساب میکنیم حساب میکند.
EDK: یک بسته ابزار برای ساخت سیستمهای پردازشی تعبیه شدهاست.Peripherals: وسایل ارتباط با خارجcompilation: کامپایل کردن
طراح از XPS برای ساخت خصوصیات سختافزار سیستم استفاده میکند.XPS، platform طراح رو به زبان VHDL یا Verilog تبدیل میکند.
با استفاده از پنجره Base system Build Wizard میتونیم تنظیماتی مثل نوع بورد، نوع میکروپروسسور، کلاک سیستم، استانداردهای ورودی-خروجی و ... را انجام بدیم
XST بخشی از پکیجISEXilinx هست،یک ابزار نرمافزاری است که برای سنتز و تجزیه و تحلیل طرح HDL، بررسی نمودار RTL و... بکار میرود. امکان طراحی HDL و شماتیک رو فراهم میکند.
PowerPC:اتلاف توان کم، سرعت بالاترPicoBlaze: میکروکنترلر مقرون به صرفه برای پردازشهای ساده فراهم میکند، برای کاربردهای خانگی و خودرو مناسب است.
کاربرد آسان با EDK، پردازشگرsoftcore با عملکرد بالاست: بیشتر دستورالعملها در یک دوره کلاک تکمیل میشود، پایپ لاین کوتاهتر و فرکانس کار بالاتر