Beruflich Dokumente
Kultur Dokumente
ASSIGNMENT 1
Instructions
There are 07 questions in this assignment.
Assignment submitted after due date will not be evaluated.
Upload a pdf version of the document on BlackBoard.
Do not submit the assignment via e-mail.
Write your answer after each question in this document.
Name the document as A1_CO2015_John_Doe.pdf in case your name is John
Doe. [You are required to strictly follow the naming convention.]
Materials copied from the Internet or otherwise will attract penalty as per
course policy.
You are required to draw all the diagrams on your own.
Due Date: 5:00 pm, September 16, 2015
Grading Criteria
Correct answers (in terms of content and expression) will be awarded full points. This
assignment has 35 points (with weightage of 5% in your overall 100 points).
Questions
1. Explain the benefits of using multiple bus architecture compared to single bus
architecture. Discuss single bus configuration and multiple bus configuration.
ANS:Single Bus Configuration:
A system bus typically consists of about 50 to 100 separate lines which are mainly
classified into three functional groups.
1.Data lines which provide a path for moving data among system modules.
2. The address lines which are used to designate the source or destination of the
data on the data bus.
3. The control lines which are used to control the access to and the use of the data
and address lines.
If a great number of devices are connected to the bus, performance will suffer
because of two main reasons:
1.In general , the more devices attached to the bus, the greater the bus length and
hence greater the propagation delay. This delay determines the time it takes for
devices to coordinate the use of the bus. When control of the bus passes from one
device to another frequently, these propagation delays can noticeably affect
performance.
2.The bus may become a bottleneck as the aggregate data transfer demand
approaches the capacity of the bus. However , because the data rates generated by
the attached devices are growing rapidly, this is a race that a single bus is
ultimately destined to lose.
Hence, using multiple bus architecture is more beneficial.
Instruction Mix
60%
18%
12%
10%
c) Now assume that the program can be executed in eight parallel tasks or threads with
roughly equal number of instructions executed in each task. Execution is on an 8-core
system with each core (processor) having the same performance as the single
=> T=(2*10^6)/(152*10^6)=1/76s=0.013s=13ms
a)
CPI= ( CPIi * Ii )
Ic
60% => Ii = 0.6;18% => Ii = 0.18;12% => Ii = 0.12; 10% =>Ii=0.1;
( CPIi * (Ii/Ic) ) =1*0.6 + 2*0.18 + 4*0.12 +12*0.1=0.6+0.36+0.48+1.2=2.64
b)
MIPS=frequency(Hz)/(CPI*10^6) = 400MHz/CPI = 400/2.64 = 152;
As there is increase in the value of CPI the value of MIPS decreases as they are inversely proportional.
MIPS value has been dropped.
c)
As 2 million instructions are passed to 8 parallel tasks the instructions will be split equally so each task
gets 2000000/8 instructions =250000 and asked to add 25000 more instructions to each task so final
number of instructions for each task are 275000.
Execution time T=Ic/(MIPS*10^6) so execution time for each task is
T'=Ic/(MIPS*10^6) = 275000/(152*10^6) = 0.275*10^6/(152*10^6)=0.275/152 = 0.0018s=1.8 ms.
SpeedUp=
time to execute program on a single processor
time to exectute program on N parallel processors
SpeedUp=T/T'=13/1.8=7.22.
c)
Clock rate = 10MHz => clock period = 1/10MHz = 10^(-7)s =100ns.
As said the microprocessor of initiates the fetch operand stage of the increment
memory direct instruction at the same time that a keyboard actives an interrupt request line,so
we need 4 bus clock cycles to fetch opcode and 3 to fetch operand address.
so, the processor requires 7 clock cycles to execute the instruction.
so the interrupts begins after 7*100 ns= 700ns.
6. Consider two microprocessors having 8- and 16-bit-wide external data buses, respectively.
The two processors are identical otherwise and their bus cycles take just as long.
a) Suppose all instructions and operands are two bytes long. By what factor do
the maximum data transfer rates differ?
b) Repeat assuming that half of the operands and instructions are one byte long.
ANS:a)
As 8-bit microprocessor transfers 1 byte through single bus cycle with 16-bit micro processer it transfers
2 bytes. Thus the 16-bit microprocessor has twice rate than 8-bit microprocessor.
b)
If we should transfer 50 operands and instructions in which 25 are 1 byte long and other 25 are 2 bytes
long, then 8-bit micro processer needs 25+2*25 bytes=75 bytes whereas 16-bit micro processer needs
25+25=50 bytes which is not twice but is 1.5 times that of 8-bit micro processer.
7. Compare and contrast Intel x86 processor and ARM processor based on:
a) Data Types
b) Types of Operations
c) Addressing Modes
d) Instruction Formats
a)As 8-bit microprocessor transfers 1 byte through single bus cycle with 16-bit micro processer it
transfers 2 bytes. Thus the 16-bit microprocessor has twice rate than 8-bit microprocessor.
a) Based on data types :Intel x86 processor :The x86 can deal with data types of 8 (byte),16 (word),32 (doubleword),64
(quadword), and 128 (double quadword) bits in length. The processor converts
the request for misaligned values into a sequence of requests for the bus
transfer.
Few more data types are general, Integer ordinal etc.