GO

YU YU·2022년 1월 25일
0

1. 폰노이만 구조

폰 노이만 구조에서 명령으 중앙 처리 장치인 CPU에서 수행이 된다. 프로그램이란 메모레 올라가서 CPU에 명령어를 순차적으로 제공하는 명령어 묶음이다. 실제로 초창기 컴퓨터는 종이 카드에 구멍을 뚫어서 사용하는 천공카드 다발을 사용하여 컴퓨터에 프로그램 명령어들을 제공했다.

프로그래머는 프로그래밍 엉ㄴ얼르 사용해서 어떤 연산을 어떤 순서로 실행할지 정의하는 사람이다.

2. 컴퓨터 동작 원리

컴퓨터의 구조를 중앙처리장치인 CPU, 데이터를 보관하는 메모리, 입출력 장치로 구성이 된다. 메모리는 휘발성 메모리와 비휘발성 메모리로 나누니다. 휘발성 메모리로는 램메모리, 비휘발성 메모리로는 하드디스크를 예로 들 수 있다. 램 메모리는 하드디스크보다 데이터 읽기/쓰기 속도가 빠르지만, 전원 공급이 중단되면 저장된 데이터가 사라진다. 프로그램 실행 파일은 하드디스크에 보관되어 있다.

2-1. 컴퓨터의 역할

2-1-1. 프로그램 로드

프로그램이 실행이 되면 운영체제는 하드디스크에 있는 프로그램 실행 파일을 메모리에 ㅂ복사한다. 이것을 로드라고 한다. 램메모리는 하드디스크보다 용량은 작지만 더 빠르다. 그래서 프로그램을 실행하기에 앞서 프로그램 코드와 필요한 데이터를 메모리로 복사한다. 드런 뒤 프로그램 첫 줄붕터 한 줄 씩 코드를 실행하게 된다.

2-1-2. 데이터 로드 및 캐싱

모든 명령은 CPU에 의해 실행이 된다. CPU가 연산을 처리하려명 연산에 필요한 데이터를 가져와야 한다. CPU 내부에는 캐시라는 별도 메모리 공간ㅇ츨 가지고 있다. 캐시는 연산에 필요한 데이터를 보관하는 임시 보관장소이다. 램 메모리보다 적은 공간이지만 훨씬 빠르다.
그 과정은 이렇게 이루어진다.

메모리에서 연산에 필요한 데이터를 캐시로 복사한다. 복사할 때 정확히 연산에 필요한 부분만 복사하는 게 아니라 근처 데이터도 같이 복사한다. 왜냐하면 일반적으로 다음 연산에 필요한 데이터는 이전 연산에 사용된 데이터와 연속되어 있는 경우가 많기 때문이다. 이렇게 캐시를 사용하면 램메모리를 이용하는 횟수가 줄어 성능이 높아지게 된다.

2-1-3. 연산 및 저장

위의 과정을 마치면 연산에 필요한 데이터가 캐시에 준비가 되었다. 이제 CPU는 연산에 사용할 데이터를 레지스터로 복사한다. 레지스터는 실제 연산이 수행되는 특수한 데이터 공간이다. 일반적으로 CPU 레지스터의 크기는 32비트 컴퓨터에서는 32비트 즉 4바이트이고, 64비트 컴퓨터에서는 64비트 즉 8바이트이다. (그래서 64비트 컴퓨터는 한 번에 8바이트씩 연산을 수행할 수 있어서 32비트 컴퓨터에 비해 연산속도가 빠르다). 명령에 따라 연산 결과를 메모리에 저장하기도 한다.

2-1-4. 프로그램 종료때까지 위의 과정 반복

profile
코딩 재밌어요!

0개의 댓글