728x90
프로세서와 계산기의 다른점
프로세서의 기본 연산
- 산술연산
- 메모리에서 연산을 수행할 데이터를 가져오고 연산 결과 메모리에 저장
- 버스로 전송되는 신호를 통해 전기적으로 연결된 장치에 대한 입출력을 조정
🔎 프로세서가 계산기와 다른점
- 프로세서는 결정을 내릴 수 있다
- 즉 계산기와 달리 사람의 개입 없이도 작동할 수 있다
- 프로세서는 현재 처리 중인 데이터를 기반으로 다음에 무슨 일을 할지 결정할 수 있으므로 전체 시스템을 운영할 수 있다.
🔎 모형 컴퓨터로 더하기 프로그램 만들기
모형컴퓨터
- 이론상의 설게를 모방하여 작동하는 프로그램.
- 명령어와 데이터를 저장하기 위한 메모리, 한 개의 수를 담을 만한 용량의 부가적인 저장 영역인 누산기가 있다.
ㅁ 명령어
- 작동을 시작하면 프로세서는 인출, 해석, 실행 의 단순한 사이클을 반복
ㅁ 첫 번째 모형 프로그램
GET
PRINT
STOP
- 첫 번째 명령어는 사용자에게 수를 입력하도록 요청, 두 번째 명령어는 그 수를 출력, 세 번째 명령어느 프로세서에 중지하라고 명령
ㅁ 두 번째 모형 프로그램
GET //첫 번째 수를 입력받아 누산기에 넣는다.
STORE FirstNum //FirstNum이라는 메모리 위치에 첫 번쨰 수를 저장
GET //두 번째 수를 입력받아 누산기에 넣는다.
ADD FirstNum // 첫 번째 수를 누산기에 있는 값에 더한다
PRINT //결과 합계 값을 출력한다.
STOP //프로그램 실행을 중지한다.
FirstNum: //첫 번째 입력 수를 담을 메모리 위치
- 프로그램이 수정되면 데이터의 위치가 바뀔 수도 있으므로 고정된 번호 대신 데이터 위치에 이름을 부여.
ㅁ 분기 명령어
Top : GET //수를 입력받아 누산기에 넣는다
PRINT //수를 출력한다
GOTO Top //Top으로 돌아가서 다른 수를 입력받는다.
- 프로세서가 프로그램의 앞부분으로 돌아가서 명령어 처리를 반복하도록 가능
- 루프를 멍추려면 또 다른 종류의 명령어가 필요, 조건을 검사하여 다음에 수행할 작업을 결정하는 명령어. 이러한 종류의 명령어를 조건부 분기, 조건부 점프라고 한다.
Top : GET //수를 입력받아 누산기에 넣는다
IFZERO Bot //누산기 값이 0이면 Bot 레이블이 붙은 명령어로 이동
PRINT //누산기 값이 0이 아니므로 그 값을 출력
GOTO Top //Top으로 돌아가서 다른 수를 입력 받음
Bot : STOP
- 명령어 레퍼토리에 IFZERO가 추가된 모형 프로세서는 이론상으로는 말 그대로 어떠한 계산이든 수행할 수 있도록 프로그래밍 될 수 있다
ㅁ 수 합산하기 프로그램의 메모리 표현
- 명령어에 숫자값이 지정되었다고 가정했을때의 메모리 표현
728x90