1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
puteri [66]
3 years ago
6

For the preceding simple implementation, this execution order would be nonideal for the input matrix; however, applying a loop i

nterchange optimization would create a nonideal order for the output matrix. Because loop interchange is not sufficient to improve its performance, it must be blocked instead. (a) What should be the minimum size of the cache to take advantage of blocked execution

Computers and Technology
1 answer:
Vladimir [108]3 years ago
7 0

Answer:

hi your question lacks the necessary matrices attached to the answer is the complete question

1024 bytes

Explanation:

A) The minimum size of the cache to take advantage of blocked execution

 The minimum size of the cache is approximately 1 kilo bytes

There are 128 elements( 64 * 2 ) in the preceding simple implementation and this because there are two matrices and every matrix contains 64 elements .

note:  8 bytes is been occupied by every element therefore the minimum size of the cache to take advantage of blocked execution

= number of elements * number of bytes

= 128 * 8 = 1024 bytes ≈ 1 kilobytes

You might be interested in
Lianna is an Information Technology professional. She usually spends her days creating custom programs for her company by writin
marusya05 [52]
Liam a would need to contact the software developer. So the answer is B
6 0
3 years ago
Half of the integers stored in the array data are positive, and half are negative. Determine the
jonny [76]

Answer:

Check the explanation

Explanation:

Below is the approx assembly code for above `for loop` :-

1). mov ecx, 0

2). loop_start :

3).    cmp ecx, ARRAY_LENGTH

4).    jge loop_end

5).    mv temp_a, array[ecx]

6).    cmp temp_a, 0

7).    branch on nge

8).        mv array[ecx], temp_a*2

9).   add ecx, 1

10).   jmp loop_start

11). loop_end :

Assumptions :-

*ARRAY_LENGTH is register with value 1000000

*temp_a is a register

Frequency of statements :-

1) will be executed one time

3) will be executed 1000000 times

4) will be executed 1000000 times

5) will be executed 1000000 times

6) will be executed 1000000 times

7) `nge` will be executed 1000000 times, branch will be executed 500000 times

8) will be executed 500000 times

9) will be executed 1000000 times

10) will be executed 1000000 times

Cost of statements :-

1) 10 ns

3) 10ns + 10ns + 10ns [for two register accesses and one cmp]

4) 10ns [for jge ]

5) 10ns + 100ns + 10ns [10ns for register access `ecx`, 100ns for memory access `array[ecx]`, 10ns for mv]

6) 10ns + 10ns [10ns for register_access `temp_a`, 10ns for mv]

7) 10ns for nge, 10ns for branch

8) 30ns + 110ns + 10ns

10ns + 10ns + 10ns for temp_a*2 [10ns for moving 2 into a register, 10ns for multiplication],

110ns for array[ecx],

10ns for mv

9) 10ns for add, 10ns for `ecx` register access

10) 10ns for jmp

Total time taken = sum of (frequency x cost) of all the statements

1) 10*1

3) 30 * 1000000

4) 10 * 1000000

5) 120 * 1000000

6) 20 * 1000000

7) (10 * 500000) + (10 * 1000000)

8) 150 * 500000

9) 20 * 1000000

10) 10 * 1000000

Sum up all the above costs, you will get the answer.

It will equate to 0.175 seconds

7 0
3 years ago
Developers have proposed to build a subdivision near the shore of a lake, but this would require altering a popular wetland area
ad-work [718]
<span>They would argue that a a healthy, sustainable environment is necessary for humans. </span>Anthropocentrism is a belief that <span>interprets or regards the world in terms of human values and experiences. They see things as how they affect humans. They want to preserve the wetland so it could help humans.</span>
3 0
3 years ago
Exercise1 : Defining Circle type and Creating a Driver Circle class private members double radius double xPos double yPos public
asambeis [7]

Answer:

Aee explaination

Explanation:

1) class_circle.h

#include<iostream>

#include<cmath>

#include<iomanip>

#define PI 3.14159

using namespace std;

class circle

{

private:

double radius,xPos,yPos;

public:

double diameter();

double area();

double circumference();

double getRadius();

double getX();

double getY();

void setX(double x);

void setY(double y);

double distanceToOrigin();

bool intersect(const circle& otherCircle);

bool setRadius(double r);

};

class CircleDriver:public circle

{

private:

circle circ1;

circle circ2;

void obtainCircles();

void printCircleInfo();

public:

void run();

};

2) class_circle.cpp

#include "class_circle.h"

double circle::diameter()

{

return (radius * 2);

}

double circle::area()

{

return PI * radius * radius;

}

double circle::circumference()

{

return 2 * PI * radius;

}

double circle::distanceToOrigin()

{

return sqrt((xPos * xPos) + (yPos * yPos));

}

double circle::getRadius()

