목록2024/01 (54)
Machineboy空
다음과 같은 과정을 거쳐 실행파일이 된다 1 전처리기 (preprocessor) 본격적으로 컴파일 하기 전에 처리할 작업들 외부에서 선언된 다양한 소스 코드, 라이브러리 포함 (c의 #include) 프로그래밍의 편의를 위해 작성된 매크로 변환 (c의 #define) 컴파일할 영역 명시 (c의 #if, #ifdef ...) 2 컴파일러 (compiler) 전처리가 완료되어도 여전히 소스 코드이다. 이것을 컴퓨터가 이해할 수 있는 저급 언어(어셈블리 언어)로 변환하는 것 3 어셈블러 (assembler) 어셈블리어를 (0과 1로 이루어진)기계어로 변환하는 과정. 목적코드(object file)를 포함하는 목적 파일이 된다. *목적 파일과 실행 파일은 둘 다 기계어로 이루어졌지만 다르다! *목적 파일: 링킹..
저급 언어(명령어)는 어떻게 생겼고 어떻게 동작할까? 사람들의 일반적 명령어 컴퓨터의 명령어 명령어의 구조 연산 코드 (operation code) 오퍼랜드(operand) 수행할 연산 수행할 대상 *연산 코드의 종류와 생김새는 CPU마다 다르지만 공통적인 4가지 연산에 사용될 데이터 혹은 연산에 사용될 데이터가 저장된 위치 ( = 주소 필드 ) *훨씬 더 자주 담기는 것은 주소 필드 공통적 연산 코드 종류 *오퍼랜드는 없을 수도 여러 개일 수도 있다. * call: 함수를 호출하는 명령어 * stack: 한 쪽 끝이 막혀있는 저장 공간, 자료 구조 * queue: 양 쪽 끝이 열려있는 저장 공간, 자료 구조 주소 필드 왜 데이터 값이 아닌 저장된 위치를 사용하는 걸까? 명령어 내에서 저장할 수 있는 데..
우리가 작성한 소스 코드가 어떻게 컴퓨터를 동작시키는 명령어로 변환되는지 고급 언어 High-Level Language 저급 언어 (명령어) Low-Level Language 개발자가 읽고 쓰기 편하게 만들어진 언어 (c++, python, java 등) 컴퓨터가 이해하고 실행하기 위해 만들어진 언어 1) 저급 언어의 종류 기계어 (Machine language) 어셈블리어 (Assembly language) 0과 1로 이루어진 명령어 0과 1로 이루어진 기계어를 사람이 읽기 편한 형태로 번역한 저급 언어 어셈블리어는 소스코드에 명시를 하며 직접 사용하기도 한다. 2) 고급 언어의 종류 컴파일 언어 (Compiled Language) 인터프리터 언어 (Interpreted Language) by 컴파..
문자 집합(character set) : 컴퓨터가 이해할 수 있는 문자의 모음 인코딩과 디코딩 (꼭 문자에 국한해서만 사용되는 것은 아님 ) 인코딩(encoding) : 코드화 ( 문자 >> 0,1로 이루어진 문자 코드 ) 디코딩(decoding) : 코드 해석 ( 문자
정보의 단위 1. 비트(bit) 컴퓨터가 이해하는 기본적 가장 작은 정보 단위 : 0,1 0 = 전기 신호가 약하다. 1 = 전기 신호가 강하다. 프로그램은 수많은 비트(bit)로 이루어져 있다. n비트로 2n^가지의 정보를 표현할 수 있다. bit < byte < killobyte < megabyte < gigabyte < terabyte 1byte 8bit 1kB 1000byte 1MB 1000kB 1GB 1000MB 1TB 1000GB 2. 워드(word) CPU가 한 번에 처리할 수 있는 정보의 크기 단위 예) CPU가 한 번에 32bit씩 처리할 수 있다면 1word = 32bit 하프 워드 (half word) word/2 풀 워드(full word) word 크기 더블 워드(double wo..
수많은 종류의 컴퓨터들 but 작동시키는 핵심 부품은 동일하다. 1. 컴퓨터의 4 가지 핵심 부품 CPU (Central Passing Unit) 컴퓨터의 두뇌 ALU(Arithmetic Logic Unit) 산술연산논리장치 메모리에 저장된 값을 읽어 들이고, 해석하고, 실행하는 장치이다. *CPU는 발열이 심해 대부분 쿨러가 곁에 붙어있음 레지스터 임시 저장 장치 제어장치 (Control Unit) 제어 신호를 발생시키고 명령어를 해석하는 장치 *제어 신호: 컴퓨터 부품들을 관리하고 작동시키기 위한 전기 신호 (메모리 읽기, 메모리 쓰기) 메모리(RAM) 실행할 정보 저장 (휘발성) 어떤 프로그램이 실행되기 위해서는 메모리 안에 저장되어 있어야 한다. ex) 전원을 끄면 작업하던 파일을 날려 버림 메모..