아무거나 상자

경원이 숙제해준 것.

2xplay 2004. 3. 31. 18:23
컴퓨터 기본 하드웨어 설명

오늘날 대부분이 접하고 있는 대중적인 의미의 '컴퓨터' 구조는 폰 노이만 (Von Neumann)이 만든 아키텍처를 기본으로 하고 있다. 폰 노이만 아키텍처 컴퓨터는 5개의 부분으로 나뉘어져 있다 : an arithmetic-logic unit, a control unit, a memory, some form of input/output and a bus that provides a data path between these parts. 이 가운데 arithmetic-logic unit과 contril unit이 CPU (central processor unit) 를 이룬다.

CPU는 모든 수치 연산과 논리 연산을 담당하고, 전체 시스템을 제어한다. memory는 컴퓨터 프로그램이 실행될 때 필요한 명령어와 데이터를 저장하고 CPU와 데이터를 주고 받는다. I/O 유닛은 입력을 받거나 계산된 결과를 출력하는 등 유저가 컴퓨터 시스템을 사용할 수 있도록 하는 인터페이스 부분을 담당한다. bus는 data bus, control bus, address bus 등으로 나뉘어지며 시스템의 각 유닛들간의 연결을 담당한다.

CPU와 memory는 컴퓨터 시스템의 가장 최소한의 구성 요소이다. 결과를 표시할 필요가 없거나 추가적인 데이터 저장이 필요없는 경우 I/O 유닛과 보조 저장 장치등은 사용할 필요가 없지만 주 연산 장치와 연산에 필요한 데이터를 저장할 메모리는 반드시 갖춰야 컴퓨터 시스템으로 볼 수 있다.

현재의 컴퓨터는 폰 노이만이 만든 아키텍처를 기본으로, 실시간으로 일어나는 인터럽트와 이벤트등을 처리하기 위한 부분들을 추가로 갖추고 있다.

*Fetch-decode-execute cycle
Von Neumann Architecture computer의 특징중 하나는 명령어를 한번에 하나씩 순차적으로 실행한다는 데 있다. 여러개의 명령이 들어오면, CPU 내부에 있는 clock에서 발생시키는 clock cycle time에 맞춰 한 클럭에 한 개씩 명령어를 수행하며, 명령어 수행은 fetch-decode-execute 사이클에 따라 실행한다.

1.
fetch : CPU가 수행해야 할 명령어를 메모리로부터 가져온다. CPU는 ALU, CU, register (PC (program counter), MBR, MAR, etc..) 등으로 구성되어 있고 각 레지스터를 참조하여 현재 수행하는 명령어와 다음에 수행할 명령어를 결정한다.

2.
decode : 메모리로부터 가져온 명령어를 분석하여 실제로 CPU가 어떤 연산을 수행해야 하는지를 결정한다. 이 작업은 CPU내의 CU (control unit)에서 담당한다.


3.
execute : 실제 연산을 하는 단계. 이 단계가 끝나면 다시 fetch 단계로 돌아가 새로운 사이클을 시작한다.


*RAM
Turing machine 과는 다르게 Von Neumann architecture computer 에서는 memory 유닛이 random-access memory (RAM) 으로 구성된다. RAM은 현재에 이어지는 operation들을 메모리의 아무데서나 읽고 쓸 수 있도록 한 것이다. 즉, 순차적으로 access하게 되면 이전 명령어를 작업했던 부분에 이어서 실행해야 하는데 RAM에서는 이전 operation의 위치에는 독립적으로 메모리의 임의의 위치에 접근하여 작업을 수행한다.

보조 기억 장치는 하드디스크나 플로피 디스크, 시디롬등 값싸고 대용량의 데이터를 저장할 수 있는 장치들이다. 메모리에 비해 상대적으로 느린 속도를 가졌다.
입력 장치에는 키보드, 마우스, 스캐너, 디지타이저등이 있으며 컴퓨터로 다양한 데이터를 처리하게 되면서 점차 각각의 목적에 맞는 입력 장치들이 개발되고 있다. 좀 더 현실감 있는 게임을 즐기기 위한 핸들, 조이스틱, 페달등도 전부 입력 장치에 속한다.
출력 장치에는 모니터와 프린터가 있으며 소리를 듣기 위한 스피커도 출력 장치에 속한다. 출력 장치 또한 다양한 형태로 정보를 디스플레이하려는 목적에 맞춰 가상 현실 장치등이 속속 개발되고 있다.


======================
컴퓨터에 롬(ROM) 과 램(RAM)이 필요한 이유를 설명하고 이 둘의 차이점에 대해서 설명하시오.

ROM-read only memory
RAM-random access memory

