폰 노이만 구조
폰 노이만이 제안한 컴퓨터 구조는 오늘날의 컴퓨터 구조입니다.
폰 노이만 구조 이전의 컴퓨터들은 다른 프로그램을 실행할 떄 마다, 다른 하드웨어를 사용해야 했습니다.
하지만, 폰 노이만 구조 이후에는 컴퓨터들은 소프트웨어만 교체해주면 됩니다.
폰 노이만 구조의 동작 과정은 다음과 같습니다.
미리 연산 수행에 관련된 명령어가 memory에 저장되어 있고, 이를 가져와 지시대로 연산을 수행하게 됩니다.
간단하게 예를 들자면, Memory에서 프로그램과 데이터를 저장하고, CPU는 Memory에서 동작에 필요한 것들에 접근하여 연산을 수행합니다.
컴퓨터의 동작 원리와 4가지 핵심 부품( CPU, main memory , secondary storage , I/O device)
1.가장 큰 사각형은 메인보드입니다.
2.메인보드 안에 시스템 버스(양방향 수직 화살표)가 있습니다.
3.CPU 내부에는 ALU(산술논리연상장치), 제어장치와 여러 레지스터가 있습니다.
CPU는 메인보드 내 시스템 버스와 연결되어 있습니다.
4.메모리는 메인보드 내 시스템 버스와 연결되어 있습니다.
5.보조기억장치는 메인보드 내 시스템 버스와 연결되어 있습니다.
6.모니터,키보드,마우스 등은 메인보드 내 시스템 버스와 연결되어 있고, 이들을 입출력장치라고 부릅니다.
컴퓨터의 구성 요소 - CPU ( 중앙 처리 장치, Center Processing Unit)
CPU는 컴퓨터의 두뇌로써메모리에 저장된 명령어를 읽고, 읽어 들인 명령어를 해석하고 실행하는 역할을 합니다.
CPU 내부 구성 요소 중 가장 중요한 세가지는 산술 논리 연산 장치(ALU ; Arithmetic Logic Unit), 레지스터(register) 그리고 제어장치(CU; Control Unit)입니다.
ALU
ALU는 간단히 이야기하면 계산입니다. 덧셈, 뺄셈, 산술 연과 배타적 논리합 그리고 논리곱 등과 같은 논리 연산을 계산하는 디지털 회로입니다.
ALU는 register부터 피연산자를 받아들이고, CU로부터 수행할 연산을 알려주는 제어신호를 받아들여 다양한 연산을 수행합니다.
이때, 중요한 점은 연산 후 ALU의 결과값은 바로 메인 메모리에 저장되지 않고 일시적으로 레지스터에 저장됩니다.
CU
CU는 제어 신호(control signal)를 통해서 명령어를 해석, 조작을 지시하는 장치입니다.
이때, 제어 신호는 컴퓨터 부품을 관리하고 작동시키기 위한 일종의 전기 신호입니다.
register
register는 CPU가 요청을 처리하는데 필요한 데이터를 일시적으로 저장하는 기억장치입니다.
프로그램 내에 명령어와 데이터는 실행 전후 반드시 register에 저장되기 떄문에 정말 중요한 요소입니다.
CPU가 메인 메모리에 데이터를 가져오게 되면 시간이 오래 소요되지만, CPU 내부 register에서 데이터를 가져오면 애무 빠른 시간 내에 동작이 가능합니다.
Data Register (데이터 레지스터)
메모리에 전달되는 데이터를 저장하는데 사용됩니다.
Address Register (주소 레지스터)
특정 I/O 입출력 장치의 주소를 지정하는데 사용됩니다.
Program Register (프로그램 카운터 )
Program counter를 의미하고, 프로세스가 수행할 다음 명령의 주소를 일시적으로 저장하는데 사용됩니다.
즉, 이 레지스터는 항상 가져올 다음 명령의 주소나 현재 명령의 주소만을 가르킵니다.
Instruction Register (명령어 레지스터)
Main memory에서 가져온 수행할 명령어를 저장합니다.
Memory Address Register (메모리 주소 레지스터)
CPU가 데이터를 읽거나 쓰려는 메모리 주소를 일시적으로 저장합니다.
Memory Buffer Register (메모리 버퍼 레지스터)
메모리에 읽거나 쓰려는 데이터 또는 명령을 일시적으로 저장합니다.
Main memory (주기억장치)
컴퓨터가 이해하는 정보로는 명령어와 데이터가 있습니다.
명령어란? 데이터를 움직이고 컴퓨터를 동작시키는 정보
데이터란? 컴퓨터가 이해하는 정적 정보 (숫자, 문자, 이미지 등)
Memory는 현재 실행되는 프로그램의 명령어와 데이터를 저장하는 부품입니다. 이때, Memory는 저장된 값에 빠르고 효율적으로 접근하기 위해 주소라는 개념이 사용됩니다. 또한, 명령어와 데이터는 모두 0과 1로 표현되기 때문에 겉으로 보기에는 0과 1로 이루어진 데이터를 저장한 것으로 보입니다.
메모리에 필수적으로 이해해야 되는 것은 아래와 같습니다. 1.프로그램에 실행되기 위해서는 반드시에 메모리에 저장되어 있어야 한다. 2.메모리는 현재 실행되는 프로그램의 명령어와 데이터를 저장한다. 3.메모리에 저장된 값의 위치는 주소로 알 수 있다.
아래의 그림은 이해를 돕기위한 것일 뿐 실제로는 아래와 같이 저장되진 않습니다.
Secondary storage (보조기억 장치)
secondary memory는 물리적인 디스크가 연결되어 있는 기억 장치입니다. Main Memory보다는 느리지만 컴퓨터 전원이 꺼지더라도 저장된 데이터가 사라지지 않고 영구 저장됩니다.
I/O device ( 입출력 장치)
입출력장치는 마우스와 키보드 등 컴퓨터 외부에 연결되어 컴퓨터 내부와 정보를 교환하는 장치입니다.
Main Board and System bus( 메인보드와 시스템 버스 )
지금까지 설명한 컴퓨터의 핵심 부품들은 모든 main board라는 판에 연결됩니다.
main board에 연결된 부품들은 서로 정보를 주고받을 수 있는데, 이는 main board 내부에 bus라는 통로가 있기 때문입니다. 컴퓨터 내부에는 다양한 bus가 있습니다. 하지만, 여러 bus 가운데 컴퓨터의 네 가지 핵심 부품(main memory, CPU,sencondary storage, I/O device)을 연결하는 가장 중요한 bus는 System bus입니다.
System bus는 다음과 같은 3가지 bus로 나뉩니다.
address bus (주소 버스)
address bus는 주소를 주고받는 통로입니다.
메모리 주소 레지스터와 연결된 버스로, 데이터를 읽거나 쓸 때 메모리나 주변 장치에 위치 정보를 보내기 위해 사용하며 단방향 버스입니다.
data bus( 데이터 버스)
명령어와 데이터를 주고받는 통로입니다.
중앙 처리 장치와 기타 장치 사이에 데이터를 전달하는 버스로 양방향 버스입니다.
control bus( 제어 버스)
제어 신호를 주고받는 통로입니다.
제어 장치와 연결된 버스로, CPU가 메모리와 주변 장치에 제어 신호를 보내기 위해 사용한다. 메모리와 주변 장치에서도 작업이 완료되거나 오류가 발생하면 제어 신호를 보내기 때문에 양방향 버스입니다.
중요 용어 요약
메모리 : 현재 실행되는 프로그램의 명령어와 데이터를 저장하는 부품
CPU : 메모리에 저장된 명령어를 읽고, 해석하고, 실행하는 부품
보조 기억 장치 : 전원이 꺼져도 보관할 프로그램을 저장하는 부품
입출력장치 : 컴퓨터 외부에 연결되어 컴퓨터 내부와 정보 교환하는 부품
시스템 버스 : 컴퓨터의 4가지 핵심 부품들이 서로 정보를 주고받는 통로
출처 :
https://velog.io/@hyunji015/컴퓨터-구조-컴퓨터를-구성하는-요소
https://velog.io/@sanbondeveloper/CS-컴퓨터-구조-정리
https://coralcollie.tistory.com/70
https://adeuran.tistory.com/20
https://velog.io/@hyunji015/컴퓨터-구조-컴퓨터를-구성하는-요소