CSCI 370: Layers

Overview

A computer can be viewed as a multilevel machine:

Let’s examine this in more detail. Answer the following questions USING ONE OF THE MACHINES IN OUR LINUX LAB or THE REMOTE POOL. Type your answers in a text file (use a “.txt” extension). Be sure to provide command-line COMMANDS when asked.

For this assignment you will need to do some research. Cite your sources when asked.

  1. What is the name of the machine you are using? Give the COMMAND that you used to determine this. It is NOT sufficient to obtain the machine name by reading a label or the command prompt.

  2. Name two high-level languages that are supported on our system. Give commands which confirm these languages are supported (which also output the version of the language). How are programs in these languages eventually reduced to the level of machine code so they can be executed? Include sufficient detail. Note that a compiler may or may NOT be involved.

  3. What assembler is installed? As above, give a command which supports this, including version. Give an example of a snippet (about 10 lines) of x86 (32- or 64-bit) assembly code. It doesn’t have to be code that you’ve written. Cite your source.

  4. What operating sytem (OS) is installed on the machine you’re using. Include the distrubution name. What is the kernel version? What command(s) did you use to determine this information?

  5. A processor defines an instruction set architecture (ISA). What is the model name of the CPU your lab machine is using? What command did you use to determine this? What instruction set and extensions does the CPU support? Use Intel’s web site to answer this question.

  6. Given the processor your machine uses, give two microarchitectural details about it. You could mention something about issue width, the types of functional units, caches, bus speed, or the pipeline. Again, using a web site is fine.

  7. The circuits of a microarchitecture are implemented using logic gates. Design a simple circuit (that uses MORE than one gate) that takes two bits as input and returns 1 if the two bits are equal, and 0 if the two bits are different. You may use Google for help. SPECIFY the circuit using logic notation (‘V’ for an OR gate, ‘^’ for an AND gate, and ‘~’ for a NOT gate) – do NOT use ASCII art. Cite your references.

  8. What is photolithography and how is it used to implement transistors (mention things like UV light, masks, and photoresist)? Intel reports lithography (also referred to as a process node) in nanometers. What node was used to create the transistors of the processor model you’re using?

Notes

Submission

Submit your PLAIN TEXT file using Autolab. Ensure your file ONLY consists of printable characters and is neatly formatted in paragraphs. This assignment will NOT be autograded.