롬(ROM)은 read only memory의 약칭이다. 컴퓨터의 판독전용 기억장치를 말한다. 전원이 끊어져도 정보가 없어지지 않는 불휘발성(non-volatile) 기억장치이다. 문자 패턴 발생기나 코드 변환기처럼 행하는 처리가 일정하고 다량으로 사용되는 것은 기억할 정보를 소자의 제조와 동시에 설정하기 때문이다. 따라서 롬은 정보를 소자의 구조로서 기억하고 있으므로 바꾸어 쓸 수가 없는 것이다.


램 (RAM)은 random access memory의 약칭이다. 기록과 해독의 두 회로가 있어서 정보의 기록, 해독이 가능하고 컴퓨터나 주변 단말기기의 기억장치에 널리 쓰이고 있다. 장점으로는 염가, 소형, 낮은 소비 전력, 고속 호출, 비파괴성 해독 등이며, 단점으로는 전원이 나가면 기억되어 있던 모든 데이터가 지워진다는 점이다. 종류로는 전원이 연결된 상태에서 일정한 주기마다 리프레시(refresh) 조작을 해주어야만 정보가 지워지지 않는 다이내믹램(DRAM)과 전원만 연결되어 있으면 정보가 지워지지 않는 스태틱램(SRAM)이 있으며 고밀도 집적회로를 사용하여 소형, 대용량화되고 있다.

롬은 시스템의 각 장치(device)들이 정상 작동하인지 체크하고 명령어를 수행할 수 있는 상태로 대기시키는 기본적인 BIOS를 저장하고 있다. 주어진 목적에 맞게 읽을 수만 있고, 신뢰도가 높으며, 시스템 자원을 낭비하지 않도록 고안된 것이 rom이고, rom에 저장된 bios가 없으면 시스템이 작동할 수 없기 때문에 중요하다.

ram은 프로그램 수행에 필요한 명령어와 데이터를 저장해놓는 공간으로, ram 공간이 적어지면 cpu를 비롯한 전체 시스템의 효율과 성능이 저하된다. 공간 부족으로 아예 실행이 불가능해지는 경우도 있다.

흔히 ROM은 한번 기록하면 삭제할 수 없는 메모리, RAM은 전원이 꺼지면 지워지는 메모리라고 하지만 이는 DRAM이 너무 보편적으로 사용된 나머지 생긴 오류입니다.

RAM은 질문하신분의 말씀처럼 Random Access Memory라고 해서 저장된 데이터중 한부분만 지정해서 억세스할 수 있는 메모리를 말하는 것입니다.

일반적으로 ROM은 하드웨어용 프로그램을 보관하기 때문에 수정이 거의 없고, 프로그램을 처음부터 순차적으로 읽어들이는 방식이 주로 사용되기 때문에 특정부분을 억세스할 필요가 없습니다. 따라서 선형으로 억세스하게 되고 삭제를 하지 못하도록 한 것이죠.

반면 RAM은 프로그램이나 데이터를 임시 보관하는 용도로 사용되기 때문에 어드레스에 따라 특정부분을 억세스할 필요가 있습니다. 이때문에 Random Access Memory라고 불리는 것일 뿐, 전원에 따른 데이터 손실과는 아무런 상관이 없습니다.

한 예로서 MRAM이라는 것이 있습니다. MRAM은 Magnetic RAM으로서 기록된 데이터는 삭제할때까지 전원이 차단되더라도 사라지지 않습니다. 이러한 메모리를 비휘발성 메모리라고 하며 MRAM이외에도 FeRAM, ORAM등이 있습니다.

즉 현재의 DRAM과 SRAM은 데이터가 손실되는 휘발성 메모리이고, DRAM, SRAM이 RAM의 대부분을 차지하기 때문에 RAM은 전원이 차단되면 지워진다라고 하는 것입니다.




====================
개인 휴대단말기와 같이 휴대형 소형기기에서는 플래쉬 메모리를 많이 사용한다. 그 이유를 설명하고 플래쉬 메모리를 사용할 수 있는 분야를 논하시오.

핸드폰에서 벨소리나 사진을 저장하기 위한 데이터 저장 공간이 필요하게 되었고, 보조 저장 장치로 플래쉬 메모리를 사용하는 이유는 첫째, 저전력을 소비하고 둘째, 신뢰도가 높으며 셋째, 제품의 사이즈를 작게 할 수 있고 넷째, 가볍고 다섯째, 속도가 빠르기 때문이다.

기본적으로 메모리는 반도체이므로 기계 동작 요소가 없어 전력을 적게 소모하고, 잔고장이 날 요소가 적어 내구성이 높으며, 제품의 사이즈와 무게에 부담을 주지 않는다. 속도 또한 기계 동작 요소 없이 회로와 전기적인 접근으로 이루어지므로 매우 빠르다.

현재 휴대용 USB 저장 장치, 디지털 카메라, mp3 플레이어, 휴대폰, PDA등에 널리 쓰이고 있다. 앞으로 휴대할 수 있는 모든 제품들에 적용될 수 있기 때문에 활용 분야는 엄청 많다.