Presentation is loading. Please wait.

Presentation is loading. Please wait.

3-digit Computer 2017. 3. 15 순천향대학교 컴퓨터공학과 하상호.

Similar presentations


Presentation on theme: "3-digit Computer 2017. 3. 15 순천향대학교 컴퓨터공학과 하상호."— Presentation transcript:

1 3-digit Computer 순천향대학교 컴퓨터공학과 하상호

2 3 digit 컴퓨터 메모리 레지스터 주소: 0 ~999 한 주소에 3자리까지 저장 가정 R0, R1, …, R9 (10개)
레지스터에 3자리 숫자까지 사용 가능 모든 레지스터는 000으로 초기화 가정

3 3 digit 컴퓨터

4 3 digit 컴퓨터 프로그램 일련의 연속된 명령어들로 구성 파일로부터 명령어들을 읽어 들여서 메모리에 저장
프로그램은 메모리의 0번지 명령어부터 실행 명시되지 않은 부분의 메모리는 000으로 초기화 모든 연산 결과는 모듈러 1000으로 계산

5 3 digit 컴퓨터 다음 프로그램 의미는? 299 1 492 2 495 3 399 4 5 6 7 283 8 279 9 689 10 078 11 100 12 000

6 보고서#2: 3 digit 컴퓨터의 해석기 설계 3 digit 컴퓨터 해석기의 요소 M[1000] ; 메모리
R[10] ; 레지스터 input() ; 입력기 프로그램을 파일로부터 읽어 들여서 메모리에 저장 Interpreter() ; 해석기 다음과 같은 실행-주기로 메모리 0번지부터 명령어를 가져와서 실행 Fetch() ; 메모리로부터 한 개 명령어를 가져와서 R0에 저장 Decode() ; 명령어를 해석하고(명령어와 피연산자들을 식별) Execute() ; 해당 함수를 호출하여 명령어를 해석 print() ; 결과 출력 실행된 명령어의 개수 레지스터 파일, 메모리 파일 출력

7 main() // M, R 선언 int main() { int counter; // 실행된 명령어의 개수 추적
init(); // M, R을 초기화 input(); // 프로그램을 메모리에 저장하고, counter = interpreter(); // 프로그램을 실행하라 print(counter, M, R); // 결과를 출력하라 return 0; }

8 Interpreter() interpreter() R1 <- 0; // 첫번째 명령어를 가져오고,
do // 명령어를 실행한다. fetch(); // 메모리로부터 명령어를 가져와서 decode(); // 명령어를 해석하고: // (opcode, opnd1, opnd2) execute(); // 명령어를 실행시킨다: // call opcode(opnd1, opnd2) while (halt가 실행될 때까지 반복); End interpreter

9 테스트 (1) 예제 프로그램을 실행시키고 그 결과를 출력하라. 출력: 실행된 명령어 개수 299 1 492 2 495 3
299 1 492 2 495 3 399 4 5 6 7 283 8 279 9 689 10 078 11 100 12 000

10 테스트 (2) 다음 프로그램을 작성하고 실행시켜라.
1부터 100까지 홀수만을 더하는 프로그램을 3-digit 컴퓨터의 명령어를 이용하여 작성하라. 3-digit 컴퓨터 해석기를 이용하여 작성된 프로그램을 파일로부터 읽어들여서 실행시켜라. 프로그램 실행 결과 값을 메모리 500 번지에 저장하라. 출력: 실행된 명령어 개수, 프로그램 실행 결과 값, 메모리, 레지스터 그 결과를 설명하라.


Download ppt "3-digit Computer 2017. 3. 15 순천향대학교 컴퓨터공학과 하상호."

Similar presentations


Ads by Google