1) 문제 해결 능력이 향상된다.
2) 성능, 용량, 비용의 중요성을 알게 된다.
ex)분명 코드를 제대로 작성했는데 왜 동작하지지 않는 거지?
→ 내가 편집기에 입력한 소스코드는 잘못된게 아니다.
그렇기 때문에 편집기의 문제로 보는게 아니라 컴퓨터 내부 구조를 탐색하게 된다.
웹에서 클라우드 서비스를 이용하게 하더라도 성능, 용량, 비용을 알아야 한다.
컴퓨터 구조에는 크게 두가지 있다.
컴퓨터가 이해하는 정보
1과 2를 더하라
'안녕하세요'를 출력하라
> 개발자가 작성한 소스 코드
#include<stdio.h>
int main(){
pritf("Hello, World!");
return 0;
}
↓ Compile
> 명령어
01101001111
11011101110
...
컴퓨터에 연결된 하드웨어를 연결하는 전자회로기판
컴퓨터 4가지 핵심 부품이 서로 정보를 주고 받을 수 있는 통로이다.
메모리에 저장된 명령어를 읽어 들이고, 해석하고, 실행하는 부품이다.
1) CPU가 메모리에 저장된 명령어를 읽고 싶으면 CPU가 메모리를 향해서 메모리 읽기 신호를 쏜다.
2) CPU가 메모리에다가 어떤 값을 저장하고 싶으면 메모리 쓰기 신호를 쏘게 된다.
First)
1️⃣ 1번지에 있는 명령어를 실행하고 싶으면 메모리 읽기 신호를 보낸다.
Second)
1️⃣ 메모리는 제어신호(메모리 읽기 신호)를 받았으면 1번지에 있는 명령어를 CPU 내부에 있는 작은 저장장치에 있는 레지스터로 보내게 된다.
2️⃣ 제어장치는 제어신호를 내보내기도 하지만 명령어도 해석하기 때문에 1번 과정으로 읽어 들인 명령어를 해석하게 된다(3번지와 4번지에 저장된 데이터가 필요)
3️⃣ 제어장치는 3번지와 4번지 데이터를 읽기 위해 제어장치에서 메모리 읽기 신호를 보내게 된다.
Third)
1️⃣ 3번지와 4번지에 있는 데이터를 레지스터로 읽어 들이게 된다.
2️⃣ ALU로 계산한다. → 120+100
3️⃣ 레지스터에 값을 저장한다.
Four)
1️⃣ 2번지를 향해서 메모리 읽기 제어신호를 보내게 된다.
Five)
1️⃣ 읽어들인 명령어를 실행 결과 연산결과를 저장한다.(메모리 쓰기)
최종 정리)
위 사진과 같이 메모리 안의 명령어와 데이터를 처리하는데 이와 같은 많은 과정이 수행된다.
계속→
https://www.youtube.com/watch?v=LBqJwmFMQHI&list=PLU9-uwewPMe3IcyM4wJ0C2EYMkcBWBLGM