Mini Project- Dual Processor Computation

8
MINI-PROJECT Dual Processor Computation Author: University of Hertfordshire Date created: Date revised: 2009 Abstract The following resources come from the 2009/10 BEng in Digital Systems and Computer Engineering (course number 2ELE0065) from the University of Hertfordshire. All the mini projects are designed as level two modules of the undergraduate programmes. The objectives of this module are to demonstrate, within an embedded development environment: Processor – to – processor communication Multiple processors to perform one computation task using parallel processing This project requires the establishment of a communication protocol between two 68000- based microcomputer systems. Using ‘C’, students will write software to control all aspects of complex data transfer system, demonstrating knowledge of handshaking, transmission protocols, transmission overhead, bandwidth, memory addressing. Students will then demonstrate and analyse parallel processing of a mathematical problem using two processors. This project requires two students working as a team. Contents Section 1. Product Introduction......................................... 2 Section 5. Required Resources:.......................................... 3 Section 2. Project Day 1................................................ 4 Section 3. Project Day 2................................................ 5 Credits................................................................. 6 In addition to the resources found below there are supporting documents which should be used in combination with this resource. Please see: Mini Projects - Introductory presentation. © University of Hertfordshire 2009 This work is licensed under a Creative Commons Attribution 2.0 License .

description

The following resources come from the 2009/10 BEng in Digital Systems and Computer Engineering (course number 2ELE0065) from the University of Hertfordshire. All the mini projects are designed as level two modules of the undergraduate programmes. The objectives of this module are to demonstrate, within an embedded development environment: Processor – to – processor communication Multiple processors to perform one computation task using parallel processing This project requires the establishment of a communication protocol between two 68000-based microcomputer systems. Using ‘C’, students will write software to control all aspects of complex data transfer system, demonstrating knowledge of handshaking, transmission protocols, transmission overhead, bandwidth, memory addressing. Students will then demonstrate and analyse parallel processing of a mathematical problem using two processors. This project requires two students working as a team.

Transcript of Mini Project- Dual Processor Computation

Page 1: Mini Project- Dual Processor Computation

MINI-PROJECT Dual Processor Computation

Author: University of HertfordshireDate created:Date revised: 2009

AbstractThe following resources come from the 2009/10 BEng in Digital Systems and Computer Engineering (course number 2ELE0065) from the University of Hertfordshire. All the mini projects are designed as level two modules of the undergraduate programmes.

The objectives of this module are to demonstrate, within an embedded development environment: Processor – to – processor communication Multiple processors to perform one computation task using parallel processing

This project requires the establishment of a communication protocol between two 68000-based microcomputer systems. Using ‘C’, students will write software to control all aspects of complex data transfer system, demonstrating knowledge of handshaking, transmission protocols, transmission overhead, bandwidth, memory addressing. Students will then demonstrate and analyse parallel processing of a mathematical problem using two processors. This project requires two students working as a team.

ContentsSection 1. Product Introduction...........................................................................................................2Section 5. Required Resources:.........................................................................................................3Section 2. Project Day 1..................................................................................................................... 4Section 3. Project Day 2..................................................................................................................... 5Credits.................................................................................................................................................6

In addition to the resources found below there are supporting documents which should be used in combination with this resource. Please see:Mini Projects - Introductory presentation. Mini Projects - E-Log.Mini Projects - Staff & Student Guide.Mini Projects - Standard Grading Criteria.Mini Projects - Reflection.

You will also need the ‘Mini Project- Dual Processor Computation’ presentation.

© University of Hertfordshire 2009 This work is licensed under a Creative Commons Attribution 2.0 License.

Page 2: Mini Project- Dual Processor Computation

Mini Project Dual Processor Computation

Section 1. Product Introduction.

Learning Outcomes assessed (as taken from the DMD)

All Learning Outcomes specified in the Definitive Module Documentation are assessed as part of this miniproject. The specific Learning Outcomes are:

Knowledge and Understanding

Be able to:

Identify and enhance knowledge gained from other studies in areas relevant to the project topic selected.

Skills and Attributes

Be able to:

Use relevant measurement instruments to analyse a defined electronic engineering problem relevant to digital systems or embedded computer systems.

Synthesise a solution to a defined electronic engineering problem relevant to digital systems or embedded computer systems.

Take, and analyse appropriately, test results from that solution.

Carry out a simple critical evaluation of the results taken.

Project Title: Dual Processor Computation

3Project Objectives: (technical, specific to this project)Demonstrate, within an embedded development environment:

Processor – to – processor communication Multiple processors to perform one computation task using parallel processing

Project Summary: (50 words max)This project requires the establishment of a communication protocol between two 68000-based microcomputer systems. Using ‘C’, students will write software to control all aspects of complex data transfer system, demonstrating knowledge of handshaking, transmission protocols, transmission overhead, bandwidth, memory addressing. Students will then demonstrate and analyse parallel processing of a mathematical problem using two processors. This project requires two students working as a team.

Introductory Lecture (2hrs) Content: General Problem area: data transfer protocols, effect of parallelization Hardware to be used Relevant ‘C’ code Topics for students to revise: handshaking, state diagrams

Preparation Session (3hrs):This session will act primarily as a refresher about:

68000 system familiarization such as the programming and development environment