{

return radius;

}

double circle::getX()

{

return xPos;

}

double circle::getY()

{

return yPos;

}

void circle::setX(double x)

{

xPos = x;

}

void circle::setY(double y)

{

yPos = y;

}

bool circle::setRadius(double r)

{

if(r > 0)

{

radius = r;

return true;

}

else

{

radius = 0;

return false;

}

}

bool circle::intersect(const circle& otherCircle)

{

double dist1 = (radius - otherCircle.radius) * (radius - otherCircle.radius);

double dist2 = ((xPos - otherCircle.xPos) * (xPos - otherCircle.xPos)) + ((yPos - otherCircle.yPos)*(yPos - otherCircle.yPos));

double dist3 = (radius + otherCircle.radius) * (radius + otherCircle.radius);

if((dist1 <= dist2 ) && (dist2 <= dist3) && (dist1 < dist3))

return true;

else

return false;

}

void CircleDriver::obtainCircles()

{

double x,y,rad;

cout<<"Enter xPos yPos circle 1 :";

cin>>x>>y;

do

{

cout<<"\n\nEnter radius for circle 1 :";

cin>>rad;

}while(rad <= 0);

circ1.setX(x);

circ1.setY(y);

circ1.setRadius(rad);

cout<<"\n\nEnter xPos yPos circle 2 :";

cin>>x>>y;

do

{

cout<<"\n\nEnter radius for circle 2 :";

cin>>rad;

}while(rad <= 0);

circ2.setX(x);

circ2.setY(y);

circ2.setRadius(rad);

}

void CircleDriver::printCircleInfo()

{

cout<<setprecision(6)<<endl;

cout<<"\n\nInformation for Circle 1:"<<endl;

cout<<"location:( "<<circ1.getX()<<" ,"<<circ1.getY()<<" )"<<endl;

cout<<"diameter: "<<circ1.diameter()<<endl;

cout<<"area: "<<circ1.area()<<endl;

cout<<"circumference: "<<circ1.circumference()<<endl;

cout<<"distance from the origin: "<<circ1.distanceToOrigin()<<endl;

cout<<"\n\nInformation for Circle 2:"<<endl;

cout<<"location:( "<<circ2.getX()<<" ,"<<circ2.getY()<<" )"<<endl;

cout<<"diameter: "<<circ2.diameter()<<endl;

cout<<"area: "<<circ2.area()<<endl;

cout<<"circumference: "<<circ2.circumference()<<endl;

cout<<"distance from the origin: "<<circ2.distanceToOrigin()<<endl<<endl;

if(circ1.intersect(circ2))

cout<<"The circles intersect."<<endl;

else

cout<<"The circles does not intersect."<<endl;

}

void CircleDriver::run()

{

obtainCircles();

printCircleInfo();

}

3) main.cpp

#include "class_circle.h"

int main()

{

CircleDriver myDriver;

myDriver.run();

return(0);

}

Please refer below output for reference

Enter xPos yPos circle 1 :0.0 50.0

Enter radius for circle 1 :100.0

Enter xPos yPos circle 2 :50.0 0.0

Enter radius for circle 2 :100.0

Information for Circle 1:

location:( 0 ,50 )

diameter: 200

area: 31415.9

circumference: 628.318

distance from the origin: 50

Information for Circle 2:

location:( 50 ,0 )

diameter: 200

area: 31415.9

circumference: 628.318

distance from the origin: 50

The circles intersect.

Process returned 0 (0x0) execution time : 18.245 s

Press any key to continue.

8 0
3 years ago
A(n) _____ program, used to participate in a newsgroup, is often provided with some e-mail software.
pogonyaev
Newsreader.

I hope it helps you.
8 0
3 years ago
Other questions:
  • Lucy has to move data from column A to column N in a worksheet. Which keys should she select to move data in the same worksheet?
    7·2 answers
  • How works GPS on boats?
    12·1 answer
  • You can toggle between different types of references by pressing the ____ key on your keyboard.
    15·1 answer
  • Your company deals with highly confidential information, some of which is transmitted via email among employees. Some documents
    13·1 answer
  • Which attribute of the image tag specifies the URL of an image
    14·1 answer
  • A commercial depicts a teenager on a skateboard vandalizing a brick wall. This is an example of:
    11·2 answers
  • .Visual Studio .NET’s ___________ feature displays all the members in a class
    9·1 answer
  • You are working with an online tech service to fix a problem with installation of a program on your machine. You grant them remo
    13·1 answer
  • For two integers m and n, their GCD(Greatest Common Divisor) can be computed by a recursive function. Write a recursive method g
    8·1 answer
  • ___ is a form of electronic money that is decentralized and whose transactions are encrypted, processed, and recorded via peer-t
    10·2 answers
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!