2022. 3. 30. 18:32ㆍC언어
기계어란? |
- 기계 장치에게 연산을 시키기 위해 하는 명령
Assembly |
- Code, Language
- CPU의 제조사 별 Assembly코드가 각각 다르다
- AMD, INTEL = X86기반 프로세서
- ARM = 설계만 한다.
하이레벨, 로우레벨? High Level, Low Level |
- High Level Language = 인간이 사용 하는 언어 ex) C#, Java, C++... 등등을
- Low Level Language = 컴퓨터가 사용하는 언어
인간 (자연어) - High Level |
------------------------------
기계 (기계어) - Low Level |
- C언어는 기계어에 흡사하다고 보면된다.
프로그램의 실행 과정 |
1. 사용자 명령
→ 주기억 장치에서 보조기억장치로 복사
2. 실행 이미지 로드(기계어 포함)
→ 보조 기억창치에서 인스턴스 생성
3. 인스턴스 생성
→ Copy된 것을 Instance라고 함
4. 기계어 코드 실행
→ CPU에서 기계어 코드를 실행한다.
* 프로그램을 실행시켜서 생성된 인스턴스를 프로세스 라고 부른다.
<실행 순서>
1. 주 기억장치 → Copy → 2. 보조 기억장치 → 3. 인스턴스 생성 → Text.exe → 4. 기계어 코드 실행(CPU)
CPU의 연산 |
- CPU 내부에는 소량의 기억장치인 '레지스터' 가 있다.
CPU | |
7 | |
4 | |
3 |
↑ 이 과정에서 '복사'가 일어남
RAM | 3 |
4 | |
7 |
1. 레지스터로 주기억 장치에 있는 '정보'를 가져온다.
2. 그 과정에서 복사가 일어나고 CPU에서 연산을 한다.
3. 결과적으로 7 이 나왔다면 그 값을 어떤 메모리에다가 저장해라고 CPU에서 지정해준다.
* 0x0012FF7C = 0x0012FF70 + 0x0012FF74
②연산 ①연산
- 연산이 총 2번 일어났다
- 2번을 수행할 때 메모리에 변화가 발생
→ 그 전에는 저장되어 있지 않기 때문에 연산 후에 메모리 어디에 변화가 일어났는지가 중요함 '메모리 사용'
'C언어' 카테고리의 다른 글
[5] C언어 입문 (0) | 2022.03.30 |
---|---|
[2] 컴퓨터의 실행 (0) | 2022.03.28 |
[1] 반가산기의 구조 및 컴퓨터의 연산 (0) | 2022.03.28 |