250 likes | 416 Views
21st Nov, 2002 . Multiprocessor Prototype using LEON. Presentation Outline. Objective
E N D
1. MULTIPROCESSOR PROTOTYPE USING LEON AS BUILDING BLOCK
A. Sai Pramod Kumar
Embedded Systems Group
Department of Computer Science & Engineering
IIT Delhi
21st Nov, 2002
2. 21st Nov, 2002 Multiprocessor Prototype using LEON Presentation Outline Objective & Motivation
Phases
Choices for multiprocessor systems
Issues in building a multiprocessor
Steps towards LEON multiprocessor
Issues in Synthesis
References
3. 21st Nov, 2002 Multiprocessor Prototype using LEON Objective & Motivation Objective
To build a shared memory multiprocessor using LEON processors as building blocks
Motivation
Real performance/cost nos. give valuable feedback to our tools
Prototyping adds credibility to our work
System design experience lets us identify new problems
Working demonstrations help motivate new people
4. 21st Nov, 2002 Multiprocessor Prototype using LEON Phases Initial Simulation using ModelSim
Synthesis & Implementation on FPGA
Case Studies
5. 21st Nov, 2002 Multiprocessor Prototype using LEON Choices for multiprocessor systems
6. 21st Nov, 2002 Multiprocessor Prototype using LEON Issues in building a shared memory multiprocessor Cache coherency
Snoopy
Invalidate
Update
Directory based
Centralized
Distributed
7. 21st Nov, 2002 Multiprocessor Prototype using LEON Issues in building a shared memory multiprocessor Cache coherency
Memory consistency model
Processor
Sequential
Weak
8. 21st Nov, 2002 Multiprocessor Prototype using LEON Issues in building a shared memory multiprocessor Cache coherency
Memory consistency model
Interconnection N/W allocation
Static
Fixed Priority
Round Robin
Dynamic
LRU
9. 21st Nov, 2002 Multiprocessor Prototype using LEON Multiprocessor Block Diagram
10. 21st Nov, 2002 Multiprocessor Prototype using LEON LEON multiprocessor architectural decisions Shared memory
Symmetric
Homogeneous
Interconnection through AHB
Cache coherency
Snoopy invalidate protocol
Memory consistency model
Has instructions for atomic load & stores, fence instructions
11. 21st Nov, 2002 Multiprocessor Prototype using LEON Steps towards building multiprocessor
12. 21st Nov, 2002 Multiprocessor Prototype using LEON Modify Boot Code in compliance with Intel MP Spec
13. 21st Nov, 2002 Multiprocessor Prototype using LEON Modify Interrupt Controller
14. 21st Nov, 2002 Multiprocessor Prototype using LEON Implement Semaphore Operations Using SPARC instruction set
“Swap” instrn exchanges the contents of memory with contents of register atomically.
Useful in InterProcess Communication
15. 21st Nov, 2002 Multiprocessor Prototype using LEON Implementation of Lock Using Swap Instrn
16. 21st Nov, 2002 Multiprocessor Prototype using LEON Debug Status Unit Allows non-intrusive debugging on target hardware.
Uses dedicated UART to communicate to outside monitor.
17. 21st Nov, 2002 Multiprocessor Prototype using LEON The synthesis flow
19. 21st Nov, 2002 Multiprocessor Prototype using LEON What lead to move to Virtex-II Leon 2-1-0.4 along along with DSU succesfully booted on Virtex-I
Even with the minimum possible BlockRAM settings, the device Virtex-I has no enough BlockRAM resources to support the multiprocessor configuration
20. 21st Nov, 2002 Multiprocessor Prototype using LEON ZBT SRAM Write Timing Diagram
21. 21st Nov, 2002 Multiprocessor Prototype using LEON LEON SRAM Write Timing diagram
22. 21st Nov, 2002 Multiprocessor Prototype using LEON What is done Added proc id to PSR of each processor
Added Boot register to AHB bus as slave
Modified boot code in compliance with Intel MP Spec
Modified interrupt controller
Made multiprocessor boot & check the peripherals in simulations
Made modifications to the disassembler in the simulator to suffix each instruction with the processor number on which it is executing.
Implemented Semaphore Operations and tested them through Producer Consumer Problem on karnali(Sun Sparc)
Made LEON + DSU boot on Virtex- I
Made LEON + DSU boot on Virtex-II
23. 21st Nov, 2002 Multiprocessor Prototype using LEON What has to be done Write a wrapper to LEON to make it compatible with the ZBT RAM in the ADM-XRC-II.
Move the multiprocessor to Virtex-II
Check for cache coherency
Case studies
JPEG Encoding
24. 21st Nov, 2002 Multiprocessor Prototype using LEON References
25.