<< Chapter < Page Chapter >> Page >
Using the MSP-EXP430FG4618 Development Tool and the MSP430FG4618 device analyse the MSP430’s performance when makes a multiplication operation with the hardware multiplier. Two different situations are analysed: - Using the “*” operator; - Accessing the hardware multiplier registers directly. The execution time is measured with an oscilloscope.

Laboratory hardware multiplier: lab2 - multiplication with hardware multiplier


This laboratory explores the hardware multiplier peripheral. It is composed of three different tasks, each of which evaluates a different characteristic of the hardware multiplier peripheral:

- Multiplication operation execution time, with and without the hardware multiplier.

-Differences between the use of the operator “*” and direct write to the hardware multiplier registers.

- Task operational analysis, in which the active power and the RMS value of an electrical system are calculated.


This laboratory explores and analyses the MSP430’s performance when it performs multiply operations using the hardware multiplier peripheral. Two different variants are analysed:

- Using the “*” operator;

-Accessing the hardware multiplier registers directly.

The execution times are measured with an oscilloscope.


This laboratory only uses Port P2.1 connected to LED2 in order to measure the execution time of the multiplication operation, when it is performed by the hardware multiplier.

The default configuration of the FLL+ is used. All the clock signals required for the operation of the components of the device take their default values.

Software application organization

The application begins by stopping the Watchdog Timer;

Port P2.1 is configured as an output with the pin at a low level;

The code can be broken down into two parts:

- In the first part of the code, the multiplication is performed with the “*” operator. This task is performed between P2.1 toggles, in order to determine the time required to perform this operation;

- The remaining part of the code is separated by some _NOP() operations. This coding allows analysis of the execution time using an oscilloscope. Here, the multiplication operation is performed by directly accessing the hardware multiplier registers. The multiplication of the variables is performed between toggle P2.1 instructions;

This application ends with the device entering low power mode LPM4.

System configuration

Go to Properties>TI Debug Settings and select the Target tab. Uncheck the automatically step over functions without debug information when source stepping in order to allow stepping into the multiply routine;

Go to Properties>C/C++ Build>Linker MSP430 Linker v3.0>General options and choose the option 16 (default) at the Link in hardware version of RTS mpy routine . With this linker option, the application ( Lab2_HM.c ) will be built with the 16-bit hardware multiplier peripheral contained in the Experimenter’s board.

Rebuild the project and download to the target.

Analysis of operation

Analysis of hardware multiply routine with the “*” operator

- Connect the oscilloscope probe to port P2.1, which is connected to Header 4 pin 2;

- Put the cursor at line of code 55 { c = a*b } and Run to line ;

- Go to Disassembly view and switch to mixed disassembly view in order to show both C and Assembly code;

- Observe that the variables a and b are passed to registers and #__mpyi_hw routine is called;

- Run the code step-by-step with the Disassembly view active. This action will lead to the multiply operation being performed by the hardware multiplier;

- As the hardware multiply routine source code is not available, switch to Assembly view only;

- The routine starts by pushing the Status Register onto the system stack ( PUSH instruction) and disabling the interrupts (this always occurs when using the hardware multiplier peripheral);

- The next line of code exchanges data with the hardware multiplier;

- Then the SR is popped ( POP instruction) from the system stack, restoring the system environment (data interrupt state restored);

- The routine finishes with a RETA instruction.

Analysis of hardware multiply operation with direct registers access

- Switch to the C view;

- Put the cursor at line of code 72 { MPY = a } and Run to line ;

- The routine call operation is avoided, as shown in the Disassembly view. This exemplifies an energy saving procedure because it shows how less CPU clock cycles can be used.

Measurement of execution time of the multiply operation

- Restart the application. It will run from the beginning;

- Put the cursor at line of code 77 {_BIS_SR(LPM4) } and Run to line ;

- Measure the pulse widths using the oscilloscope;

- The first time pulse corresponds to the hardware multiply routine with the operator “*”, and has a width of 42 μsec;

