DOC PREVIEW
Berkeley COMPSCI 152 - Laboratory Exercise 4

This preview shows page 1-2 out of 6 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 6 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 6 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 6 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

C152 Laboratory Exercise 4Professor: Krste AsanovicTA: Christopher CelioDepartment of Electrical Engineering & Computer ScienceUniversity of California, BerkeleyMarch 28, 20111 Introduction and goalsThe goal of this laboratory assignment is to allow you to conduct some simple virtual experimentsin the Simics simulation environment. Using Simics models of VLIW and multithreaded machines,you will collect statistics and make some architectural recommendations based on the results.The lab has two sections, a directed portion and an open–ended portion. Everyone will do thedirected portion the same way, and grades will be assigned based on correctness. The open–endedportion will allow you to pursue more creative investigations, and your grade will be based on theeffort made to complete the task or the arguments you provide in support of your ideas.Students are encouraged to discuss solutions to the lab assignments with other students, butmust run through the directed portion of the lab by themselves and turn in their own lab report.For the open-ended portion of each lab, students can work individually or in groups of two orthree. Any open-ended lab assignment completed as a group should be written up and handed inseparately. Students are free to take part in different groups for different lab assignments.You are only required to do one of the open ended assignments. These assignments are ingeneral starting points or suggestions. Alternatively, you can propose and complete your own openended project as long as it is sufficiently rigorous. If you feel uncertain about the rigor of a proposal,feel free to consult the TA or professor.This lab assumes you have completed the earlier laboratory assignments. However, we willre-include all the relevant files from past labs in this lab’s distribution bundle for your convenience.Furthermore, we will assume that you remember all the commands used in earlier labs for controllingSimics simulation. If you feel any confusion about these points, feel free to consult the first labguide or the Simics User Guide.1.1 Overview of the new machinesFor this lab you will make use of two new target machines that Simics is capable of simulating. Thesemachines are not as fully featured as the machines we have been using in previous sections, makingcomplicated studies more difficult to conduct. However, this lab will serve as an introduction tothe machines.The new first machine is an Intel Itanium processor called Vasa running Red Hat Linux. Thisprocessor uses the IA-64 architecture (VLIW). It is dependent on the compiler to statically exploitILP by packaging instructions into 128-bit bundles.1The second new machine is a Sun Microsystems UltraSPARC T1 processor called Niagara-Simple running Solaris. This processor uses the SPARCv9 architecture. It has 8 cores, each ofwhich has 4 hardware thread contexts that appear to the OS as separate cores. This machineemploys fine–grained multithreading, meaning that each core switches between one of the availablethreads on every cycle. Available configurations of this machine in Simics have 1 (1x1), 2 (2x1), or32 (8x4) thread contexts.1.2 Graded ItemsYou will turn a hard copy of your results to the professor or TA. Please label each section of theresults clearly. Make sure you name your open–ended section partners in your individual portion,and that the group results name you as a participating member. The following items need to beturned in for evaluation:1. Problem 2.1: VLIW statistics for each benchmark and answers2. Problem 2.2: Loop unrolling statistics and answers3. Problem 2.3: Niagara statistics and answers4. Problem 3.1/3.2 statistics and evaluations (include source code if required)2 Directed Portion2.1 Exploring VLIW assemblyThe Intel Itanium processor target that we will use to study VLIW performance uses the IA-64instruction set. The format of this bundle is displayed in Figure 1. Each bundle contains 3 41-bitinstructions and a 5-bit template field that specifies the grouping of this bundle with adjacentbundles. Groups contain instructions that can execute in parallel. The first instruction in a bundleis said to be in slot 0 of the bundle, the second instruction in slot 1, and the last instruction in slot2. The Simics step-* commands execute one slot at a time from a bundle.Figure 1: IA-64 instruction bundleSimics is normally set up to process and report one instruction per processor at a time, so theway it disassembles instruction bundles is worth explaining. Since individual instructions do nothave well-defined addresses, Simics uses the encoding scheme (bundle address + slot number) whendissassembling instructions. Since bundle addresses are always 16-byte aligned, the lower 4 bits inthe bundle address are always zero and can be used to encode the slot number. For example, thefollowing instructions are in the three slots of the bundle located at address 0xe000000004497f30:2[cpu0] v:0xe000000004497f30 p:0x0000000004497f30 ld8.acq r14 = [r15] ;;[cpu0] v:0xe000000004497f31 p:0x0000000004497f31 cmp.eq p6, p7 = 0, r14[cpu0] v:0xe000000004497f32 p:0x0000000004497f32 nop.i 0x0The Linux disk image used by Vasa is rather sparse in terms of available features. It lacks thesoftware that normally allows us to mount the host machine’s file system on the target machine’sfile system. This means the the only way to transfer files between the machines is to create ISOimages and mount them on the target machine’s simulated cdrom drive.More importantly, there is no compiler installed on the simulated machine. Since CS152 studentsdon’t have access to the department’s Itanium cluster, we could not compile IA-64 binaries fromsource even if we could copy over the source files. For these reasons, in this version of the lab wewill only ask you to examine code from several programs already installed on the target machine.First, boot up the machine: host$ ./simics targets/ia64-460gx/vasa-common.simicsThe machine will take a few minutes to boot up. You may create a checkpoint if you wish, thoughyou will probably not need it. Sometimes the X11 terminal of the simulated machine goes blank,but nothing is wrong and if you type the screen will refresh.Run the following three commands one at a time on the target machine. For each command,once it begins executing quickly return to the Simics command line and pause execution withcontrol-C. While this method is imprecise, it is acceptable for the analysis you will do in


View Full Document

Berkeley COMPSCI 152 - Laboratory Exercise 4

Documents in this Course
Quiz 5

Quiz 5

9 pages

Memory

Memory

29 pages

Quiz 5

Quiz 5

15 pages

Memory

Memory

29 pages

Memory

Memory

35 pages

Memory

Memory

15 pages

Quiz

Quiz

6 pages

Midterm 1

Midterm 1

20 pages

Quiz

Quiz

12 pages

Memory

Memory

33 pages

Quiz

Quiz

6 pages

Homework

Homework

19 pages

Quiz

Quiz

5 pages

Memory

Memory

15 pages

Load more
Download Laboratory Exercise 4
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Laboratory Exercise 4 and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Laboratory Exercise 4 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?