About von neumann architecture
A이 글은 '폰 노이만 구조'에 대하여 서술한 문서임 (이하 '해당 구조'라고 표기한다).
현대의 컴퓨터는 대부분 해당 구조를 따라서 구성된다
- CPU (산술 처리 장치)
- volatile RAM (주 저장 장치)
- non volatile RAM (보조 저장 장치)
volatile은 휘발성 이라는 뜻이다.
휘발성 저장장치는 컴퓨터의 전원이 꺼지면 저장되어있던 정보는 보존되지 않는다.
non volatile은 비 휘발성 이라는 뜻이다
비 휘발성 저장장치는 컴퓨터의 전원이 꺼져도 저장되어있는 정보를 보존 할 수 있다.
1. CPU는 매우 빠른 산술과 저장이 가능하지만 매우 고가이며, 저장 용량이 매우 적다.
2. 주 저장 장치는 빠른 저장이 가능하지만 CPU에 비해 상대적으로 저렴하고, 저장용량이 많은편이다.
3. 보조 저장 장치는 느린 저장이 가능하지만 저렴하고, 저장 용량이 상대적으로 많은 편이다. 수명도 존재한다.
해당 구조를 가진 컴퓨터의 운영체제는 산술을 다음과 같이 처리한다. (load-store architeture)
1. 주 저장 장치에 존재하는 수를 CPU로 옮긴다.
2. CPU에서 산술을 진행한다.
3. 산술 결과값을 주 저장 장치에 저장한다.
4. 필요에 따라서 보조 저장 장치에 저장한다.
이런 과정은 해당 구조의 성능 저하 현상을 야기시키는데, 이를 '폰 노이만 병목 현상'이라고 한다.
이는 나열된 명령을 순차적으로 실행하고 반복적으로 주 저장 장치나, 보조 저장 장치에 접근하는 구조에 기인하여 발생하는 성능 저하 현상이다.
이와 비슷한 설계로는, Context switch가 있는데, CPU가 하나의 산술만을 처리하지 않고, 1개 이상의 산술을 진행하기 위해서 만들어진 설계이다.
우리가 사용하고 있는 프로그램들은 모두 동시에 실행되고 있는것처럼 보이지만, 실제로는 매우 빠르게 실행과 정지가 진행되고 있기때문에 "동시에 실행"보다 "매우 빠르게 한개씩 실행"이 맞는 표현이다.