• 전문가 요청 쿠폰 이벤트
*동*
Bronze개인
팔로워0 팔로우
소개
등록된 소개글이 없습니다.
전문분야 등록된 전문분야가 없습니다.
판매자 정보
학교정보
입력된 정보가 없습니다.
직장정보
입력된 정보가 없습니다.
자격증
  • 입력된 정보가 없습니다.
판매지수
전체자료 1
검색어 입력폼
  • Relatively Simple CPU 시뮬레이터를 이용한 프로그램 설계
    Relatively Simple CPU 프로그램 설계목 차1. 과제이해 31-1 시뮬레이터에 대한 이해2. 작성한 프로그램 42-1 프로그램에 이용되는 메모리 주소에 관한 설명 42-2 명령어 코드에 대한 설명 52-3 명령어 코드에 대한 설명(2) 63. 과정 및 결과 73-1. 결과의 분석 114. 코드의 수정 114-1. 코드의 최종 수정 124-2. 수정된 코드의 결과 분석 131. 과제 이해과제 수행을 위해 제시된 RS-CPU 시뮬레이터를 이용해 Ch.6에서 학습한 Relatively Simple CPU 사양에 적합한 프로그램을 설계한다. Relatively Simple CPU의 사양에 관해서는 아래의 Ch.6 30~32페이지 내용을 참고했다.1-1. 시뮬레이터에 대한 이해설치 지침(53p)에 따라 시뮬레이터를 구동시키면 위와 같은 화면을 확인할 수 있다. 작성한 프로그램의 명령어 코드를 입력한 후, Assemble 버튼을 누르면 메모리에 명령어들이 저장된다.*View Trace는 프로그램의 실행 과정을 레지스터를 기준으로 보여준다.(모든 명령어에서 FETCH1, 2, 3가 선행되어 나타난다.)*View Register Section은 프로그램이 실행되는 모습을 도식화된 CPU 위의 붉은 점을 통 해 보여준다.(해당 창에서 Run - Start CPU (Go)를 눌러 프로그램을 실행 시킨다.)*View Memory는 메모리에 저장된 데이터를 보여준다.본 리포트에서는 이상의 세 주요 기능을 중심으로 프로그램의 실행 과정을 보일 것이다.2. 작성한 프로그램* 피보나치 수열: 첫 번째 항의 값이 0이고 두 번째 항의 값이 1일 때, 이후의 항들은 이전의 두 항을 더한 값으로 이루어지는 수열.Ex) 0 1 1 2 3 5 8 13 …본 리포트에서는 처음 나오는 1을 첫 번째 항이라 하고 프로그램을 작성하였습니다.2-1. 프로그램에 이용되는 메모리 주소에 관한 설명View Memory 버튼을 눌러 메모리를 확인한다. View 탭에서 Address 1000h - 17FFh(4096 - 6143)을 누르면 1000h 대 주소를 빠르게 확인할 수 있다.1004H: 피보나치 수열의 (n-2)번째 항을 저장하는 주소1005H: 피보나치 수열의 (n-1)번째 항을 저장하는 주소1006H: 피보나치 수열의 n번째 항을 저장하는 주소1007H: 위 세 주소에 저장된 값들의 자리를 바꾸기 위한 임시적인 주소1008H: n의 값이 입력되는 주소. 여기서 n은 2 이상의 값을 가지며, n번째 항을 찾을 것임을 의미한다. 반복을 위해 사용되며 최종적으로는 0의 값을 가짐1009H: 1의 값을 저장하는 주소. 여기에 저장되는 값과 SUB 명령어를 통해서 -1을 함2-2. 명령어 코드에 대한 설명(Code size: 28 Lines)선행 과정:Memory Display 창에서 Edit-Edit Memory를 클릭해 n의 값을 주소지 1008H에 입력한다.1005H에 1을 증가시킨다. 이렇게 하면 1004H, 1005H,즉, 초기 두 항을 각각 0과 1로 설정한 상태이다.LDAC 1005HINACSTAC 1005H1009H에 1을 증가시킨다. 이 주소의 값은 SUB 명령어와 같이 사용하여 -1을 하는데 사용된다. 선행 단계에서 삽입했던 n의 값에 -1을 해주고 다시 저장한다. 이는 바로 뒤에 오는 반복을 위한 작업이다.(JPNZ 명령어를 만나 0이 되면 루프를 빠져나오도록 하였음)여기서 -1을 해주지 않으면 1004H에 n번째 항이 저장된다.즉, 이 여섯 line 중, 아래 네 line을 지워도 n번째 항은 얻어진다.LDAC 1009HINACSTAC 1009HMVACLDAC 1008HSUBSTAC 1008H반복이 시작되는 부분이다. 1004H, 1005H, 즉, (n-2)번째 항과 (n-1)번째 항을 더하여 1006H에 저장하는 명령이다.Repeat: LDAC 1005HMVACLDAC 1004HADDSTAC 1006H임시 저장 주소(Temp)인 1007H를 활용하여 (n-2), (n-1), n번째 항의 자리를 바꾸는 명령이다.1. T ← (n-1)번째 항2. (n-1)번째 항 ← n번째 항3. (n-2)번째 항 ← T((n-1)번째 항)LDAC 1005HSTAC 1007HLDAC 1006HSTAC 1005HLDAC 1007HSTAC 1004Hn의 값에서 다시 -1을 해주는 명령이다.이 값이 0이 되면 Z flag가 1이 되어 루프를 빠져나오게 되고, 그렇지 않으면 루프를 반복한다.LDAC 1009HMVACLDAC 1008HSUBSTAC 1008H프로그램을 빠져 나오게 된다.JPNZ RepeatEND2-3. 명령어 코드에 대한 설명(2)편한 이해와 간략한 표기를 위해 AC, M, R로만 표기하였습니다.LDAC 1005HAC ← M[1005H]INACAC ← AC + 1STAC 1005HM[1005H] ← ACLDAC 1009HAC ← M[1009H]INACAC ← AC + 1STAC 1009HM[1009H] ← ACMVACR ← ACLDAC 1008HAC ← M[1008H]SUBAC ← AC - RSTAC 1008HM[1008H] ← ACRepeat: LDAC 1005HAC ← M[1005H]MVACR ← ACLDAC 1004HAC ← M[1004H]ADDAC ← AC + RSTAC 1006HM[1006H] ← ACLDAC 1005HAC ← M[1005H]STAC 1007HM[1007H] ← ACLDAC 1006HAC ← M[1006H]STAC 1005HM[1005H] ← ACLDAC 1007HAC ← M[1007H]STAC 1004HM[1004H] ← ACLDAC 1009HAC ← M[1009H]MVACR ← ACLDAC 1008HAC ← M[1008H]SUBAC ← AC - RSTAC 1008HM[1008H] ← ACJPNZ RepeatIF (Z=0) THEN GOTO ΓENDEND3. 과정 및 결과선행 과정에서 n의 값을 5로 하였으므로, 5번째 항인 0101(5)를 구하는 과정이다.* 반복문의 시작 1* 반복문의 끝 1* 반복문의 시작 2* 반복문의 끝 2즉, 이 반복을 Z flag가 1이 될 때까지(1008H에 저장된 값이 0이 될 때까지) 반복하게 된다.중간 과정의 반복은 생략하고 최종 반복을 보면 다음과 같다.(중간 반복 생략)* 반복문의 끝 3* 반복문의 시작 (최종)* 반복문의 끝 (최종)▶ Z flag가 1이 되어 루프를 빠져나와 최종적으로 END 명령어를 수행해 프로그램이 종료되었다.3-1. 결과의 분석이는 최종적으로 얻어진 메모리 상태이다. 다섯 번째 항 5(0101)이 메모리 주소 1006H에 저장된 모습이다. 또한 프로그램 실행 전 메모리 주소 1008H에 저장했던 n의 값이 반복을 위해 감소되면서 최종적으로 0의 값을 가지는 것을 확인할 수 있다.4. 코드 수정이 필요한 부분* 임시 저장 주소(1007H)는 사실 상 불필요한 주소이다.- 임시 저장이 필요한 주소는 정렬(Sort)과 같은 코드에 해당하며. 현재 이 프로그 램에서는 굳이 필요한 주소가 아니라는 것을 뒤늦게 알 수 있었다. 따라서 이 부 분의 코드는 다음과 같이 변경 가능하다.
    공학/기술| 2017.04.13| 12페이지| 2,000원| 조회(263)
    미리보기
전체보기
해캠 AI 챗봇과 대화하기
챗봇으로 간편하게 상담해보세요.
2026년 03월 29일 일요일
AI 챗봇
안녕하세요. 해피캠퍼스 AI 챗봇입니다. 무엇이 궁금하신가요?
4:45 오후
문서 초안을 생성해주는 EasyAI
안녕하세요 해피캠퍼스의 20년의 운영 노하우를 이용하여 당신만의 초안을 만들어주는 EasyAI 입니다.
저는 아래와 같이 작업을 도와드립니다.
- 주제만 입력하면 AI가 방대한 정보를 재가공하여, 최적의 목차와 내용을 자동으로 만들어 드립니다.
- 장문의 콘텐츠를 쉽고 빠르게 작성해 드립니다.
- 스토어에서 무료 이용권를 계정별로 1회 발급 받을 수 있습니다. 지금 바로 체험해 보세요!
이런 주제들을 입력해 보세요.
- 유아에게 적합한 문학작품의 기준과 특성
- 한국인의 가치관 중에서 정신적 가치관을 이루는 것들을 문화적 문법으로 정리하고, 현대한국사회에서 일어나는 사건과 사고를 비교하여 자신의 의견으로 기술하세요
- 작별인사 독후감