0% found this document useful (0 votes)
86 views

CSC 340 - Assignment 1

This document provides instructions for submitting Assignment 1 for the CSC340 Digital Logic Design course. Students should add their name and ID to the assignment file, save it in the original file format, rename it with their details, and upload it to Blackboard. The assignment contains 8 questions regarding hardware and software differences, unit conversions, computing history, Moore's Law, the von Neumann architecture, and cloud computing platforms.

Uploaded by

Daniel s
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
86 views

CSC 340 - Assignment 1

This document provides instructions for submitting Assignment 1 for the CSC340 Digital Logic Design course. Students should add their name and ID to the assignment file, save it in the original file format, rename it with their details, and upload it to Blackboard. The assignment contains 8 questions regarding hardware and software differences, unit conversions, computing history, Moore's Law, the von Neumann architecture, and cloud computing platforms.

Uploaded by

Daniel s
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 10

CSC340 Digital Logic Design -

Assignment 1
First Name

Last Name

ID#

Email Address

How to submit your Assignment


After filling all the parts in this file, please follow the following steps.
1) Add your name and ID to the first page.
2) Save the file in the original format (Docx or Doc)

(please do not convert to other file formats e.g. PDF, ZIP, RAR, …).

3) Rename the file as


CSC320 – HW1 - ID – YOUR Last Name - YOUR First Name.docx
Example: CSC340 – HW1 - 234566435 - Smith - John.docx
4) Upload the file and submit it (only using Blackboard)

Question 1:
In what ways are hardware and software different? In what ways are they the same?

Answer:

DIFFERENCES: In simple terms, hardware is the physical parts of a


computer system--that is, what you see and touch (things like a monitor, key
pad, disk slot, motherboard, a CPU, speakers, etc.). Software, then, is the
actual programs, “collection of instructions” or operating systems that have
to be installed and “run” on a computer. Those are things that a user
doesn’t see or touch.

Hardware is broadly organized into input, output, storage, and external


components. Software is categorized into application software and system
software. 

Hardware will ordinarily wear down over time; yet, software does not. We all
know software can have issues like glitches or performance bugs and require
trouble-shooting or updates.

SIMILARITIES: Based on slide #4 of Week-1’s class lesson, there are ways


in which hardware and software are the same. Specifically, the Principle of
Equivalence of Hardware and Software states, “any task done by software
can also be done by hardware and any operation performed directly by
hardware can be done using software.”

Additionally, they both form the key important parts of a computer system.
Without them together, the computer system will not operate properly.

Finally, they both are reliant on each other to work correctly. That means
without hardware, software cannot run; and, without software there is no use for
hardware.

Question 2:
a) How many milliseconds (ms) are in 1 second?
b) How many microseconds (µs) are in 1 second?
c) How many nanoseconds (ns) are in 1 millisecond?
d) How many microseconds are in 1 millisecond?
e) How many nanoseconds are in 1 microsecond?
f) How many kilobytes (KB) are in 1 gigabyte (GB)?
g) How many kilobytes are in 1 megabyte (MB)?
h How many megabytes are in 1 gigabyte (GB)?
i) How many bytes are in 20 megabytes?
j) How many kilobytes are in 2 gigabytes?

Answer:

a) How many milliseconds (ms) are in 1 second?


Here, 1 second = 1x100 seconds.
Then, 1 millisecond = 1x10-3 seconds.

Now, 1000 milliseconds = 1 second.

Then, 103 milliseconds = 1 second. This is the same as “1000ms = 1


second”.

b) How many microseconds (µs) are in 1 second?


Here, 1 second = 1x100 seconds.
Then, 1 microsecond = 1x10-6 seconds.

Now, 1,000,000 microseconds = 1 second.

Then, 106 microseconds = 1 second. This is … “1,000,000ms = 1 second”.

c) How many nanoseconds (ns) are in 1 millisecond?


Here, 1 nanosecond = 1x10-9 (reference: slide 7 from Week-1’s Class)
Then, 1 millisecond = 1x10-3 (reference slide 7 from Week-1’s Class)

