Module 3_DMIPS ECEN 5803 Project 1 Submitted by 1. Rahul Yamasani 2. Srivishnuj Alvakonda

Dependencies:   mbed

Fork of Dhrystone by Jörg Mehring

Committer:
sral4054
Date:
Thu Oct 12 03:30:29 2017 +0000
Revision:
1:a4840e30d4a9
Parent:
0:f96b0b385ec4
Module 3_DMIPS ECEN 5803 Project 1; ; Submitted by; 1. Rahul Yamasani; 2. Srivishnuj Alvakonda;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jmehring 0:f96b0b385ec4 1 #include "mbed.h"
jmehring 0:f96b0b385ec4 2 #include "dhry.h"
jmehring 0:f96b0b385ec4 3
jmehring 0:f96b0b385ec4 4 DigitalOut myled(LED1);
jmehring 0:f96b0b385ec4 5 Timer timer;
jmehring 0:f96b0b385ec4 6 Serial pc(USBTX, USBRX); //serial channel over HDK USB interface
jmehring 0:f96b0b385ec4 7
jmehring 0:f96b0b385ec4 8 int main() {
sral4054 1:a4840e30d4a9 9 double benchtime, dps, VAX_DMIPS;
jmehring 0:f96b0b385ec4 10 unsigned long loops;
jmehring 0:f96b0b385ec4 11
jmehring 0:f96b0b385ec4 12 pc.baud(9600);
sral4054 1:a4840e30d4a9 13 pc.printf("Dhrystone Benchmark Program C/1 12/01/84\r\n");
jmehring 0:f96b0b385ec4 14 timer.start();
jmehring 0:f96b0b385ec4 15 while(1) {
jmehring 0:f96b0b385ec4 16 loops = 0l;
jmehring 0:f96b0b385ec4 17 myled = 1;
jmehring 0:f96b0b385ec4 18 timer.reset();
jmehring 0:f96b0b385ec4 19 do {
jmehring 0:f96b0b385ec4 20 Proc0();
sral4054 1:a4840e30d4a9 21 Proc0();
jmehring 0:f96b0b385ec4 22 loops += LOOPS;
jmehring 0:f96b0b385ec4 23 benchtime = timer.read();
sral4054 1:a4840e30d4a9 24 } while (benchtime <= 20.000);
jmehring 0:f96b0b385ec4 25 myled = 0;
jmehring 0:f96b0b385ec4 26 dps = (double)loops / benchtime;
sral4054 1:a4840e30d4a9 27 VAX_DMIPS = dps/1757.0;
sral4054 1:a4840e30d4a9 28 pc.printf("Dhrystone time for %ld passes = %.3f sec\r\n", loops, benchtime);
sral4054 1:a4840e30d4a9 29 pc.printf("This machine benchmarks at %.0f dhrystones/second\r\n", dps);
sral4054 1:a4840e30d4a9 30 pc.printf("This machine has %.0f VAX DMIPS\r\n", VAX_DMIPS);
jmehring 0:f96b0b385ec4 31 wait(1.0);
jmehring 0:f96b0b385ec4 32 }
jmehring 0:f96b0b385ec4 33 }