[Computer Architecture] 소프트웨어와 폰-노이만 구조
2024. 3. 15. 17:59ㆍCS/Computer Architecture
소프트웨어와 하드웨어
- 소프트웨어는 시스템 소프트웨어와 애플리케이션 소프트웨어로 나뉜다. 시스템 소프트웨어는 하드웨어와 함께 직접 동작하고 컴파일러, 운영체제 등이 시스템 소프트웨어에 속한다.
- 하드웨어는 크게 프로세서, 메모리, I/O controllers로 나뉜다. I/O 장치와 메모리가 서로 데이터를 주고받는 게 input/output이다. 이 인풋 아웃풋을 관리하는 등의 작업을 OS가 담당한다.
- CPU 같은 프로세서는 input을 메모리에서 가져와서 연산을 수행하고 다시 메모리에 output을 주는 과정을 통해 프로그램을 실행하는데, 이를 아키텍처라 한다.
- 컴퓨터에서 I/O는 보통 세 가지 단계로 이루어진다.
- Input : 외부에서 컴퓨터로 데이터를 가져오는 과정이다.
- Processing : 입력된 데이터를 처리하고 필요한 계산이나 연산을 수행한다. 이때 CPU가 중요한 역할을 한다.
- Output : 처리된 결과를 외부로 보내는 과정이다.
폰노이만 아키텍처
폰노이만 아키텍처의 중요한 특징 중 하나는 명령어와 데이터가 동일한 메모리에 저장된다는 것이다. 이것은 프로그램이나 명령어를 메모리에서 읽을 때 해당 명령어가 데이터인지, 코드인지 구별할 필요가 없다는 장점을 가지게 된다.
폰노이만 아키텍처의 장점은 컴퓨터에서 다른 작업을 시키려고 할 때 굳이 하드웨어를 재배치할 필요 없이 소프트웨어만 교체하면 되기에 범용성이 크게 향상된다.
하지만 폰노이만 병목현상이라는 단점이 생긴다. CPU와 RAM 사이의 데이터 전송 속도가 CPU와 ROM 사이의 속도보다 빠를 때 발생한다. CPU가 메모리에 접근하여 데이터를 가져오기 위해 대기해야 한다는 것이다. 이는 프로그램 메모리와 데이터 메모리가 하나의 버스를 공유하기 때문에 발생한다.
'CS > Computer Architecture' 카테고리의 다른 글
[Computer Architecture] Memory Hierarchy와 Virtual Memory (0) | 2024.03.19 |
---|---|
[Computer Architecture] Processor (0) | 2024.03.19 |