Now, (1x10-3 secs) / (1x10-9 secs) = 10-3 : 10- -9 = 10+6

Then, 106 nanoseconds = 1 millisecond.

d) How many microseconds are in 1 millisecond?


Here, 1 microsecond = 1x10-6 (reference: slide 7 from Week-1’s Class)
Then, 1 millisecond = 1x10-3 (reference slide 7 from Week-1’s Class)
Now, (1x10-3 secs) / (1x10-6 secs) = 10-3 : 10- -6 = 10+3

Then, 103 microseconds = 1 millisecond.

e) How many nanoseconds are in 1 microsecond?

(1x10-6 secs) / (1x10-9 secs) = 1000 nanoseconds

Then, 103 nanoseconds = 1 microsecond.

f) How many kilobytes (KB) are in 1 gigabyte (GB)?

Here, 230 Bytes / Megabyte … / … 210 bytes / Megabyte = 220 KB/MB


~ 1,048,576 KB / GB

g) How many kilobytes are in 1 megabyte (MB)?


Here, 220 Bytes / Megabyte … / … 210 bytes / Megabyte = 210 KB/MB
= 1024 KB / MB

h How many megabytes are in 1 gigabyte (GB)?


Here, 230 Bytes / Gigabyte … / … 220 bytes / Gigabyte = 210 KB/MB
= 1024 MB / GB

i) How many bytes are in 20 megabytes?

1 megabyte = 1048576 bytes


20 megabytes = 20 * 1048576 = 20,971,520 bytes (in 20 MB)

j) How many kilobytes are in 2 gigabytes?


230 / 210 = 220
= 220 = 1,048,576 bytes.

Then, 2 * 1,048,576 = 2,097,152 KB.

Question 3:
Briefly explain two breakthroughs in the history of computing.

Answer:

TWO Major Breakthroughs in the History of Computing:

 Incredibly, Konrad Zuse designed a motor-driven mechanical computer


from 1936-1938 in his parent’s house. This brilliant breakthrough was
called the “Z1”, used a binary system, and had a memory and a processor.

 Even more incredible than Zuse’s design was the invention of the
“modern” personal computer. In 1958, Mr. Jack Kilby (from Texas
Instruments) invented the integrated circuit computer. It involved two
transistors together on a single silicon wafer. By using semiconductor
material, this design was smaller, faster and more reliable than before.

Question 4:
Suppose a transistor on an integrated circuit chip were 2 microns in size. According to
Moore's Law, how large would that transistor be in 2 years? How is Moore's law relevant to
programmers?

Answer:

Part 1:
Based on slide #20 of Week-1’s class lesson, Gordon Moore’s Law states:
“The density of transistors in an integrated circuit will double every year.”
This prediction is conveyed today to mean that the density of transistors will
shrink by a factor of 2 every 18 months or ~ about 2 years.

To calculate my answer, I take the current size of the transistor = 2


microns…
Then, the size of the transistor in 2 years =  18months/2 years
                                = 18months/24 months
                                = 18/24
                                =  0.75microns.

Therefore: 2× (1/2) × (18/24) = 18/24 = 0.75 microns.

Part 2:
Moore’s law is relevant to programmers in that they use Moore’s law to predict
the changes in advancing technology and writing useful code.

Question 5:
In the von Neumann model, explain the purpose of the:
a) processing unit
b) program counter

Answer:

a) The PURPOSE of a processing unit in the von Neumann model: It is


used in arithmetic and logical calculations. In this model, a processing unit
contains an ALU (Arithmetic Logic Unit) and the registers needed to store
processed data. An ALU will support key operations like addition,
subtraction, division, multiplication, and many other arithmetic functions.
It will also perform logical operations such as “greater than, less than, equal
to”, and other key functions.

b) The PURPOSE of a program counter in the von Neumann model: is to


serve as a register within the control unit. It basically handles / controls the
sequence of instructions—specifically holding the address of the instruction
that has to be fetched next from the “next-door” memory.

