IT/C_C++_Assembly2011. 12. 20. 14:59

이 글을 쓰는 이유는 어셈블러를 학습하기 전에 컴퓨터에 대한 기본적인 지식을 쌓기 위함입니다.

짧은 글로서 방대한 내용을 다 표현하기 보다 어셈블러를 학습하기 위한 기초적인 이해를 쌓는 것이 저의 가장 큰 목표입니다.

이 글에서 다룰 내용은 다음과 같습니다.

가.   컴퓨터 구조에 대해 이해합니다.

나.   CPU에 대해서 기본적인 이해를 합니다.

 


함께 그럼 가 보겠습니다.

컴퓨터는 무엇으로 구성되어 있을까요?



다음과 같이 하드웨어 + 소프트웨어로 구성되어 있습니다.

그럼 하드웨어의 소프트웨어는 이해는 가시지만 하드웨어에 대해서 간단하게 설명하고 넘어가겠습니다.

 

중앙처리장치(CPU) : 컴퓨터 시스템 전체를 제어하는 장치로서 입력장치에서 입력받은 데이터를 처리한 후 출력장치와 기억장치로 보내는 과정을 수행합니다.

기억장치 : 필요한 데이터를 저장하기 위해 기억장치를 이용합니다. 주기억장치로는 현재 RAM를 이용합니다. 보조기억장치로는 하드디스크, 플로피 디스크, CD-ROM등을 이용합니다.

입출력장치 : 컴퓨터에서 처리할 데이터를 외부에서 입력 받을 수 있게 해 줍니다.(입력장치), 컴퓨터 내부에서 처리된 데이터를 사용자가 보거나 할 수 있도록 출력매체를 이용해서 보냅니다. 마우스, 키보드, 스캐너, 모니터, 스피커 등이 여기에 해당됩니다.

 

자 그럼 여기까지는 문제없이 이해하셨죠.

 

자 그럼 이제 핵심이 되는 CPU에 대한 기초 지식을 쌓아보겠습니다.

CPU종류 : 속도를 더 높이기 위해 하나의 기판에 CPU 1(싱글), 듀얼(2), 쿼드(4)를 구현하고 있습니다. 최근에는 8개가지 하나의 기판 위에 구현하여 속도를 높이고 있습니다.(참고로 쿼드는 인텔과 AMD가 차이가 있습니다. 그리고 AMD에는 CPU 3,6,8개를 구현한 제품도 있습니다.)

쉽게 설명하면 일을 할 때 사람을 한 명을 둔 것을 2,3,…, 여러명으로 늘린 것으로 생각하면 되겠네요. 그만큼 속도는 빨리지겠죠.

 

컴퓨터 구조를 이해하기 쉽게 여러 권을 참고해서 그림을 그려보았습니다. 혹시 잘못된 부분이 있다면 과감한 지적을 부탁드리며 참고해 주세요.


CPU 내부에는 ALU(산술 논리연산장치), 제어장치, 레지스터로 구성됩니다. 그리고 CPU와 주기억장치(RAM), 기타 I/O장치는 Bus라 불리는 것에 의해 연결됩니다. 더 자세히 들어가면 좀 복잡해 질 듯 해서 여기까지 마무리짓겠습니다.

우리가 여기서 어셈블리어를 통해 다룰 부분은 CPU의 레지스터를 많이 다룰 것 같습니다. 이런 형식으로 컴퓨터가 되어 있다고 이해가 되면 다음 단계로 넘어가기가 수월해 지리라 믿습니다. 저는 처음에 어떻게 되는 건지 하나도 모르겠더라구요. 그래서 나름 학습하며 정리해 봅니다.

Posted by 예영교육 연구소