컴퓨터 구조 3

ALU와 제어장치

CPU 내부에는 ALU, 레지스터, 제어장치가 있다.ALU: CPU 내부에서 계산하는 장치제어장치: CPU 내부에서 제어 신호를 발생시키고 명령어를 해석하는 장치 ALU계산을 하기 위해서는 피연산자와 수행할 연산이 필요하다.ALU는 레지스터로부터 피연산자를 받아들이고 제어장치로부터 제어 신호를 받아들인다. 결과값은 레지스터에 전달한다.결과값을 메모리가 아닌 레지스터에 전달하는 이유는 CPU가 메모리에 접근하는 것보다 레지스터에 접근하기 더 빠르기 때문이다. 레지스터는 CPU의 내부에 있기 때문이다.ALU는 연산 결과에 대한 부가 정보인 ‘플래그’도 전달한다. 플래그에 양수, 음수에 정보도 포함되어 있다.연산 결과가 레지스터에 담기 어려울 정도로 크다면 ‘오버플로우’가 일어난다.플래그 정보이런식으로 저장된..

C언어의 컴파일

전처리기 (Preprocessor)본격적으로 컴파일하기 전에 처리할 작업들외부에 선언된 다양한 소스 코드, 라이브러리 포함 (#include) 라이브러리 소스들을 진짜로 가져오는 과정이라고 생각하면 된다.프로그래밍의 편의를 위해 작성된 매크로 변환 (#define)컴파일할 영역 명시 (#if, #ifdef)확장자 변환: test.c → test.igcc hongong.c // gcc컴파일러 이용, ./a.out 이라는 실행파일이 생성된다.컴파일 과정 (Compiling)전처리가 완료되어도 여전히 소스 코드전처리가 완료된 소스 코드를 저급 언어(어셈블리 언어)로 변환gcc -S hongong.i -o hongong.s  어셈블 과정 (Assembling)어셈블리어를 기계어(컴퓨터가 알아들을 수 있는 0과..

프로세스

1. 컴퓨터의 구조  1) 저장장치(Storage): SSD/HDD  2) 메모리: RAM  3) 중앙처리장치(Processor): CPU Storage와 메모리는 둘다 정보를 저장하는 목적을 가지고 있다.Storage는 가격이 싸고 메모리는 비싸다.가격이 싸다 = 저장용량이 크지만 저장속도가 매우 느리다.CPU는 처리속도가 매우 빨라서 Storage가 따라가기 어렵다. 프로그램은 Storage에 깔려 있는데 프로그램을 동작시킬 때는 프로그램을 읽어와 메모리에 적재시킨다. 사용하지 않는 프로그램은 메모리에 적재시키지 않고 적재된 것은 CPU에서 처리한다. 그리고 실행되고 있는 상태의 프로그램을 프로세스(Process)라고 한다. Storage가 느리기 때문에 메모리에 적재시켜 사용한다.  2. 프로세스 ..

리눅스/정보 2025.03.14