Miniaturization and technology improvements have replaced the traditional desktop computer with tablets, laptops and cellphones. This book uses the term machine to refer to all these devices. Most of us have utilized these machines to perform tasks in our daily lives and have probably even written some of our own applications for these machines. But very few of us have ever considered how well the application performs on a given machine, or what we could do to get better performance from our application on a machine. The goal of the book is to expose some of the details about the machine’s organization and how applications are executed to enable the creation of applications that will utilize fewer processor cycles and quicker execution.
One of the goals of the book is to provide interactive exercises after most sections to reinforce the understanding of the concept presented. These exercises should be completed as you are reading the material and/or for reviewing material that one finds more confusing. The material in the book will require you to think about familiar topics (e.g., for loops or multiplying numbers) in new ways that will more closely mimic how the machine performs the operations.
Mitchell D. Theys is a Clinical Associate Professor in the Computer Science Department at the University of Illinois Chicago campus. He has been teaching topics in computer architecture for over 20 years and is constantly looking for new approaches to improve teaching. He believes that making mistakes is a critical part of the learning process.