2012-04-28 2 views
2

컴퓨터 건축 코스에 대한 이전 시험을 치뤘습니다. 잘못된 답을 얻었습니다. 어떻게하면 가장 빠른 속도 향상을 계산할 수 있을까요? 나는 forumla (그 문제는 파트 b)의 확실하지 않은 메신저 프로그램이 얼마나 빨라질 수 있는지에 대해 이해하고 있습니다. 어떤 도움도 upvoted되며 대단히 감사합니다 감사합니다!최고의 속도 향상을 계산합니다.

  1. (6 포인트)의 애플리케이션을 가속화하기 위해 다음 속용 두 개선이 제안되어
    고속화 1를 = 25
    의 단축 2 = 15

    향상 1은 명령어의 40 %에서 사용할 수 있으며 향상 2는 명령어의 30 %에서 사용할 수 있습니다. 두 가지 기능이 겹치지 않습니다.

    a) 두 가지 향상된 기능을 적용한 경우 속도 향상이란 무엇입니까?

    b)이 두 가지 개선 사항을 계속 개선한다면 도달 할 수있는 가장 빠른 속도는 무엇입니까? 오히려 식을 기억하는 것보다

+0

스피드 업 25의 의미는 무엇입니까? –

+0

스콧, 나는 (25 %가 아니라 25 %라고 생각한다. 그러나 불분명하다) 파트 (b)가 jfisk가 도움을 청하기 때문에 중요하지 않다고 생각한다. –

+0

나는 [Amdahl의 법칙] (http://en.wikipedia.org/wiki/Amdahl%27s_law)으로 계산할 수 있다고 생각합니다. –

답변

0

상식을 사용한다. 속도 향상 코드의 두 부분이 무한히 의 속도가 빨라질 수 있다고 상상해보십시오. 즉, 전혀 시간이 필요 없습니다. 남은 것은 무엇입니까? 얼마나 걸릴까요?

+0

아니요, 문제는 계속해서 이러한 개선 사항을 발전시키고 [amdahl 's law] (http://en.wikipedia.org/wiki/Amdahl%27s_law)에는 속도가 제한적입니다. – amit

+0

저는 Amdahl의 {자기, 그녀} 자기에 대한 법칙을 발견하기 위해 jfisk를 조금씩 움직이기를 바랐습니다. 왜 "아니오"라고 말하는지 잘 모르겠다 - 아마도 "내가 코드의 해당 부분을 무한히 빠르게한다면 아무것도 남지 않을 것"이라고 생각했을 것입니다. 그것은 내 의도가 전혀 아니었다. –

+0

그럼 내가 너를 오해하고 그 말을 되 돌리겠다. 답을 편집하여 -1도 제거 할 수 있습니다. – amit

0

하자는 총 실행 서리, 수 t :

이 섹션을 요구하지 않기 때문에 (A), 나는 미래의 독자를위한 완전한 솔루션을 제공하고있다. 따라서
t' = modified run time = 0.4t/25 + 0.3t/15 + 0.3t = 0.336t,
, speedup = t/t' = t/0.336t ~= 2.97

(나) 문제는 이러한 속도 업을 발전 유지 요청, 그래서 당신은 전체 프로그램을 개선 할 수 없다. 그런 다음 amdahl's law에 따라 얻을 수있는 최상의 속도는 순차적이고 개선되지 않는 부분으로 제한됩니다. Amdahl의 법칙에 따르면 최대 속도는 최대가 될 것입니다. 1/SEQUENTIAL_PART 귀하의 경우 순차적 인 부분은 무엇입니까? 이유를 이해했는지 확인하십시오.

amdahl의 법칙은 향상된 부분의 속도를 무한 속도로 높일 수 있다고 가정하면 전체 속도는 아직 개선되지 않은 부분으로 제한됩니다.

+0

일반적으로 학생의 숙제 문제에 대한 완전한 대답을 제공하는 것은 좋지 않은 스타일로 간주됩니다. 그들이 스스로 해결할 수있는 충분한 도움을 제공하는 것이 낫습니다. –

+0

@ GarethMcCaughan : 나는 더 유익하고 덜 먹기 위해 코멘트를 수락하고 대답을 편집했다. – amit

+0

그래, 그게 더 좋다. –