Below is its evolution history: (image taken from http://vividict.com)
|evolution history of 上|
Get back to Oracle Script, it is reasonable to assume that two dashes of Script do have the same representation. The difference here is that 二 has its two dashes almost the same length, while Oracle Script has its upper dash obviously shorter that the lower one.
While we look into the distance, objects next to us look bigger than those far away from us.
|look into the distance|
In some form of Seal Script, it was also written as, removing the upper small dash, to simply mean "up from the ground".
So 上 means upward or above or up. For example 向上.
And it also means on, on top of, upon and etc. For example 上面.
From the meaning of above or upward, 上 has the extended meaning of Superior. For example 上司
While we are writing, what has been written previously was on upper part of the page, thus 上 is extended to mean preceding, and eventually to mean previous, last as well. for example 上次.
When 上 is used as verb, then it has the meaning of "go up", for example 上楼. Since we always go up to reach somewhere, 上 is extended to mean "go to <some place>", for example 上街.
上, as a very frequently used Chinese character, has still many other subtle meanings besides what we listed above, however they are a good starting point for us to know what 上 means.
Now let us enjoy a Chinese calligraphy with 上 inside: