컴퓨터 구조란?
컴퓨터가 효율적으로 작동할 수 있도록 하드웨어 및 소프트웨어의 기능을 고안, 구성 하는 방법이다.
기능 구조의 대한 설계
- 폰 노이만 구조
컴퓨터는 연산, 제어 , 저장 세 가지 핵심 기능이 필요하다.
장치간 데이터 혹은 제어 신호를 교환할 수 있도록 [버스]라는 전자 통로 사용
중앙처리장치(CPU) - 연산 , 제어
프로세스의 코드를 불러오고, 실행하고, 저장함
연산을 처리하는 산술논리장지(ALU), CPU를 제어하는 제어장치, 데이터를 저장하는 레지스터로 구성
※ 레지스터가 필요한 이유 : CPU의 연산속도가 기억장치와의 데이터 교환속도보다 압도적으로 빠름
따라서, CPU는 교환속도를 단축하기 위해 레지스터와 캐시라는 저장장치를 내부에 가지고 있음
기억장치(Memory) - 저장
여러 데이터를 저장하기 위해 사용됨
주기억장치 - 데이터를 임시저장 (예 : RAM)
보조기억장치 - 데이터를 장기간 저장 (예 : HDD, SSD)
버스
부품과 부품 , 컴퓨터와 컴퓨터 사이에 신호를 전송하는 통로
데이터 버스 - 데이터가 이동
주소 버스 - 주소를 지정
제어 버스 - 읽기 및 쓰기 제어
※랜선이나 데이터 전송 소프트웨어, 프로토콜도 버스라고 불림 - 하버드 구조
명령용 버스와 데이터용 버스를 물리적으로 분할한 구조
CPU가 명령어와 데이터에 동시에 접근이 가능하여 속도가 빠름
(※폰 노이만은 동시 접근 불가로 한번에 하나씩만 처리가능) - 수정된 하버드 구조
CPU의 외부적으로는 폰 노이만 구조를, 내부적으로는 하버드 구조를 적용
참고 : https://velog.io/@ckstn0777/%EC%BB%B4%ED%93%A8%ED%84%B0-%EA%B5%AC%EC%A1%B0
CPU 명령어에 대한 설계
- 인텔 x86, x86-64
- ARM
- MIPS
- AVR
CPU 하드웨어적 설계
- 캐시 설계
- 파이프라이닝
- 슈퍼 스칼라
- 분기 예측
'기초공부' 카테고리의 다른 글
리눅스 프로세스의 메모리 구조 (0) | 2022.11.16 |
---|---|
HTTP/HTTPS (0) | 2022.11.10 |