Understanding CPU time to measure workload

I want to understand the workload of my stored procedures, which run on an instance with many other databases. Among other things I would like to know if I had my own server how many CPU core would I need and how much memory will be enough.

Say I have a server with one core. If I turn on "statistics time" and get 1000 •60•60 = 3600000 ms as CPU time does that mean that the core was occupied 100% for one hour. Is this a valid way to measure e.g. how many cores I need?

How can I measure how much memory is needed for my workload?