Warning: foreach() argument must be of type array|object, bool given in /var/www/html/web/app/themes/studypress-core-theme/template-parts/header/mobile-offcanvas.php on line 20

Calculate the time necessary to perform a multiply using the approach given in Figure 3.3 and 3.4 if an integer is 8 bits wide and each step of the operation takes 4-time units. Assume that in step 1a an addition is always performed -either the multiplicand will be added, or a zero will be. Also assume that the registers have already been initialized (you are just counting how long it takes to do the multiplication loop itself). If this is being done in hardware, the shifts of the multiplicand and multiplier can be done simultaneously. If this is being done in software, they will have to be done one after the other. Solve for each case.

Short Answer

Expert verified

The time necessary to perform a multiply using the approach given in Figure 3.3 and 3.4 is as follows:

For case 1 -Hardware: 96 time units

For case 2-Software: 160 time units

Step by step solution

01

Determine the Multiplication Algorithm:

  1. First, the multiplier will be checked for 0 and 1.

1a. If the multiplier is 1, then the multiplicand will be added to the product and then the left shift 1 bit in the multiplicand register

2. If the multiplier is 0, then the left shift for 1 bit in the multiplicand register.

3. Then Shift the multiplier register 1 bit to the right.

4. Then the repetition numbers will be checked, if it is less than 32 it again works from first. If it has completed 32 repetitions then the result will be produced.

02

Determine the time units for multiplication in hardware

Given that the each step of the operation will take 4 time units.

To perform addition it takes 1 cycle, to perform shift operation left or right it takes one cycle. To make the decision regarding the result it takes 1 cycle. So it takes around cycles for a loop operation with time units.

It is given that the integer is 8-bit wide which is “a”.

Therefore, the time units taken for hardware is as follows:

3×a×t=(3×8)×4=24×4=96timeunits

03

Determine the time units for multiplication in Software

For Software:

Given that the each step of the operation will take 4 time units.

To perform a decision on what to be added takes 1 cycle, to add it take 1 cycle. To perform the left shift it takes 1 cycle and 1 cycle to perform the right shift. To make the decision regarding the result it takes 1 cycle. So it takes around cycles for a loop operation with time units.

It is given that the integer is 8-bit wide which is “t”.

Therefore, the time units taken for hardware is as follows:

5×a×t=5×8×4=40×4=160timeunits

Unlock Step-by-Step Solutions & Ace Your Exams!

  • Full Textbook Solutions

    Get detailed explanations and key concepts

  • Unlimited Al creation

    Al flashcards, explanations, exams and more...

  • Ads-free access

    To over 500 millions flashcards

  • Money-back guarantee

    We refund you if you fail your exam.

Over 30 million students worldwide already upgrade their learning with Vaia!

One App. One Place for Learning.

All the tools & learning materials you need for study success - in one app.

Get started for free

Most popular questions from this chapter

Using a table similar to that shown in Figure 3.6, calculate the product of the octal unsigned 6-bit integers 62 and 12 using the hardware described in Figure 3.3. You should show the contents of each register on each step.

Question: [45] The following C code implements a four-tap FIR filter on input array sig_in. Assume that all arrays are 16-bit fixed-point values. for (i 3;i< 128;i ) sig_out[i] sig_in[i-3] * f[0] sig_in[i-2] * f[1] sig_in[i-1] * f[2] sig_in[i] * f[3]; Assume you are to write an optimized implementation this code in assembly language on a processor that has SIMD instructions and 128-bit registers. Without knowing the details of the instruction set, briefly describe how you would implement this code, maximizing the use of sub-word operations and minimizing the amount of data that is transferred between registers and memory. State all your assumptions about the instructions you us

[30] <§3.4> Using a table similar to that shown in Figure 3.10, calculate 74 divided by 21 using the hardware described in Figure 3.11. You should show the contents of each register on each step. Assume A and B are unsigned 6-bit integers. This algorithm requires a slightly

different approach than that shown in Figure 3.9. You will want to think hard about this, do an experiment or two, or else go to the web to figure out how to make this work correctly. (Hint: one possible solution involves using the fact that Figure 3.11 implies the remainder register can be shifted either direction.)

Write down the binary representation of the decimal number 63.25 assuming it was stored using the single precision IBM format (base 16, instead of base 2, with 7 bits of exponent).

Based on your answers to 3.32 and 3.33, does

3.984375×10-1+3.4375×10-1+1.771×103=3.984375×10-1+3.4375×10-1+1.771×103?

See all solutions

Recommended explanations on Computer Science Textbooks

View all explanations

What do you think about this solution?

We value your feedback to improve our textbook solutions.

Study anywhere. Anytime. Across all devices.

Sign-up for free