프로세서에는 수행할 수 있는 기본 연산들의 레퍼토리가 있다.
산술 연산을 할 수 있기 때문에 계산기처럼 작동할 수 있고, 메모리에서 연산을 수행할 데이터를 가져오거나 연산 결과를 메모리에 저장할 수 있다.(계산기의 메모리 기능과 유사)
뿐만 아니라 버스로 전송되는 신호를 통해 마우스, 키보드, 디스플레이 기타 전기적으로 연결된 모든 장치에 대한 입출력을 조직화하고 조정하기도 한다.
프로세서와 계산기가 다른 점은 프로세서는 '결정할 수 있다'는 것이다.
수나 다른 종류의 데이터에 대해 대소관계나 일치 여부를 비교할 수 있고, 그 결과에 따른 다음 일을 결정할 수 있다.
"기계는 특성상 완전히 자동이 되어야 한다. 즉, 계산이 시작한 후에는 운영자에 독립적이어야 한다."
폰 노이만
프로세서는 이처럼 현재 처리 중인 데이터를 기반으로 다음에 무슨 일을 할지 결정할 수 있기 때문에 스스로 전체 시스템을 운영할 수 있다.
연산 장치 : (ALU, Arithmetic and Logic Unit) 산술연산 및 논리연산(논리곱/합 등)을 수행한다. 이 때문에 프로세서를 산술논리연산장치라고도 한다. 연산에 필요한 데이터는 레지스터에서 가져오고, 연산이 끝나면 다시 레지스터로 반환한다.
제어 장치: 프로세서는 명령어가 순서대로 실행될 수 있도록 제어한다. 명령어를 꺼내서 해독하고 명령어 실행에 필요한 신호들을 각종 장치로 보낸 뒤, 그 다음에 처리할 신호나 동작을 결정한다.
명령어 사이클
명령어 사이클 : 프로세서(CPU)가 프로그램을 실행하기 위해 주기억장치에서 명령어를 가져오고 해독하고 실행하는 것을 반복하는 과정
1. 명령어 인출: 주기억장치에서 필요한 명령어를 순차적으로 가져옴
2. 명령어 해독: 호출된 명령어 해석
3. 명령어 실행: 해석된 명령어를 산술/논리 연산장치를 통해 실행
4. 저장: 수행결과를 주기억장치에 저장
(반복)
프로세서(CPU)의 동작 과정
1. 처리해야 할 데이터를 주기억장치(RAM)에서 불러와 제어장치 안의 레지스터에 전달한다.
2. 제어장치는 연산 코드를 해석하고 무슨 연산을 해야 하는지 결정해서 연산장치에 전달한다.
3. 연산장치가 해당 연산을 진행하고 결과를 누산기에 저장한다.
4. 연산 결과를 외부 시스템 버스를 통해 다시 RAM으로 전송한다.
프로세서 레지스터 (processor register)
컴퓨터의 프로세서 내에서 자료를 보관하는 아주 빠른 기억 저장소. 일반적으로 현재 계산을 수행중인 값을 저장하는 데 사용된다. 보통 주기억장치에서 레지스터로 데이터를 옮겨와 데이터를 처리한 후 그 내용을 다시 주기억장치로 저장한다. (로드-스토어 설계)
모형컴퓨터 : 이론상의 설게를 모방하여 작동하는 프로그램
GET
PRINT
STOP
GET | 첫 번째 수를 입력받아 누산기에 넣는다.
STORE FirstNum | FirstNum이라는 메모리 위치에 첫 번쨰 수를 저장
GET | 두 번째 수를 입력받아 누산기에 넣는다.
ADD FirstNum | 첫 번째 수를 누산기에 있는 값에 더한다
PRINT | 결과 합계 값을 출력한다.
STOP | 프로그램 실행을 중지한다.
FirstNum: | 첫 번째 입력 수를 담을 메모리 위치_
Top : GET | 수를 입력받아 누산기에 넣는다
IFZERO Bot | 누산기 값이 0이면 Bot 레이블이 붙은 명령어로 이동
PRINT | 누산기 값이 0이 아니므로 그 값을 출력
GOTO Top | Top으로 돌아가서 다른 수를 입력 받음
Bot : STOP
1일 1로그 100일 완성 IT 지식 (저자 : 브라이언 W.커니핸)
https://foxtrotin.tistory.com/144
https://ko.wikipedia.org/wiki/%ED%94%84%EB%A1%9C%EC%84%B8%EC%84%9C_%EB%A0%88%EC%A7%80%EC%8A%A4%ED%84%B0