Question 6:
Under the von Neumann architecture, a program and its data are both stored in memory. It
is therefore possible for a program, thinking a memory location holds a piece of data when it
actually holds a program instruction, to accidentally (or on purpose) modify itself. What
implications does this present to you as a programmer?

Answer:

This presents a scenario for the programmer. It can and will be a challenge.
What do I mean? Well, modifying instruction will likely lead to a program
crashing. It could also mean that a “actual” instruction is built but executed to
lead to a significant error.

The bottom line here is that both of these scenarios might be very tough to
resolve. As a precaution, more focus and diligence has to be maintained when a
program and data are stored within the same physical location.

Question 7:
Explain why modern machines consist of multiple levels of virtual machines.

Answer:

Modern machines consist of multiple levels of virtual machines as a tactical


operating advantage. Specifically, having multiple levels of virtual machines
will enable different operating systems to function at the same time on the same
machine. As we saw in our class illustration, modern machines are organized as
a hierarchy in a way that complexity can be ideally controlled. Slide # 21 of our
Week-1 lesson shows that each Computer Level Hierarchy will have its own
function; execute their own particular instructions…calling upon machines at
lower levels to perform tasks (as required); and act as a virtual machine for the
level below it.
Question 8:
Explain the three main types of Cloud computing platforms.

Answer:

The THREE main types of Cloud Computing Platforms are:


(** Extracted from slide #s 22 and 23 of Week-1’s class lesson**)

1. Infrastructure as a Service (IaaS): “provides only server hardware,


secure network access to the servers, and backup and recovery
services. The customer is responsible for all system software including
the operating system and databases.”

2. Software as a Service (SaaS): “The consumer of this service buy


application services.” This involves the use of an application that is
solely running on someone else’s hardware. The key point to
remember here, for me, is that the service consumer doesn’t have to
maintain the application. They do not need to be concerned about the
infrastructure.

3. Platform as a Service (PaaS): “Provides server hardware, operating


systems, database services, security components, and backup and
recovery services.”

This allows you to develop your own applications. A PaaS provider


manages the performance and availability of the environment.
However, a customer manages the applications provided on the PaaS
cloud.

Question 9:
Explain what it means to “fetch” an instruction.

Answer:

The term “fetch” an instruction has a specific meaning. It means to read or load
the instruction from the nearby memory. In order for an instruction to be
executed, it has to first bet fetched. Fetching the instruction is “step 1.”
Now, a program counter controls the sequence of instructions. Then it will
communicate to the CPU on what specific instructions have to be fetched.

Question 10:
The technologist's notion of Moore's Law is that the number of transistors per chip doubles
approximately every 18 months. In the 1990s, Moore's Law started to be described as the
doubling of microprocessor power every 18 months. Given this new variation of Moore’s
Law, answer the following:
a) After successfully completing your computer organization and architecture class, you
have a brilliant idea for a new chip design that would make a processor six times faster
than the fastest ones on the market today. Unfortunately, it will take you four and a
half years to save the money, create the prototype, and build a finished product. If
Moore’s Law holds, should you spend your money developing and producing your chip
or invest in some other venture?
b) Suppose we have a problem that currently takes 100,000 hours of computer time using
current technology to solve. Which of the following would give us the solution first: (1)
Replace the algorithm used in the current solution by one that runs twice as fast and run
it on the current technology, or (2) Wait 3 years, assuming Moore’s law doubles the
performance of a computer every 18 months, and find the solution using the current
algorithm with the new technology?

Answer:

a) Moore’s law posits that:


The performance speed of a microprocessor doubles every 18
months, therefore, after 1.5 years…it will be 2 times as fast; after
3 years…it will be times as fast; after 4.5 years, the leading
microprocessor would be 8 times as fast. That is much greater
than a chip at 6 times the speed. Bottomline: It is best to invest
in some other venture.

b) <1> The problem would be solved in 50,000 hours

or…
<2> WaitTime + SolveTime= 3 years+ 100,00/4 hours

26280 hours+25000hours
51,280 hours

The solution is found more quickly with the new algorithm (Option
1).
The end

You might also like