Running SSRS and SSAS from different server than the primary database instance(SQL Server Engine)
1.How they talk each other(the two Servers)?


From the database engine perspective, both SSRS and SSAS are clients like any other application.  These query data from SQL Server using SQL queries.  Microsoft just chose to include these components with SQL Server licensing and media.


  2.Where the cube for SSAS stored?


On the server with SSAS installed (server 2).


  3.Where the report builder build report?


On the server with SSRS installed (server 2).


  4.Can you give my high level explanation how server 1 and server 2 interact or direct me some document I can read?


In addition to what I mentioned in #1, client applications can query the SSAS server without involving the database engine at all after cubes are built.  However, SSRS has a dependency on the reporting server databases as well as data sources that may also be on SQL Server.

Below are a couple of architecture diagrams you might find useful:

SSAS:
https://msdn.microsoft.com/en-us/library/bb510502.aspx

SSRS:
https://msdn.microsoft.com/en-us/library/ms157231.aspx