Debugging (breakpoints, single stepping, watch windows, …)

Transfer protocol development and

State diagram workshop

Day 1

Page 2 of 6

Page 3: Mini Project- Dual Processor Computation

Mini Project Dual Processor Computation

Expected Outcomes for the day:The student will

Design a system that will send one byte from Master to Slave with proper handshaking. Modify the single byte communication to multiple bytes from the Masters to the Slave’s. Develop a method to determine the bandwidth of the system.

Assessment criteria: A proper wiring interconnection diagram with clear signal labels; a method to carry out synchronised communication between two microprocessors; a methodical design/build/test methodology; well-structured and legible code including effective breakdown into functions; a method to measure the bandwidth. Key Tasks:

Specify a resource map and sketch a wiring diagram to show how the two microprocessor systems to be connected.

Using a structure chart, design a program to perform one byte transmit/receive. Modify the design to repeat multiple bytes transmit/receive. Develop a method to measure the communication bandwidth. Develop a team work strategy: handshaking scheme development and verifying each other’s code.

Day 2Expected Outcomes for the day:The student will build on the experience on Day 1 to establish the basic requirements for engaging two processors in solving a simultaneous equation

z = x*yx = func_sum_to_10;y= func_sum_square_to_50.

The student will investigate the relative benefits of all dual processor computation scenarios for the calculation of z using the single processor computation time as a reference. The students will need to support their argument with state time diagrams based upon experimental results.

Assessment criteria; A methodical design/build/test sequence; well-structured and legible code including effective breakdown into functions; single processor computation of z as a benchmark; two scenarios of parallel computation of z using two processors; a state-time diagram to summarise the efficiency of the proposed solution.

Key Tasks:1. Single processor computation of z, and measure the computation time;2. Two processors configured as scenario 1 (Proc1 calculate x and z, and Proc2 calculate y in parallel);3. Two processors configured as scenario 2 (Proc1 calculate x, and Proc2 calculate y and z in parallel);4. Compare the efficiency of computation.

Facilitator guidance (key ideas to draw out from students):

Day 1: Handshaking and synchronization as well as bandwidth measurement

Day 2: Timesaving through parallelism

Section 5. Required Resources: Laboratory Facilities and Teaching Support.

Laboratory Resources: LD403.

PC Workstations with development environment for 68000 Flight boards. Main 68000 development boards, buffered I/O boards, expansion board, oscilloscope (1 complete set per student)

Teaching Resources:Briefing packs for the preparatory session and both practical days.

Page 3 of 6

Page 4: Mini Project- Dual Processor Computation

Mini Project Dual Processor Computation

Section 2. Project Day 1

Write functions to perform each of the tasks listed below. You should demonstrate each task as you complete it. The code that you submit at the end of the day should include all of these functions.

1. Produce a resource map and make correct connection of hardware.

2. Perform one byte transmission and receive between two processors on each side (Master and Slave). Read the result using LED display or the debugger.

3. Extend the single byte transmission and receive, perform multiple bytes transmission and receive mechanism between Master and Slave processors.

4. Design, develop and test a measurement scheme that measures the communication bandwidth. (Output a signal to indicate whether the test was successful.)

Page 4 of 6

Page 5: Mini Project- Dual Processor Computation

Mini Project Dual Processor Computation

Section 3. Project Day 2

Perform each of the tasks listed below. You should demonstrate each task as you complete it. The code that you submit at the end of the day should include all of the changes described below.

1. Catch up any part left from Day 1 task.

2. Your code should include a "delay function" to add necessary delay to maintain program running properly.

3. Design and implement a probe function to explore running time of a program/function.

4. Perform experiments to solve the simultaneous equation using single processor and measure the time. Display the result.

5. Establish the scenario 1 as described in the lecture session. Perform the simultaneous equation computation using two processors and measure the time. Display the result.

6. Modify your code so that scenario 2 can be created. Perform the simultaneous equation computation using two processors and measure the time. Display the result.

7. Using time-state diagram, make the analysis of efficiency dual processor computation.

Equation:Z = (Y+10)/x

X = sum_between_1_and_10Y = sum_between_1_and_20

Page 5 of 6

Page 6: Mini Project- Dual Processor Computation

Mini Project Dual Processor Computation

Credits

This resource was created by the University of Hertfordshire and released as an open educational resource through the Open Engineering Resources project of the HE Academy Engineering Subject Centre. The Open Engineering Resources project was funded by HEFCE and part of the JISC/HE Academy UKOER programme.

© University of Hertfordshire 2009

                

This work is licensed under a Creative Commons Attribution 2.0 License.

The name of the University of Hertfordshire, UH and the UH logo are the name and registered marks of the University of Hertfordshire. To the fullest extent permitted by law the University of Hertfordshire reserves all its rights in its name and marks which may not be used except with its written permission.

The JISC logo is licensed under the terms of the Creative Commons Attribution-Non-Commercial-No Derivative Works 2.0 UK: England & Wales Licence.  All reproductions must comply with the terms of that licence.

The HEA logo is owned by the Higher Education Academy Limited may be freely distributed and copied for educational purposes only, provided that appropriate acknowledgement is given to the Higher Education Academy as the copyright holder and original publisher.

Page 6 of 6