C 마이크로프로세서 프로그래밍: 두 판 사이의 차이

내용 삭제됨 내용 추가됨
Dolicom (토론 | 기여)
분류 추가 마이크로프로세서 응용
Dolicom (토론 | 기여)
9번째 줄:
 
=== ALU의 논리연산 ===
 
C언어에서 사용한 연산자 중에 많은 경우 ALU을 통해 이루어진다. 마이크로프로세서의 응용 부분중에 MCU와 임베디드 응용분야에 사용하는 많은 마이크로프로세서는 정수형 ALU을 갖는다. 실수연산이 필요한 경우, 부동 소숫점에 의한 로직은 포함하지 않는 경우 여러 번의 정수형연산을 통해 실수형의 계산이 이루어진다.
 
=== 레지스터와 변수 ===
 
변수 선언을 하면 데이터를 조작하기 위해 메모리 등에 공간이 확보되고 이것은 데이터를 복사하거나 ALU 연산을 하기 위해 우선 레지스터로 데이터가 옮겨온다. 데이터의 전송을 위해 레지스터를 사용하여 중간 다리 역할을 하는 경우가 많다.
C언어의 수치 연산자 등을 사용하면 레지스터에 데이터를 가져오고, 레지스터는 다시 ALU 디지털회로에 연결되어 연산이 이루어진다. ALU 연산 결과는 다시 레지스터로 옮겨져 처리된다.
 
이런 과정을 통해 데이터가 처리되므로 레지스터의 비트수는 데이터 처리 단위이기도 하고 조작 단위이기도 하다. 따라서 레지스터와 ALU에 의해 한 번에 처리되는 단위는 변수와 밀접한 관계를 갖는다.
 
=== 변수의 초기값과 어셈블리 ===