- The second time pulse corresponds to the hardware multiply register operation and has a width of 19 μsec;

- Comparing both time pulses and the time pulse obtained in Lab1: Multiplication without the hardware multiplier , it can be seen that with the hardware multiplier there is a significant reduction of the time required to perform a multiply operation;

- The smaller time pulse corresponds to the hardware multiply operation writing directly to the hardware multiplier registers. This reduction in time means less power consumption, which is very useful for the design of low-power applications.

This example and many others are available on the MSP430 Teaching ROM.

Request this ROM, and our other Teaching Materials here (External Link)

Questions & Answers

what is Nano technology ?
Bob Reply
write examples of Nano molecule?
The nanotechnology is as new science, to scale nanometric
nanotechnology is the study, desing, synthesis, manipulation and application of materials and functional systems through control of matter at nanoscale
Is there any normative that regulates the use of silver nanoparticles?
Damian Reply
what king of growth are you checking .?
What fields keep nano created devices from performing or assimulating ? Magnetic fields ? Are do they assimilate ?
Stoney Reply
why we need to study biomolecules, molecular biology in nanotechnology?
Adin Reply
yes I'm doing my masters in nanotechnology, we are being studying all these domains as well..
what school?
biomolecules are e building blocks of every organics and inorganic materials.
anyone know any internet site where one can find nanotechnology papers?
Damian Reply
sciencedirect big data base
Introduction about quantum dots in nanotechnology
Praveena Reply
what does nano mean?
Anassong Reply
nano basically means 10^(-9). nanometer is a unit to measure length.
do you think it's worthwhile in the long term to study the effects and possibilities of nanotechnology on viral treatment?
Damian Reply
absolutely yes
how to know photocatalytic properties of tio2 nanoparticles...what to do now
Akash Reply
it is a goid question and i want to know the answer as well
characteristics of micro business
for teaching engĺish at school how nano technology help us
Do somebody tell me a best nano engineering book for beginners?
s. Reply
there is no specific books for beginners but there is book called principle of nanotechnology
what is fullerene does it is used to make bukky balls
Devang Reply
are you nano engineer ?
fullerene is a bucky ball aka Carbon 60 molecule. It was name by the architect Fuller. He design the geodesic dome. it resembles a soccer ball.
what is the actual application of fullerenes nowadays?
That is a great question Damian. best way to answer that question is to Google it. there are hundreds of applications for buck minister fullerenes, from medical to aerospace. you can also find plenty of research papers that will give you great detail on the potential applications of fullerenes.
what is the Synthesis, properties,and applications of carbon nano chemistry
Abhijith Reply
Mostly, they use nano carbon for electronics and for materials to be strengthened.
is Bucky paper clear?
carbon nanotubes has various application in fuel cells membrane, current research on cancer drug,and in electronics MEMS and NEMS etc
so some one know about replacing silicon atom with phosphorous in semiconductors device?
s. Reply
Yeah, it is a pain to say the least. You basically have to heat the substarte up to around 1000 degrees celcius then pass phosphene gas over top of it, which is explosive and toxic by the way, under very low pressure.
Do you know which machine is used to that process?
how to fabricate graphene ink ?
for screen printed electrodes ?
What is lattice structure?
s. Reply
of graphene you mean?
or in general
in general
Graphene has a hexagonal structure
On having this app for quite a bit time, Haven't realised there's a chat room in it.
how did you get the value of 2000N.What calculations are needed to arrive at it
Smarajit Reply
Privacy Information Security Software Version 1.1a
Got questions? Join the online conversation and get instant answers!
Jobilize.com Reply

Get the best Algebra and trigonometry course in your pocket!

Source:  OpenStax, Teaching and classroom laboratories based on the “ez430” and "experimenter's board" msp430 microcontroller platforms and code composer essentials. OpenStax CNX. May 19, 2009 Download for free at http://cnx.org/content/col10706/1.3
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Teaching and classroom laboratories based on the “ez430” and "experimenter's board" msp430 microcontroller platforms and code composer essentials' conversation and receive update notifications?