일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- 운영체제 제작
- 쉽게 배우는 운영체제 연습문제
- project euler
- OS 구조와 원리
- Project Euler Problem
- 프라모델
- OS 제작
- OS강의
- 운영체제 문제 풀이
- 쉽게 배우는 운영체제 솔루션
- OS 강의
- os 만들기
- hg
- 운영체제 만들기
- rg
- 맛집
- 건담 엑스포
- Project Euler 해답
- 운영체제
- 건담
- 30일
- 쉽게 배우는 운영체제
- 건담 프라모델
- 쉽게 배우는 운영체제 풀이
- 맛집 추천
- OS 그래픽 처리
- Gundam
- 건프라
- 운영체제 정리
- OS
- Today
- Total
밤색모자이크의 개발이야기
[컴퓨터시스템구조론] 1장. 소개 본문
1. 책의 개요
본 책은 컴퓨터의 구조와 기능에 관한 것이다. 현대 컴퓨터시스템들의 본질과 특성을 가능한 명백하고 완전하게 설명하는 것이 목적이다. 하지만 다음과 같은 두 가지 이유 때문에 용이하지 않다.
a. 컴퓨터라고 불리는 제품들의 종류가 매우 다양하다. 이 다양성은 가격 뿐만 아니라 크기와 성능 및 응용에서도 볼 수 있다.
b. 컴퓨터 기술이 계속해서 급속히 변하고 있다. 이 변화는 집적회로 기술부터 병렬 조직 개념까지 광범위하게 일어나고 있다.
하지만, 변화에도 불구하고 컴퓨터의 몇 가지 근본적인 개념과 원리는 변하지 않고 적용되고 있다.
1) 조직과 구조
기본적으로 컴퓨터 구조와 조직을 구분해야 할 때가 있다.
(1) 컴퓨터 구조 (Computer architecture)
a. 시스템의 기본적 특성들 중에서 프로그래머에게 보이는 부분
b. 프로그램의 논리적 수행에 직접적인 영향을 주는 시스템 특성들을 말함.
c. Ex) 명령어 세트, 데이터의 표현하는 데 사용되는 비트 수, I/O 및 기억장치 주소 지정 방식
(2) 컴퓨터 조직 (Computer organization)
a. 구조에서는 정의한 사항들을 구현하기 위한 연산 유니트들(operational unites)과 상호연결 방식을 말함.
b. Ex) 제어 신호, 컴퓨터와 주변기기 사이의 인터페이스 및 기억 장치 기술
예를 들어, 어떤 컴퓨터가 곱셈 명령어를 가지게 할 것인지의 여부는 구조 설계의 차원에서 결정할 사항이고, 곱셈 명령어가 특수 곱셈 유니트를 이용하여 구현할 건지, 덧셈 유니트를 반복적으로 사용하여 곱셈을 하도록 할 것인지는 조직 설계 차원에서 결정할 사항이다.
많은 컴퓨터 제조회사들은 구조는 같지만 조직은 서로 다른 모델들로 이루어진 같은 계열 컴퓨터들을 생산하여 판매한다. 구조는 적어도 수년간 지속될 수 있고, 여러 개의 모델에 적용하지만, 조직은 기술이 변함에 따라 계속해서 바뀐다. 그 예로 IBM System/370 구조이다. 1970년에 처음으로 소개되었지만, 약간의 구조 보강을 통하여 오늘날까지 IBM 메인프레임으로 남아있다.
2) 조직과 기능
컴퓨터는 복잡한 시스템이기 때문에 명확하게 설명하려면 계층적 특성을 파악하는 것이 가장 명확하고 효과적이다. 복잡한 시스템들의 계층적 특성은 설계자는 설계 과정의 어느 한 시점에서 그 시스템의 어떤 한 계층만 다르면 된다는 것이다. 따라서, 설계자는 각 계층에 대하여 조직과 기능을 결정하면 된다.
a. 조직 : 구성요소들 간의 상호연결 방법
b. 기능 : 조직의 한 부분을 이루는 각 구성요소의 동작
본 책에서는 하향식으로 설명한다.
(1) 기능
컴퓨터가 수행할 수 있는 기본적인 기능은 4가지이다.
a. 데이터 처리 (data processing)
컴퓨터는 데이터를 당연히 처리해야한다. 데이터는 여러 가지 방식들에 의해 표현하고 처리되지만, 우리는 몇 가지만을 살핀다.
b. 데이터 저장 (data storage)
처리를 하기 위해서는 필요한 데이터들을 일시적으로 내부에 저장할 수 있어야한다. 또한 장기적으로 데이터 저장 기능도 가져야한다.
c. 데이터 이동 (data movement)
컴퓨터는 자신과 외부 사이에 데이터를 이동 시킬 수 있어야한다. 이러한 과정을 입출력(I/O)라고 하며 그 장치들을 주변장치(peripheral)라고 한다. 그리고 먼거리로 데이터를 이동시키는 과정을 데이터 통신(data communication)이라고 한다.
d. 제어 (control)
마지막으로 위 3가지 기능을 위한 제어가 필요하다. 궁극적으로 제어는 컴퓨터에게 명령어들을 제공해주는 사용자에 의해 이루어지며, 내부에서는 제어 유니트가 명령어들에 따라 컴퓨터의 자원을 관리하고 효율적으로 사용할 수 있도록 조정한다.
(2) 조직
컴퓨터는 자체의 내부 조직으로 다음과 같은 4가지 구성요소가 있다.
a. 중앙처리장치 (Central Processing Unit : CPU)
컴퓨터의 동작을 제어하고 데이터 처리 기능들을 수행한다. 간단히 프로세서(processor)라고 부르기도 한다.
b. 주기억장치 (Main Memory)
데이터를 저장한다.
c. 입출력 (I/O)
컴퓨터와 외부 장치 사이에 데이터를 이동한다.
d. 시스템 상호연결 (System interconnection)
중앙처리장치, 주기억장치 및 입출력장치들 사이에 통신을 제공하는 메커니즘. 시스템 상호연결의 보편적인 예로는 모든 요소들을 도체선들을 이용하여 접속해주는 시스템버스(system bus)가 있다.
위의 구성 요소들은 각각 한 시스템 내에 한 개 또는 그 이상이 존재할 수 있다. 최근에는 한 컴퓨터 내에 다수의 프로세서를 포함시키는 경우가 늘어나고 있다. 이 중 가장 중요하고 복잡한 요소는 CPU이다. CPU 조직의 주요 요소는 다음과 같다.
a. 제어 유니트 (Control Unit)
CPU의 동작을 제어하고 결과적으로 컴퓨터의 전체 동작을 제어한다.
b. 산술논리연산장치 (Arithmetic and Logic Unit : ALU)
컴퓨터의 데이터 처리 기능들을 수행한다.
c. 레지스터 (Register)
CPU의 내부 저장 공간을 제어한다.
d. CPU 상호연결 (Interconnection)
제어 유니트, ALU 및 레지스터들 간의 통신을 위한 메커니즘을 제공해준다.
제어 유니트를 구현하는 방법에는 여러가지가 있지만, 가장 보편적으로 사용되고 있는 방법은 마이크로프로그램을 이용한 구현(microprogrammend implementation)이다. 근본적으로, 마이크로프로그램을 이용한 제어 유니티는 제어 유니트의 기능을 정의해주는 마이크로명령어(microinstructions)을 실행함으로써 동작한다.
컴퓨터 조직 [출처 : 컴퓨터 시스템 구조론]
참고문헌
![]() |
|