Homework Assignment 1 CS 378h Unique Number: 53455 Spring, 2026 Given: January 29, 2026 Due: February 12, 2026 Before attempting this homework, please read Chapters 1, 2, and 3 of the "Understanding Software Dynamics" book. This homework assignment asks that you develop programs to measure cache sizes and performance. The book mentions a file name "mystery2.cc"; this file was created by the author, and it is very complex. Instead of our attempting to reverse engineer Sites' program, and then use it -- we are going to create our own methods to measure cache properties. Your solutions should be prepared using a text editor; the class TA will provide homework submission instructions. Problem 1: Measure the size of the L1 data cache size of the computer you are using. Of course, what you turn in needs measured on one of the UTCS "gemstones" machines. Consider the content in Section 3.9 of the "Understanding Software Dynamics" book carefully before you start. Build your way up to this result: (1a) Start with a simple program that works like the content given in Section 3.7 of the class textbook. (1b) To prevent poor results, implement the dependent loads as shown in Figure 3.7a. (1c) Initialize the "scrambled" list of items shown in Figure 3.7b. Problem 2: Measure the total size of each (L1d, L2, L3) cache level. Report your finding along with some data in support of you claims. Include your performance-estimation code. Problem 3: Design an experiment to measure the size of the L1i (instruction) cache. Use your experiment to find the size of the I-cache. Include your code and your tests that led you to your conclusion.