Page 1 of 8 RMIT Classification: Trusted School of Computing Technologies COSC2473 Introduction to Computer Systems Assignment 2 Assessment Type: Individual assignment; no group work. Submit online via Canvas → Assignments → Assignment 2. Clarifications/updates may be made via announcements and relevant discussion forums. Due Date: Week 10, Friday 1st October 2021, 11:59pm. Weighting: 210 marks that contributes 50% of the total assessment. 1. Overview For this assignment you are required to 1. Demonstrate your understanding of datapath, pipelined datapath and processor architectures. 2. Perform memory design, measure and improve cache performance and demonstrate your understanding of virtual memory. 3. Demonstrate the use of processes and threads and explain OS design principles as well as OS support for computing. 4. Explain how major application layer protocols such as HTTP and DNS work in computer networks. 2. Learning outcomes This assessment is relevant to the Course Learning Outcomes CLOs 4-6. 3. Assessment details This assessment will determine your ability to 1. Understand the concepts taught over Week 4 to Week 8 of the course. 2. Work independently in self-directed study to research the identified issues. 4. Submission Prepare the answers to this assignment in an electronic format and convert to a single Acrobat PDF (.pdf) file for submission, with the filename being your student number (e.g., S1234567.pdf) containing all the answers to all the questions in this assignment. Paper submissions are not accepted. Handwritten assignments are not accepted. Page 2 of 8 RMIT Classification: Trusted You should submit your assignment via Canvas ® Assignments ® Assignment 2 Submission. You may resubmit the assignment if you need to, only the most recent version will be marked. Please note the following. 1. Clearly number each answer according to the numbering in this assignment specification (e.g., Q1a, Q1b, Q1c, etc.). 2. Use at least 11-point font size. 3. It is your responsibility to correctly submit your files. Please verify that your submission is correctly submitted by downloading what you have submitted to see if your submitted file includes the correct content. 4. Never leave submission to the last minute – you may have difficulty uploading files. 5. You can submit multiple times – a new submission will override any earlier submissions. However, if your final submission is after the due time, late penalties will apply. (Note: do not forget to submit Reference and bibliography at the end of your submission) 5. Academic integrity and plagiarism (standard warning) If there is a research component to this assignment: • Any direct references, figures, or quotes used must be cited, and • A bibliography should be included as an appendix at the end of your report. We will not accept citations from any encyclopedic resource, e.g., Encyclopedia Britannica, Encarta, World Book, Wikipedia (or syndication thereof), and so on. You may share and discuss any links and references you find relevant to completing this assignment on the discussion forums, so long as you include how you found the resource that you mention. You are free to refer to textbooks, notes, work in study groups etc. to discover approaches to problems; however, the assignment should be your own individual work. Do not ever simply copy and paste what another writer has written. This is stealing. What we need is your own words – your own understanding. If you try to represent someone else’s work as your own it will be dealt with severely. Instead, we want you to paraphrase what others have said – to put the concepts they have discussed into your own words. When preparing a report such as this it is almost impossible to prepare an accurate report without referring to some resources for assistance to complete the tasks. For this reason, we ask you to reference from where you get your information. We require these references to be formally correct according to one of the standard styles used in research. For example, either the APA or Harvard styles would be acceptable. See the RMIT library reference guides (https://www.rmit.edu.au/library/study/referencing) for further details. Let us say that I want to use the ideas in the following paragraph to explain bit depth as it relates to images: Page 3 of 8 RMIT Classification: Trusted “Bit depth refers to the colour information stored in an image. The higher the bit depth of an image, the more colours it can store. The simplest image, a 1-bit image, can only show two colours, black and white. That is because the 1 bit can only store one of two values, 0 (white) and 1 (black). An 8- bit image can store 256 possible colours, while a 24-bit image can display about 16 million colours.” The above paragraph was taken from the website: http://etc.usf.edu/techease/win/images/what-is-bit-depth/ The first step might be to paraphrase the information about – that is to put the information above into your own words, such as: Bit depth signifies how many colours that can be represented in an image – the more bits per pixel the wider the range of colours (Techease, 2020) This would then be cited in your reference list as: Techease, 2020, “What is bit depth?” Retrieved from http://etc.usf.edu/techease/win/images/what- is-bit-depth/ at 7 pm on Saturday 11th July, 2020. You would reference this citation similarly in the bibliography. Please note that we require you to have both a reference list and a bibliography. The difference between these two resources is that the bibliography lists all documents that you have read that have contributed to your submission whereas the reference list only lists those documents you have cited in the text of your report. Also, with the exception of very short quotes (less than a line) we require you to put the content in your own words – we are assessing you on your understanding of the course content, after all. If you quote directly from a source, please ensure that the quote is within “talking marks” such as the ones I have just used. Whether you quote directly from a source or paraphrase the source (as I have done above) you still need to cite the source and ensure the source is included in the reference list and bibliography. All plagiarism will be penalised, there are no exceptions and no excuses. You have been warned. Page 4 of 8 RMIT Classification: Trusted 6. Rubric and marking guidelines Submission files not in the required format will not be marked. A penalty of 10% per day of the total available marks will apply for each day being late. After 5 days, you will receive zero mark for the assignment. If you want to seek an extension of time for assignment submission, you must have a substantial reason for that, such as unexpected circumstances. Reasons such as, unable to cope with study load, is not substantial. Also, you must apply for an extension as soon as possible. Last minute extensions cannot be granted unless it attracts special consideration. Please find out how to apply for special consideration online at https://www.rmit.edu.au/students/student-essentials/assessment-and-results/special- consideration/eligibility-and-how-to-apply Any student wishing an extension must go through the official procedure for applying for extensions and must apply at least a week before the due date. Do not wait till the submission due date to apply for an extension. The rubric can be found in Canvas ® Assignments ® Assignment 2. 7. Assignment questions This assignment has 10 questions and students are required to answer all questions. Page 5 of 8 RMIT Classification: Trusted Before You Start Do not copy from lecture notes. Use your own words and clearly demonstrate your understanding. Please remember to cite the lecture notes in your bibliography. Question 1 – Pipelining (35 marks) Give answer to the following questions, show all your working out and intermediate steps. Alex, Bryan, Chole, and David share an apartment. In the kitchen, they share one recipe book, one knife, and one hot plate. Each person is cooking a meal which takes three ordered stages: 1. 8 minutes to read recipe. 2. 20 minutes of preparing all ingredients using a knife. 3. 10 minutes of grilling using a hot plate. (Hint: Draw timeline diagrams to calculate the total times etc.) a) (4 marks) Assume they would do their cooking in strictly sequential order (one person stars only after the other finished grilling), calculate how long it would take for all of them to cook. b) (10 marks) Calculate how long it would take for all of them to cook pipelined? c) (4 marks) How and why does pipelining help with the throughput of entire workloads? The workloads involved in cooking the four meals as described above, in comparison to cooking all four meals sequentially. d) (2 marks) Can pipelining help reduce the latency of any single cooking task (reading + preparing + grilling), according to your calculations above? e) (10 marks) Can you devise a better strategy if the four roommates bought another knife and another hot plate? If yes, calculate the new cooking time. f) (5 marks) What impact (if any) does the additional knife and/or hot place have on the throughput of the pipelined process of cooking the four meals? Briefly explain your answer. Page 6 of 8 RMIT Classification: Trusted Question 2 – Datapath and pipelining performance (25 marks) For the pipelined datapath, there are FIVE stages: IF, ID, EX, MEM and WB. Assume that each of stages has the following latencies: IF ID EX MEM WB 250ps 350ps 150ps 300ps 200ps a) (3 x 5 = 15 marks) Briefly explain what each stage does. You need to identify the functional units involved such as PC, adder, instruction memory, register file, ALU and data memory. b) (10 marks) Work out the ideal performance gain of the pipelined datapath over the nonpipelined datapath. Clearly show your working and reasoning. Question 3 – Processor architectures (15 marks) You are a processor designer. You are tasked to design a processor for smartphones as well as supercomputers. You have two architecture choices: RISC and CISC. a) (6 marks) For smartphones, explain the reasons that you want to use RISC for your design and the concerns that you may have. b) (9 marks) For supercomputers, explain the reasons why you want to use and not use RISC. Question 4 – Memory system design (20 marks) You are asked to design a memory system that is fast and affordable. You have decided to take advantage of locality and memory hierarchy for your design. a) (8 marks) Clearly explain the effect of locality in terms of memory access. Give code examples for your explanation (do not use the example in the lecture notes). b) (12 marks) Clearly explain how locality and memory hierarchy work together to give a fast and affordable memory system. Question 5 – Cache performance (25 marks) For a cache system with the following parameters: Instruction cache (I-cache) miss rate = 1.5% Data cache (D-cache) miss rate = 3% Miss penalty = 100 cycles Percentage of load & store instructions (the instructions that need D-cache): 30% Page 7 of 8 RMIT Classification: Trusted a) (10 marks) If it takes 2 cycles to complete an instruction without cache misses, that is, cycles per instruction (CPI) is 2, what is the percentage of time that CPU will spend on memory stalls? Show your working. b) (4 + 5 marks) If it takes 1 cycle to complete an instruction without cache misses, that is, cycles per instruction (CPI) is 1, what is the percentage of time that CPU will spend on memory stalls? Show your working. Discuss the impact of memory stalls in relation to hardware threading over CPU cores. c) (6 marks) Briefly discuss how multilevel cache design improves cache performance, assuming a two-level cache. Question 6 – Virtual memory (20 marks) In virtual memory, each program has a virtual address space. A page table is used to translate from virtual to physical memory address. a) (2 + 2 + 4 marks) Explain the concept of virtual memory. Do you worry about if you are going to have enough virtual memory addresses (explain your answer)? Do you worry about if you are going to have enough physical addresses, or is there going to be any concern in terms of performance (explain your answer)? b) (5 + 7 marks) Assuming a cache miss, a data item is requested with its virtual memory address. Illustrate clearly how the corresponding page is located by using the page table directly. Explain if there are performance issues with the direct use of page table, and how the performance can be improved. Question 7 – Operating system support for computing (15 marks) OS evolves to support different types of computing such as multiprogramming, multitasking and multiprocessing. a) (6 marks) Briefly explain what these three types of computing are. b) (6 marks) Discuss their individual advantages and disadvantages c) (3 marks) Briefly discuss which OS structure is more sensible for multiprogramming. Question 8 – Operating system design (20 marks) Poorly coded user programs could make serious damages to computer systems, for example, causing the whole system to crash. a) (8 marks) Suppose a user program wants a block of memory space for a data structure. Explain if it is a good idea for the program to run some instructions and get the memory straight away. Is there anything positive with this approach or what should the program do? b) (12 marks) From an OS designer point of view, explain clearly how you would protect the system from poorly coded programs. Page 8 of 8 RMIT Classification: Trusted Question 9 – Processes and threads (15 marks) You are an application developer. You of course want to maximise the performance of your program. a) (10 marks) Explain if you want to implement your program using processes or threads from performance's point of view. You need to explain the concepts of processes and threads. b) (5 marks) Explain if there are any scenarios that you may prefer to use processes over threads for your implementation, using examples. Question 10 – Networking: application layer protocols (20 marks) You are browsing a web page. a) (5 marks) Explain the relationship between web page and web objects and how a web object is addressed. Give an example. b) (5 marks) Discuss the difference between non-persistent HTTP and persistent HTTP. c) (10 marks) Assuming that you are visiting this website for the first time, explain what IP address is needed for the visit and how the IP address is obtained using DNS. What would be the procedure if you are going to visit the same site in an hour or two?
欢迎咨询51作业君