컴퓨터 구조 4

[컴퓨터구조] 명령어의 이해

명령어 저급 언어와 고급 언어 우리가 프로그램을 만들 때 사용하는 프로그래밍 언어는 컴퓨터가 이해하는 언어와 인간이 이해하는 언어로 나뉜다. 여기서 사람을 위한 언어는 고급(high-level) 언어라고 하고, 컴퓨터를 위한 언어는 저급(low-level) 언어라고 한다. 즉, 고급 언어로 작성된 소스 코드가 실행되려면 반드시 저급 언어, 즉 명령어로 변환되어야 한다. 먼저 명령어로 이루어진 저급 언어에 대해 다뤄보자. 저급 언어에는 기계어와 어셈블리어 두 가지 종류가 있다. 기계(machine)어는 0과 1의 명령어 비트로 이루어진 명령어 모음이다. 기계어는 이진수로 이루어져 있지만, 가독성을 위해 아래와 같이 16진수로 표현하기도 한다. 하지만 오로지 컴퓨터만을 위해 만들어진 기계어는 사람이 읽으면 ..

CS/컴퓨터구조 2023.06.03

[컴퓨터구조] 데이터의 이해 (2)

문자 표현 개요 문자를 0과 1의 의진 코드로 변환하는 메커니즘을 공부하기에 앞서, 문자 표현과 관련된 기본적인 용어들을 간단하게 살펴보자. 먼저 문자 집합(character set)이라는 개념이 존재한다. 이는 컴퓨터가 인식하고 표현할 수 있는 문자의 집합체를 의미한다. 컴퓨터는 이러한 문자 집합에 포함된 문자들만 인식 가능하다. 하지만 문자 집합에 속한 문자라 하더라도 컴퓨터가 바로 이해하는 것은 아니다. 사람이 이해하는 문자를 컴퓨터가 이해할 수 있는 이진 코드, 즉 0과 1로 변환해야만 컴퓨터가 인식하고 처리할 수 있다. 이처럼 인간이 이해하는 정보를 컴퓨터가 처리할 수 있는 형태로 변환하는 과정을 인코딩(encoding)이라고 한다. 반대로 컴퓨터가 처리하는 정보를 인간이 이해할 수 있는 형태로..

CS/컴퓨터구조 2023.06.02

[컴퓨터구조] 데이터의 이해(1)

정보 단위와 진법 개요 데이터는 정적인 정보로서 컴퓨터에서 처리하는 기본적인 단위다. 이는 정보를 구성하는 최소 단위인 비트로(bit)로 이루어져 있으며, 0과 1로 표현된다. 따라서 1비트는 2개의 데이터를 가질 수 있고, n비트는 2^n가지 정보를 표현할 수 있다. 데이터는 이 비트들이 모여서 더 큰 단위인 바이트(Byte)를 형성하게 된다. 바이트는 일반적으로 8비트로 구성되며, 컴퓨터에서 데이터를 저장하고 처리하는 기본 단위로 사용된다. 바이트 또한 더 큰 단위로 묶일 수 있는데, 1000바이트가 모여 1킬로바이트(kB, Kilobyte)가 되고, 1000킬로바이트가 모여 1메가바이트(MB, Megabyte), 1000메가바이트가 모여 1기가바이트(GB, Gigabyte), 1000기가바이트가 모..

CS/컴퓨터구조 2023.06.01

[컴퓨터구조] 개요

컴퓨터 구조 개요 왜 공부해야 할까? 컴퓨터 구조는 기본적으로 컴퓨터 시스템의 디자인과 기능을 다룬다. 이는 하드웨어와 소프트웨어가 어떻게 통합되어 작동하는지, 그리고 컴퓨터가 어떻게 정보를 처리하고 저장하는지에 대한 근본적인 이해를 제공한다. 언뜻 생각해 보면 알 수 없는 컴퓨터 부품과 케이블, 복잡한 회로와 같은 이미지가 떠올라 프로그램 개발과는 큰 관련이 없어 보인다. 하지만, 컴퓨터 구조는 실력 있는 개발자가 되려면 반드시 알아야 할 기본적인 지식이다. 그 이유는 다음과 같다. 문제 해결: 컴퓨터 내부를 분석하고 문제를 해결하는 능력을 기르게 해줌 성능, 용량, 비용: 자신이 작성한 코드를 성능, 용량, 비용의 관점에서 분석할 수 있는 능력을 기르게 해 줌. 즉, 컴퓨터 구조를 이해하고 있다면 문..

CS/컴퓨터구조 2023.05.26