# 오늘 배운것 요약
# 폰노이만 구조
폰노이만은 CPU, 메모리, 프로그램 구조를 갖는 범용 컴퓨터의 구조를 확립한 인물이다.
$ 특징
- 산술 논리 장치와 프로세서 레지스터를 포함하는 처리 장치
- 명령 레지스터와 프로그램 카운터를 포함하는 컨트롤 유닛
- 데이터와 명령어를 저장하는 메모리
- 외부 대용량 스토리지
- 입출력 매커니즘
$장점
다른 작업을 시키려고 할때 굳이 하드웨어를 재배치할 필요없이 소프트웨어만 교체하면되기때문에 범용성이 크게 향상됨
폰노이만구조를 도입하면 프로그램 교체가 쉬워 편의정때문에 많은 컴퓨터들이 폰노이만 구조를 따른다.
$단점
병목현상이있음
- 내장 메모리 순차처리방식으로 데이터 메모리와 프로그램 메모리가 구분되있지 않고 하나의 버스를 가지고 있는 구조라서
CPU가 명령어와 데이터를 동시 접근할 수 없다. 이를 해결하고자 나타난것이 하버드 구조임
- 메모리의 값을 읽고 쓰는 구조라서 기억장치에 병목현상이 생길 수 밖에없다 이를 해결하고자 나타난 기술에는 메모리 계층구조나 NUMA, DMA 등이 있다.
# 하버드 구조
하버드 아키텍처는 본래 명령용 버스와 데이터용 버스로 물리적으로 분할한다.
컴퓨터 아키텍처를 나타내는 용어이다.
$장점
폰노이만 구조에서는 CPU가 명령어와 데이터에 동시에 접근이 불가능해서 한번에 하나씩 처리할 수 없었던 반면, 하버드 아키텍처의
컴퓨터에서는 명령을 메모리로부터 읽는것과 데이터를 메모리로 부터 읽는것을 동시에 할 수 있다. 따라서 현재 명령의 처리를 끝냄과 동시에 다음 명령을 읽어 들여 더 빠른속도를 낸다.
$단점
이러한 처리속도를 높이려면 보다 많은 전기회로가 필요하다. 두개의 버스와 메모리를 가지게되므로 CPU코어에 공간을 많이 차지하여 요류가 많이 발생하고 비용이 비싸다

# 현대
그래서 둘 중 뭐가 더좋아 ? -> 현대는 둘다 합친 구조를 사용함(역시 기술은 계속 보안되고 발전하는법,,,)
현대에는 CPU의 외부적으로는 폰 노이만구조를, 내부적으로는 하버드 구조를 적용하여 속도를 향상 시킨것이 많다. 그러나
이것 또한 폰노이만 구조를 기반으로 만들어져 병목현상만 어느정도 해결할 뿐 메모리 속의 프로그램을 순차적으로 실행하는
근본적은 구조자체는 변하지 않는다.
# bit
8bit == 1byte
32bit == 4byte
64bit == 8byte
스위프트는 64bit라서 8byte를 사용한다.
32bit / 64bit
cpu가 한번 일을 할때 0과 1을 32개 처리하느냐 64개 처리하느냐의 차이이다.
# 주기억장치는 왜 주기억장치라고 불릴까
- 주기억장치는 현재 사용중인 데이터를 보관하며, CPU의 직접적인 접근이 가능하다. 주기억장치는 현재 필요한 데이터를 보관하므로 주가되고, 주기억장치인 램은 휘발성 기억장치이므로 현재 사용중인 데이터를 영구 보존하기 위해서는 비휘발성의 특성을 지닌 보조기억장치가 필요하다.
# 인코딩이 필요한 이유
컴퓨터에서 다른 컴퓨터로 데이터를 전솔할때 사용자가 보는데이터를 직접 전송할 수 없다.
예시로 Hello world를 한 컴퓨터에서 다른 컴퓨터로 보내는경우 Hello World로 전송할 수 없다. 왜냐하면 이는 사람의 언어이기때문이다. 그래서 대표적으로 인코딩을 하는 유니코드 같은 기계언어를 통해 다른 컴퓨터를 전송하고 받은 컴퓨터는 그걸 디코딩 하여 Hello World라는 문자열로 변환할 수 있는것이다.
# cs공부하는 방법은 가까이있다!?!
Mac활성상태에서 프로세스,CPU, 스레드는, PID 등이 무엇인지 가볍게 생각하지 않고 하나하나 짚어 공부해보자.
'야곰커리어캠프_TIL' 카테고리의 다른 글
20200213 / D8 / 함수명 지을때 명사로..? (0) | 2022.02.15 |
---|---|
20200211 / D5 / 인스턴스 끼리 값할당 시 주의사항(feat. 옵셔널체이닝) (0) | 2022.02.11 |
20220209 / D3 / 하드코딩 지양하는 방법 간단히 알아보자 (0) | 2022.02.10 |
2022.02.08 / D2 / Set에 사용되는 메서드들 (0) | 2022.02.09 |
2022.02.07 / D1 / Mutating에대해서 (0) | 2022.02.09 |