The number of AMPs in the system is easy to get:
SELECT HASHAMP() + 1;
When you got access to dbc.Resusage you will find the number of AMPs for each node using:
SELECT DISTINCT NodeID, Vproc1 AS "#AMPs", Vproc2 AS "#PEs"
WHERE TheDate = CURRENT_DATE
A Teradata machine is preconfigured when ordered by the customer's Teradata team. The number of AMPs per node while generally not fixed is within a small range per node depending upon node model (for certain kinds of nodes, there may be 28, another model may have 44 amps per node, etc.).
The PEs are configured to support the number of expected simultaneous sessions. Each PE can support 120 sessions. If you expect to support 500 simultaneous sessions, you will need at least 5 PEs (and you may want a couple of extra in case you have a node down or more sessions than expected. For processing queries, PE's don't talk directly to amps but instead reduce each SQL query to a number of steps that are sent to the dispatcher which then sends each step, in the proper order to either the proper amp or amps in order to process the query. The answer set is in the form of a spool file which read out by whatever tool the user used to submit the query.
I hope that this answers you question,