컴퓨터 구조 관련 질문입니다...(어디에 올릴지 모르겠음..)

supaflow의 이미지

컴퓨터 시스템 구조론 책에 있는 연습문제 내용입니다.

질문이 무엇을 말하는지는 알겠는데 어떻게 풀어내야 하는지 잘 모르겠네요.

도움 부탁 드립니다.

명령어 실행에 걸리는 시간에 대해서 설명도 부탁합니다.

--------------------------------------------------------------

어떤 마이크로프로세서가 지정된 기억 장소의 값에 1을 더해주는 increment memory direct

명령어를 가지고 있다. 그 명령어는 다섯 단계로 구성된다 : 연산 코드 인출(4 버스 사이클), 오퍼랜드 주소 인출 (3 사이클), 오퍼랜드 인출(3 사이클), 오퍼랜드에 1 더하기(3사이클), 그리고 오퍼랜드 저장(3 사이클).

a.) 만약 각 기억장치 읽기와 쓰기 동작 때마다 버스 대기 상태를 두 개씩 삽입해야 한다면, 그 명령어 실행에 걸리는 시간은 얼마나(몇 퍼센트) 증가할 것인가?
b.) increment 연산이 3사이클이 아니라 13사이클 걸린다고 가정할 경우에 위의 문제를 반복하라.

--------------------------------------------------------------
이런 문제 입니다. 도무지 감이 안오네요.
문제의 갈길을 바로 잡아 주시기 바랍니다..

jiee의 이미지

딴지는 아니고요...

If 학교에서 배우는 것이라면,
교수님, 혹은 조교분께 여쭤보는 게 더 좋을 것 같다는...

else
KLDP의 똑똑하신 분들이 답변해주시길 기다리시면 되겠네요..

ps. 제가 가끔 훌륭하신 교수님과 조교분들을 나두고 삽질하던게 생각나서 적습니다. : )

토나오게...

nako의 이미지

기본적으로 16 사이클입니다만,
메모리 접근시 마다 2사이클이 더 필요하다는 이야기겠네요.

메모리 접근이 필요한 단계는 instruction fetch, operand addr fetch, operand fetch, operand write니까 모두 2x4=8을 더하면 되지 않을까요?

위 연산을 incop라고 이름 붙인다고 하고

예로,
0x000 incop; # instruction
0x004 0x100; # operand의 주소
0x100 0xaa; # operand

라고 하면

0x000 번지에서 instruction 읽어 오는데 4 + 2
0x004 번지에서 operand 주소 읽어 오는데 3 + 2
0x100 번지에서 읽는데 3+2
연산 하는데 3
0x100 번지에 0xab 를 저장하는데 3+2

이렇게 되겠네요.

책 본지 오래 되어서 맞는지 모르겠습니다만... 도움이 되셨기를...

nako의 이미지

기본적으로 16 사이클입니다만,
메모리 접근시 마다 2사이클이 더 필요하다는 이야기겠네요.

메모리 접근이 필요한 단계는 instruction fetch, operand addr fetch, operand fetch, operand write니까 모두 2x4=8을 더하면 되지 않을까요?

위 연산을 incop라고 이름 붙인다고 하고

예로,
0x000 incop; # instruction
0x004 0x100; # operand의 주소
0x100 0xaa; # operand

라고 하면

0x000 번지에서 instruction 읽어 오는데 4 + 2
0x004 번지에서 operand 주소 읽어 오는데 3 + 2
0x100 번지에서 읽는데 3+2
연산 하는데 3
0x100 번지에 0xab 를 저장하는데 3+2

이렇게 되겠네요.

하지만 대부분의 risc cpu처럼 명령어 내에 op가 포함된 경우라면 이야기가 다릅니다.
한번 instruction을 memory에서 가져오고 나면 이미 그 안에 op_addr이 들어 있기 때문입니다.

incop op_addr; 형식으로 32bit instruction 하나에 instruction과 op_addr이 포함 되어 있다고 할 경우,

incop fetch에 4+2
op_addr fetch에 3
op_addr에서 op fetch하는데 3+2
연산에 3
op에 결과 write하는데 3 +2
가 되겠네요.

책 본지 오래 되어서 맞는지 모르겠습니다만... 도움이 되셨기를...

nako의 이미지

지우기는 안되나 보네요.

supaflow의 이미지

도움 많이 되었습니다..

행복하세요..^^
==============================================

세상을 향한 외침
ogflow.tistory.com

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.