Skip to content

Latest commit

 

History

History
54 lines (28 loc) · 5.83 KB

File metadata and controls

54 lines (28 loc) · 5.83 KB

20241021 Chapter 01_02. 컴퓨터 구조 시작하기

질문자 : 최은혜

답변자 : 양지웅, 이강현, 오유진, 최다환

범위 : [혼자 공부하는 컴퓨터 구조 + 운영체제]
01-1. 컴퓨터 구조를 알아야 하는 이유
01-2. 컴퓨터 구조의 큰 그림


Q1. 컴퓨터의 4가지 핵심 부품을 각각 하나씩 선택하여 설명해주세요.

양지웅 : 컴퓨터의 부품에는 CPU가 있습니다. CPU는 메모리에 있는 데이터와 명령어를 읽어와서 해석하고 실행하는 역할을 합니다. CPU의 내부에는 연산 산술 장치와 레지스터, 제어장치가 있습니다.

이강현 : 메모리는 현재 실행 중인 프로그램에 데이터 명령어들을 저장하는 부품입니다.

오유진 : 저는 보조기억장치에 대해 말씀드리겠습니다. 프로그램이 꺼진다면 메모리 데이터가 날아갈 수 있기때문에, 보조로 저장하는 용도로 보조 기억장치가 사용됩니다.

최다환 : 마지막으로 입출력장치가 있습니다. 입출력 장치는 키보드, 마우스와 같이 외부에서 컴퓨터 앱으로 정보를 전달해줍니다. 이때 보조저장장치도 입출력장치로 볼 수 있습니다.

Q2. 시스템 버스에는 주소버스, 데이터버스, 제어버스가 있습니다. 이 각각의 역할이 어떤것인지 설명하세요. 그리고 CPU가 메모리 속 명령어를 읽어들이기 위해서 제어 장치의 [메모리 읽기] 라는 신호를 보냈을때, 어떻게 작동하는지 설명해주세요.

오유진 : 시스템버스는 컴퓨터의 4가지 핵심 부품이 정보를 전달하는 역할을 합니다. 주소 버스는 주소를 전달하는데 사용되고, 데이터버스로는 명령어와 데이터가 전달되고, 제어버스로는 제어 신호를 주고받습니다. 그리고 제어장치에 명령어로 [읽기]를 하게된다면 어떤데에서 메모리를 읽을 것인지 주소와 함께 메모리에 있는 명령어를 읽습니다. 또한 제어장치를 통해 명령어를 해석하고 필요에 따라 레지스터의 값을 저장하는 형식으로 진행됩니다.

이강현 : 주소 버스는 메모리에 있는 주소를 전달하는데 사용되는 버스이고, 데이터 버스는 데이터 명령어들을 교환하는데 사용되는 버스입니다. 그리고 제어버슨느 제어신호를 주고받는데 사용하는 버스입니다. 제어장치에서 [메모리 읽기]가 발생한다면 이를 실행하기 위해, 제어신호를 통해 명령어를 읽어오겠다고 전달하고, 메모리에서 전달받은 명령어를 가지고 필요에 따라 데이터를 가져올때 데이터를 레지스터에 임시저장해서 사용합니다.

양지웅 : 시스템 버스에는 대표적으로 제어신호가 이동하는 제어 버스, 데이터가 이동하는 데이터 버스, 주소가 이동하는 주소 버스가 있습니다. 메모리의 데이터를 읽어오라는 명령어가 있으면, 이 명령어는 제어버스를 통해 CPU로 이동하고, CPU에서 이 명령어를 해석해서 데이터를 읽어와야한다면 주소버스를 통해 해당 주소로 이동합니다. 그리고 데이터 버스를 통해 데이터를 받아오게됩니다.

Q3. 2의 보수법에 대해 설명해주세요.

양지웅 : 2의 보수법은 0과 1을 전부 바꾼다음에 더하기 1을 한것이 2의 보수법입니다. 이런식으로 계산을 하는 이유는 더했을때 0이 된다는 것과 맞기 때문에 이런식으로 계산을 하고, 음수의 경우에는 이진법을 갖고 있는 수가 존재할 수 있기 때문에 플래그를 사용해서 0과 1로 음수인지 양수인지를 표현하기도합니다.

Q4. 문자 집합과 문자 encoding, 문자 decoding에 대해 설명해주세요.

최다환 : 문자 집합은 컴퓨터가 이해할 수 있는 문자를 모아놓은 것을 말합니다. 그래서 컴퓨터는 이 문자 집합에 들어있지 않은 것을 이해하거나 해석할 수 없습니다. 문자 인코딩은 이러한 문자 집합에 있는 것들을 컴퓨터가 이해할 수 있도록 0과 1로 바꾸는 것을 의미합니다. 문자 디코딩은 0과 1로 이루어진 컴퓨터가 이해할 수 있는 문자를 사용자가 이해할 수 있도록 바꾸는 것을 의미합니다.

Q5. 아스키 코드에 대해 설명해주세요.

오유진 : 아스키 코드는 알파벳이나 숫자, 특수 문자들을 번호롤 1대 1 매칭하여 쉽게 사용할 수 있는 코드입니다. 대문자 A의 아스키코드는 65, 소문자 a의 아스키코드는 97, 숫자 0의 아스키코드는 48입니다.

Q6. EUC-KR에 대해 설명해주세요

최다환 : EUC-KR을 설명하기전에 한글을 리코딩하는 방법에 대해 먼저 설명드리겠씁니다. 한글은 초성, 증성, 종성으로 이루어져있기때문에 조합형과 완성형으로 나뉩니다. 완성형은 초성, 중성, 종성을 모두 합쳐놓은 것들을 그 숫자로 표현할 수 있게 만들어놓은 것이고, 조합형은 초헝을 위한 비트열, 좃엉르 위한 비트열, 종성을 위한 비트열을 따로 할당하고 이를 조합하여 하나의 글자 코드를 만드는 방법입니다. 이때 EUC-KR은 완성형 종합인데모든 한글을 표현할 수 없다는 한계가 있어서 등장한것이 CP949입니다.

Q7. 유니코드와 UTF-8에 대해 설명해주세요.

양지웅 : EUC-KR같은 경우 사용하는 언어마다 전부 다른 코드를 사용해야한다는 불편함이 있기때문에, 하나의 코드로 모든 언어를 사용하기 위해 등장한 것이 유니코드이고 그중 대표적인것이 UTF 8입니다. UTF 8은 1bit, 2bit, 3bit 등으로 각각의 문자를 정해놓고 거기에 해당하는 것으로 사용하는데 한글은 여기서 3bit에 속해있습니다.