IFN503 – Tutorial 1 (Week 2)
Note: 1. Keep your answers short and concise; maximum half a page.
2. The answers submitted will be checked for plagiarism and due penalty applied.
Q1. Any computer system, large or small, can be represented by the four elements of an IPO model.
Draw an IPO model; clearly label each of the four elements in your drawing.
Q2. Explain the differences between primary storage and secondary storage.
What is each type used for?
Q3. Computer literature divides the software component of a computer system into two major categories. Identify each category and give an example of each that you are already familiar with.
Briefly explain the role of each category.
Q4. Virtualization is a concept that has taken on major importance in the early twenty-first century.
Explain what is meant by virtualization.
Q5. Suppose you would like to buy a computer for your own needs.
What are the major considerations and factors that would be important in your decision? What technical factors would influence your decision?
Now try to lay out a specification for your machine.
Consider and justify the features and options that you would like your machine to have.
Q6. Locate a current reference that lists the important protocols that are members of the TCP/IP protocol suite.
Explain how each protocol contributes to the operation and use of the Internet.
Q7. Explain the relationships among the following words: system, environment, boundary, and interface.
Q8. What does the top-down approach allow a system architect to do that might be more difficult otherwise?
Q9. Many system architects base their IT system designs on an n-tier architecture, where n is a number with value 2 or greater.
Explain the difference between a single-tier architecture and an n-tier architecture.
What are the main advantages claimed for an n-tier architecture?
Q10. Figure 2.8 illustrates the basic architecture for a three-tier database system.
This system can be viewed as an IPO (input-processing-output) system.
What is the input for this system?
What environmental element generates the input? (Hint: the Web browser computer is within the system boundary.)
What is the expected output from this system?
What environmental element receives the output?
Briefly describe the processing that takes place in this system.
Q11. It is common to represent network connections in IT systems as a cloud.
The cloud is obviously an abstraction as we defined abstraction in this chapter.
What does the cloud abstraction actually represent?
IFN503 – Tutorial 2 (Week 3)
_{Note for Submission: Please include all the working and steps used to arrive at the answers.}
1. Convert the following decimal numbers to binary using the division method:
(i) 73
(ii) 121
(iii) 84
(iv) 4098
(v) 71269
In each case, check your work by using the power of each digit to convert back to decimal.
2. Convert the following hexadecimal numbers to decimal:
- 4E
- 3D7
- 3D70
3. Some older computers used an 18-bit word to store numbers.
What is the decimal range for this word size?
4. How many bits will it take to represent the decimal number 3,175,000?
How many bytes will it take to store this number?
5. (a) Use the hexadecimal notation to perform the following addition:
2AB3
+ 35DC
(b) Add the following numbers:
1 FF9
+ F7
6. Add the following binary numbers:
(a)
101101101
+ 10011011
(b)
110111111
+ 110111111
(c)
11010011
+ 10001010
Repeat the previous additions by converting each number to hexadecimal, adding, and then converting the result back to binary.
7. (a) Using the powers of each digit in base 8, convert the decimal number 6026 to octal.
(b) Using the powers of each digit in hexadecimal, convert the decimal number 6026 to hexadecimal.
8. Convert the following hexadecimal numbers to binary:
- 4F6A
- 9902
- A3AB
- 1000
9. Convert the following numbers from decimal to binary and then to hexadecimal:
- 27.625
- 4192.37761
10. What is the decimal value of the binary numbers?
(a) 1100101.1
(b) 1110010.11
(c) 11100101.1
Comment on the result of part (c) in relation to that of (b). Explain.
Review Questions
- What is
excess notation? What is two’s complement notation?
- What is
the numeric range of a 16-bit two’s complement value? A 16-bit excess notation
value? A 16-bit unsigned binary value?
- What is
overflow? What is underflow? How can the probability of their occurrence be
minimized?
- How and
why are real numbers more difficult to represent and process than integers?
- Why may
a programmer choose to represent a data item in IEEE 64-bit floating point
format instead of IEEE 32-bit floating point format? What additional costs may
be incurred at run time (when the application program executes) as a result of
using the 64-bit instead of the 32-bit format?
- Why
doesn’t a CPU evaluate the expression ‘A’ = ‘a’ as true?
Problems and Exercises
1. Give the binary representations (expressed in hexadecimal) of the characters:
(a) A
(b) $
2. Write the binary representations (expressed in hexadecimal) of the character strings:
(a) Hello
(b) World
3. What is the ASCII representation for the numeral -3.1415 in binary? In octal? In hexadecimal? In decimal?
4. What character string does the following binary ASCII code represent?
1010100 1101000 1101001 1110011 0100000 1101001 1110011 0100000 1000101 1000001 1010011 1011001 0100001
5. What are the 16 bit 2’s complements of the following binary numbers?
(a) 0000 0000 0001 0000
(b) 0100 1111 0000 1001
6. Express the following numbers as 16 bit, 2’s complement, signed integers:
(a) -18_{10}
(b) -33_{10}
(c) 20_{10}
7. Convert the following decimal numbers to binary and then represent them in
IEEE 754 floating point format. Express the answer in hexadecimal.
(a) 27.875
(b) -54.375
8. Represent the following fixed-point binary numbers in IEEE 754 floating point format. Express the answer in hexadecimal.
(a) +10101011.101_{2}
(b) -0.000101101_{2 }
_{Note for Submission: Please include all the working and steps used to arrive at the answers.}
Tutorial 3 Week 4 (Lecture 3)
- Type the following program as covered in Lecture 3 (slide 23) using the appropriate mnemonics typed using Notepad text editor and run the program using the given LMC executable in the Step by Step mode. Describe in words what you see when you execute the LMC program in this mode.
Mailbox | Code | Instruction Description |
00 | 901 | input 1^{st} Number |
01 | 399 | store data |
02 | 901 | input 2^{nd} Number |
03 | 199 | add 1^{st} Number to 2^{nd} Number |
04 | 902 | output result |
05 | 000 | stop |
99 | 000 | data |
- Type the following program as covered in Lecture 4 (slide 33) using Notepad text editor and run the program using the LMC executable in the Step by Step mode. Describe in words what you see when you execute the LMC program in this mode.
00 | IN | 901 | input first number |
01 | STO 10 | 310 | save in box 10 |
02 | IN | 901 | input second number |
03 | STO 11 | 311 | save in box 11 |
04 | SUB 10 | 210 | result = second – first |
05 | BRP 08 | 808 | if result < 0 then |
06 | LDA 10 | 510 | negative |
07 | SUB 11 | 211 | result = first – second |
08 | OUT | 902 | output result |
09 | HLT | 000 | stop |
10 | DAT 00 | 000 | first number |
11 | DAT 00 | 000 | second number |
- The following Little Man Computer program is supposed to add two input numbers, subtract third input number from the sum, and output the result., i.e.,
OUT = IN1 + IN2 – IN3
Mailbox Mnemonic code Numeric Code
00 IN 901
01 STO 99 399
02 IN 901
03 ADD 99 199
04 STO 99 399
05 IN 901
06 SUB 99 299
07 OUT 902
08 COB 000
- Enter the above program as given. Is the output what you had expected?
- What is wrong with this program?
- Modify the program so that it produces the correct result.
- Verify your modified program using the LMC executable.
- The steps that the Little Man in our LMC model performs are closely related to the way in which the CPU actually executes instructions in a real computer.
Draw a flowchart that carefully describes the steps that the Little Man follows to execute a branch instruction.
Note: Include all the program files in your submission.
Tutorial 4 Week 5
QUESTION 1
- Represent the fixed point decimal number + 115.875 in IEEE 754 floating point format. Express your final answer in hexadecimal showing all the working.
- Consider a hypothetical floating point format which is similar to IEEE format except that it uses 6 bit excess-31 notation for the exponent and 25 bits for the mantissa in a 32 bit machine. Represent the decimal number from part (a) in hexadecimal using this hypothetical format. Show all the working.
QUESTION 2
Given a very small binary number 0.00001100011, represent this number in IEEE 754 floating point format. Express your final answer in hexadecimal showing all the working.
QUESTION 3
The hexadecimal number C2618000 represents a decimal number using IEE 754 floating point format.
What decimal number does this represent?
QUESTION 4
Describe what the following LMC program does. Refer to the table of op codes below.
To start, the user will put 7 in the in basket.
What will be displayed on the screen after each iteration till the end of the execution of the program?
You may like to input the program and observe the output.
Mailbox Contents
00 901
01 308
02 206
03 902
04 707
05 602
06 1
07 000
08 DAT
Opcode Definition
0 Halt
1 ADD
2 SUBTRACT
3 STORE
5 LOAD
6 BRANCH UNCONDITIONALLY
7 BRANCH ON ZERO
8 BRANCH ON POSITIVE
901 INPUT
902 OUTPUT