티스토리 뷰
안녕하세요. 오늘은 기초적인 cs를 공부하려고해요.
32비트와 64비트에대해!!
자, 요새 64비트 컴퓨터 말이 많죠?
그리고 제 컴퓨터가 32비트인지, 64비트인지 확인해야 할때도 있죠.
(옛날에는 16비트 컴퓨터도 있던거 아시나요? )
위 설명을 자세하게 풀어서 오늘 글을 써보려고해요 ㅎㅎ
시작할게요.
자. 그럼 16,32,64"비트"라고 하는데
이 비트가 무슨말일까요?
이 Bit라는 것은 CPU가 처리하는 데이터의 최소 단위인
'레지스터'의 크기가 몇 Bit인지에서 나온 말이에요.
그럼 16비트는 레지스터의 크기가 16이라는 소리겠네요.
32,64도 마찬가지구요.
그럼 또 이런 질문이 있을 수 있겠죠.
레지스터가 뭐냐?
레지스터는 CPU의 레지스터란 처리의 지연 시간을 줄이기 위해 사용하고 있는 CPU 내부의 임시 기억장치입니다.
컴퓨터가 데이터를 처리할 때 중앙처리장치인 CPU를 통해 처리를 하는데,
매 번 메모리에서 처리를 할 때 마다 데이터를 가져오게 되면
시간 낭비가 생기게 되어 지연이 생기게 됩니다.
그래서 CPU 내부에 임시 기억장치인 레지스터를 두어 메모리에서
데이터를 가져와 저장하고 필요할 때 마다 불러와서 처리를 합니다.
임시 기억장치이기 때문에 이 레지스터 또한 용량을 가지고 있는데
이 용량을 기준으로 CPU를 n bit 레지스터로 나누게 됩니다.
따라서 32bit 레지스터와 64bit 레지스터로 32bit와 64bit로 나뉘게 되죠.
그리고 물론 레지스터의 용량이 클 수록 메모리에서 더 많은 데이터를 가져와 저장할 수 있기 때문에 처리 속도도 더 빨라지게 됩니다.
그럼 이 레지스터의 용량이 클수록 많은 데이터를 빠르게 처리할 수 있겠네요.
그럼 32bit를 기준으로 설명드리자면, 레지스터가 한번에 처리할 수 있는 용량이 32bit이기 때문에 한번에 표현 가능한 수의 최대값이 2^32이겠죠.
즉, 2의 32승, 4294967296BYTE = 4194304KB = 4096MB = 4GB 입니다.
2^30*2^2로 생각하셔도 될 것 같아요.
레지스터가 한번에 표현할 수 있는 값의 크기는 cpu가 한번에 인식하여 처리할 수 있는 주소값의 범위가 됩니다.
그럼 위의 계산을 통해 약 42억개의 주소를 표현할 수 있겠네요.
그럼 43억 이상의 수를 표현하려면 레지스터의 용량이 32bit이기 때문에 주소값을 표현할 수 없게됩니다.
그냥 32bit 컴퓨터는 4294967296이상을 모른다고 생각하시면 된답니다.
이 레지스터의 용량에 따라서 RAM의 크기 또한 달라지게 되는데,
그래서 32bit에서는 최대 RAM의 크기가 4GB입니다.
그래서!! 32bit 컴퓨터의 메모리 인식범위가 4GB가 한계인것입니다.
32bit 컴퓨터에서 RAM을 8GB를 쓰려고 해도 최대 4GB까지 밖에 쓸 수 없다는 것이죠.
그래서 64bit 컴퓨터가 나오기 시작한것이죠.
자, 그럼 64bit는 최대로 표현할 수 있는 수가 몇까지 인지 알아봅시다.
그럼 위랑 똑같이 하면 되겠죠? 64bit는 2^64까지 수를 표현할 수 있습니다.
2의 64승, 18446744073709551616BYTE, 18EB(1EB = 1000TB) 입니다.
EB는 "엑사바이트"인데요.
테라바이트도 크다고 생각했었는데.. 엑사바이트는 아주 크네요.
이론상으로 우리는 18엑사바이트의 수를 표현할 수 있겠네요.
그럼 현재 64bit컴퓨터의 RAM이 18EB일까요?
일단은..아닙니다.
현재 64bit의 RAM은 192GB를 사용할 수 있어요.
자. 오늘은 32bit/64bit에 대해 알아봤는데..어떠셨나요 ㅎㅎ
도움이 되었으면 좋겠어요👍
'공부' 카테고리의 다른 글
백업을 잘하자 (1) | 2017.06.08 |
---|---|
알고리즘 ) Array Doubling/분할상환분석 (4) | 2017.05.01 |
Heap Sort 정렬 알고리즘 ( 개념 / 시간복잡도 -O(nlogn) ) (34) | 2017.04.10 |
선택정렬 알고리즘 C++ 소스코드(Selection Sort Source Code) (0) | 2017.03.29 |
JAVA ) 오류: 기본 클래스 ...을(를) 찾거나 로드할 수 없습니다. (39) | 2017.03.10 |
- github
- fastlane
- iOS delegate
- ios 13
- 제이슨 파싱
- FLUTTER
- WKWebView
- Swift
- swift delegate
- Xcode
- Combine
- swift sort
- Git
- WidgetKit
- IOS
- swift array
- SwiftUI
- WWDC
- Accessibility
- swift tutorial
- 피아노
- UIBezierPath
- np-hard
- 스위프트 문법
- swift3
- swift 공부
- np-complete
- 스위프트
- actor
- 회고
- Total
- Today
- Yesterday