CSE 2312 - Assignments

Not Graded Practice for Assignment 1

This is a set of practice questions. Feel free to work on these questions, and to ask questions if you face any difficulties in coming up with answers. While collaboration with others on the graded homework is strictly prohibited, you are free to work on these practice questions together with other people.

Since they are practice questions, you do not have to, and should not, submit answers to these questions on Blackboard. These questions will not be considered in any way towards your course grade. At the same time, based on the instructor's experience, individuals spending substantial and systematic effort in answering these practice questions by themselves tend to significantly improve their overall class performance.


Practice Question 1

(This is Problem 6 from Chapter 1 of the textbook).

Consider a computer with identical interpreters at levels 1, 2, and 3. It takes an interpreter n instructions to fetch, examine and execute one instruction. A level 1 instruction takes k nanoseconds to execute. How long does it take for an instructions at levels 2, 3, and 4?


Practice Question 2

(This is Problem 8 from Chapter 1 of the textbook).

Babbage's difference engine had a fixed program that could not be changed. Is this essentially the same thing as a computer running a program off of a modern CD-ROM, given that the program of the CD-ROM can also not change? Explain your answer.


Practice Question 3

(This is Problem 9 from Chapter 1 of the textbook).

One of the consequences of von Neumann's idea to store the program in memory is that programs can be modified at runtime, just like data. Can you think of any scenario where this facility might be useful?


Practice Question 4

(This is Problem 14 from Chapter 1 of the textbook).

At a certain point in time, a transistor on a chip was 0.1 micron in diameter. According to Moore's law, how big would a transistor be on next year's model?


Practice Question 5

(This is Problem 15 from Chapter 1 of the textbook).

It has been shown that Moore's law not only applies to semiconductor density, but it also predicts the increase in (reasonable) simulation sizes, and the reduction in computational simulation run-times.


Practice Question 6

(This is Problem 16 from Chapter 1 of the textbook).

In 1959, an IBM 7090 could execute about 500,000 instructions/sec, had a memory of 32,768 36-bit words, and cost $3 million. Compare this to a current computer and determine how much better the current one is by multiplying the ratio of memory sizes and speeds and then dividing this by the ratio of the prices. Now see what the same gains would have done to aviation in the same time period. The Boeing 707 was delivered to the airlines in substantial quantities in 1959. Its speed was 950 km/hr and its capacity was initially 180 passengers. It cost $4 million. What would the speed, capacity, and cost of an aircraft now be if it had the same gains as a computer? Clearly state your assumptions about speed, memory size, and price.


Practice Question 7

(This is Problem 17 from Chapter 1 of the textbook).

Developments in the computer industry are often cyclic. Originally, instruction sets were hardwired, then they were microprogrammed, then RISC machines came along and they were hardwired again.

Originally, computing was centralized on large mainframe computers, that users would connect to remotely, using so called "dumb terminals", i.e., computers that could do little beyond allowing the user to connect to the mainframe, issue text commands, and see the text output. Describe the cyclic behavior that has occurred here as well.


Practice Question 8

Explain in your own words the following terms:


Practice Question 9

Can we implement a machine in hardware that natively runs C? This would mean that every line of code in C could be directly executed by the hardware, without needing compilation. What are the pros and cons of such a machine?


Practice Question 10

Suppose you are given a computer with a CPU of some type A1, assembly language B1, operating system C1, high-level programming language D1. Suppose that you want to simulate a specific other CPU, of some type A2. What are the pros and cons of doing your implementation in assembly vs. a high-level programming language?


Practice Question 11

As a continuation of the previous question: what situations can you imagine, under which you would not be able to simulate computer A2 with computer A1? Try to come up with a few different reasons that would make such a simulation impossible.


Practice Question 12

Computer A has a single CPU that executes 2 billion instructions/sec. Computer B has a single CPU that executes 1 billion instructions/sec. Provide scenarios where A is faster than B, and scenarios where B is faster than A.


Back to the list of assignments.