Well computer architecture can be learned by following sites
1 Coursera , a course from priceton university by David Wentzlaff , you can enroll for course.
link( : https://www.coursera.org/learn/comparch), click
2 NPTEL , a course from IIT Delhi by Dr. Smruti R. Sarangi , you can access his contents freely
link (: https://onlinecourses.nptel.ac.in/noc18_cs29/preview) click
3. Youtube, a course from Onur Mutlu
link : click
Hennessy and patterson computer architecture book
Digital Design and Computer Architecture by Sarrah Harrish.