프로세서와 계산기의 다른 점
컴퓨터의 ‘두뇌’라고 불리는 프로세서는 컴퓨터에서 가장 중요한 구성 요소이다.
- CPU : 디바이스가 해야할 일을 총 지휘하는 프로세서
- 보조프로세서(Coprocessor) : CPU의 기능을 보조하는 프로세서
- 마이크로프로세서(Mircro Processor) : PC나 소형 디바이스에 장착된 프로세서
- Core : 프로세서의 핵심 연산 장치.
- 제어장치(Control Unit) ; 소프트웨어를 읽고 하드웨어의 다른 부분으로 신호를 보냄
- 연산장치(ALU, Arithmetic Logic Unit) : 덧셈, 뺄셈 등 사칙연산과 AND, OR와 같은 논리연산 등을 담당
- 레지스터
- JTAG, 내부 버스, 캐시(Cache) 등…
- 산술 연산을 할 수 있어 계산기처럼 수를 더하고 빼고 곱하고 나눌 수 있음
- 메모리에서 연산을 수행할 데이터를 가져오거나 연산 결과를 메모리에 저장할 수 있음 (계산기에 있는 메모리 기능과 비슷함)
- 컴퓨터의 나머지 부분을 제어, 버스로 전송되는 신호를 통해 마우스, 키보드, 디스플레이, 기타 전기적으로 연결 된 모든 장치에 대한 입력과 출력을 조직화하고 조정함
- 현재 처리 중인 데이터를 기반으로 다음에 무슨 일을 할지 결정할 수 있음
- 사람의 개입 없이 독립적으로 수행 가능 (스스로 전체 시스템 운영 가능)
- 초당 수십억 번의 연산을 수행할 수 있어 고도로 정교한 계산이 가능
모형 컴퓨터로 더하기 프로그램 만들기
- 명령어와 데이터를 저장하기 위한 메모리가 있음
- 한 개의 수를 담을 만한 용량의 부가적인 저장 영역인 누산기(accumulator)가 있음
(누산기는 계산기에서 사용자가 가장 최근에 입력한 수나 가장 최근의 계산 결과를 담고 있는 디스플레이와 유사함)
프로그램은 메모리에 저장된 일련의 명령어와 데이터 항목으로 구성된다.
작동을 시작하면 프로세서는 첫 번째 메모리 위치에서 시작해서 다음과 같이 단순한 사이클을 반복한다.
- 인출(Fetch) : 메모리에서 다음 명령어를 가져옴
- 해석(Decode) : 명령어가 무슨 일을 하는지 알아냄
- 실행(Execute) : 명령어를 실행, 인출 단계로 되돌아감
- 원하는 작업을 수행할 일련의 명령어를 (이진수)메모리 할당 및 실행
- 사용자에게 입력 요청 (하나 이상의 값)
- 사용자에게 받은 입력값 연산 후 출력
- 프로그램 종료
모형 컴퓨터에서 각 명령어 옆에서는 주석(comment)이 따라오는데, 프로그래머에게 도움을 주는 해설 자료라고 할 수 있다.
(주석은 프로그램에 영향을 미치지 않음)
프로그램을 확장하여 연산할 입력값을 더 추가하고 싶다면 STORE, GET, ADD 명령으로 추가 할 수 있다. 하지만 입력값의 개수가 몇개가 더 추가 될지 또는 수백개 수천개의 입력값이 추가 된다면 쉽지 않을 것이다. 그래서 분기 명령어를 사용한다. IFZERO, GOTO 명령어를 사용하여 조건에 따라 입력값을 추가로 받을 수도 있고 종료할 수도 있다. 우리가 일반적으로 프로그래밍에서 사용하는 조건문(if, else-if, else)와 같은 개념이다.
엄청 열심히 쓰시네요
저도 본받아야겠어