How does one determine the amount of memory is used by the program?
I went to MAP file but couldn't find the required information as shown here -> http://www.keil.com/support/docs/2048.htm
Try reviewing documentation for the ARM architecture rather than stuff describing everything else.
The .MAP should describe the RAM and ROM addresses being used, and also provide you with details to calculate how large the image in ROM becomes once it describes the static data it fills RAM with when it starts.
Review Load Regions, and Linker Scatter Files
Well RAM and ROM addresses can be determined from the program itself in Target tab?
Is total RAM size the sum of RW data and ZI data? (I assume it's the memory used by the program?)