[cs]모형 컴퓨터로 더하기 프로그램 만들기

sy k·2022년 5월 24일
0

CS

목록 보기
2/6
post-thumbnail
post-custom-banner

프로세서와 계산기의 다른점

프로세서의 기본 연산

  • 산술연산
  • 메모리에서 연산을 수행할 데이터를 가져오고 연산 결과 메모리에 저장
  • 버스로 전송되는 신호를 통해 전기적으로 연결된 장치에 대한 입출력을 조정

🔎 프로세서가 계산기와 다른점

  • 프로세서는 결정을 내릴 수 있다
  • 즉 계산기와 달리 사람의 개입 없이도 작동할 수 있다
  • 프로세서는 현재 처리 중인 데이터를 기반으로 다음에 무슨 일을 할지 결정할 수 있으므로 전체 시스템을 운영할 수 있다.


🔎 모형 컴퓨터로 더하기 프로그램 만들기

모형컴퓨터

  • 이론상의 설게를 모방하여 작동하는 프로그램.
  • 명령어와 데이터를 저장하기 위한 메모리, 한 개의 수를 담을 만한 용량의 부가적인 저장 영역인 누산기가 있다.

ㅁ 명령어

  • 작동을 시작하면 프로세서는 인출, 해석, 실행 의 단순한 사이클을 반복

ㅁ 첫 번째 모형 프로그램

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가 추가된 모형 프로세서는 이론상으로는 말 그대로 어떠한 계산이든 수행할 수 있도록 프로그래밍 될 수 있다

ㅁ 수 합산하기 프로그램의 메모리 표현

  • 명령어에 숫자값이 지정되었다고 가정했을때의 메모리 표현
profile
개발자가 되고싶어요
post-custom-banner

0개의 댓글