[혼자 공부하는 컴퓨터구조] (3) 명령어
·
💻 CS/🫧 컴퓨터구조
이 글은 강민철님의 혼자 공부하는 컴퓨터구조 + 운영체제를 학습하고 개인적으로 정리한 내용입니다. 들어가며컴퓨터는 우리가 작성한 프로그래밍 언어를 바로 이해할 수 없다.즉, 우리가 아래와 같이 코드를 작성해도 컴퓨터가 이해하고 실행하는 언어와는 다르다는 것이다.이번 장에서는 이렇게 개발자가 작성한 명령어를 어떻게 컴퓨터가 인식할 수 있는지에 대해서 알아본다. 고급 언어와 저급 언어우선, 컴퓨터가 이해하는 언어와 개발자가 이해하는 언어를 아래와 같은 용어로 구분할 수 있다.1) 고급 언어 : 개발자가 이해하기 쉽게 만든 언어 (C, Java 등)2) 저급 언어 : 컴퓨터가 이해하고 실행하는 언어 (기계어, 어셈블리어)  기계어를 사람들이 읽고 쓰기 편하도록 변환한 어셈블리어 또한 저급 언어에 해당된다. 고..
[혼자 공부하는 컴퓨터구조] (2) 데이터
·
💻 CS/🫧 컴퓨터구조
이 글은 강민철님의 혼자 공부하는 컴퓨터구조 + 운영체제를 학습하고 개인적으로 정리한 내용입니다. 들어가며컴퓨터는 기본적으로 0(전기 신호가 약함)과 1(전기 신호가 셈) 밖에 이해할 수 없다.이런 컴퓨터가 1보다 큰 수를 어떤 방식으로 이해할 수 있을까? 이번 장에서는 이렇게 1보다 큰 수를 컴퓨터가 어떻게 이해할 수 있는지에 대해 알아본다. 0과 1로 숫자를 표현하는 방법Bit: 가장 작은 정보 단위 0과 1을 표현하는 가장 작은 정보 단위 n비트로 2^n 가지의 정보를 표현할 수 있다.그리고 이러한 비트들이 모여서 더 큰 단위들로 표현할 수 있다. 이진법0과 1로 수를 표현하는 방법으로, 숫자가 1을 넘어가는 시점에 자리 올림그래서 0과 1밖에 이해하지 못하는 컴퓨터에게 숫자를 알려줄려면 이진수로 ..
[혼자 공부하는 컴퓨터구조] (1) 컴퓨터 구조 시작하기
·
💻 CS/🫧 컴퓨터구조
이 글은 강민철님의 혼자 공부하는 컴퓨터구조 + 운영체제를 학습하고 개인적으로 정리한 내용입니다. 들어가며이번 장에서는 컴퓨터 구조의 큰 그림에 대해서 학습한다. 컴퓨터 구조를 알아야 하는 이유개발자가 컴퓨터 구조(+ 운영 체제)를 알아야 하는 이유가 무엇일까?그 이유는 바로 문제 해결 능력과 성능/비용/용량을 고려한 개발을 할 수 있기 때문이다. 1) 문제 해결문제가 발생하는 원인에는 프로그래밍 언어 문법의 문제일 수도 있으나, 조금 더 깊이 들어가면 컴퓨터의 더 깊은 내부구조에 대한 문제일 수도 있다.이때 컴퓨터 구조에 대한 이해가 없다면 문제를 분석할 수 있는 능력이 없기에 문제 분석을 포기하게 된다.반면, 컴퓨터 구조에 대한 지식이 있는 사람이라면 한 번 들여다 봐야겠다는 시도를 통해 문제 해결 ..