리틀 엔디안(Little-endian) 과 빅 엔디안(Big-endian) 이란?
바이트 저장 순서 컴퓨터는 데이터를 메모리에 저장할 때 Byte 단위로 나누어 저장합니다. 따라서 연속되는 바이트를 순서대로 저장해야 하는데, 이것을 바이트 저장 순서(Byte Order)라고 합니다. 이때 바이트가 저장된 순서에 따라 빅 엔디안, 리틀 엔디안 두가지 방식으로 나눌 수 있습니다. 빅 엔디안(Big-endian) 빅 엔디안 방식은 낮은 주소에 데이터의 높은 바이트(MSB : Most Significant Byte)부터 저장하는 방식입니다. 이 방식은 평소 사람이 사용하는 선형 방식과 같아 메모리에 저장된 순서 그대로 읽을 수 있으며, 이해하기 쉽습니다. 예를 들어, 아래와 같이 저장할 32bit 크기의 정수가 있을 때, 빅엔디안은 다음과 같이 저장합니다. 0x12345678 리틀 엔디안(L..
명령어 집합 구조, CISC 와 RISC
명령어 집합 명령어 집합 (ISA): CPU가 이해할 수 있는 명령어들의 모음입니다. CPU의 언어이자 하드웨어가 소프트웨어를 어떻게 이해할지에 대한 약속입니다. 인텔의 CPU는 일반적으로 X86 명령어 집합을, 애플의 CPU는 일반적으로 ARM 명령어 집합을 따릅니다. 명령어 집합이 다르기 때문에 같은 소스코드를 컴파일 할지라도 나오게 되는 명령어가 다르기때문입니다. CISC (Complex Instuction Set Computer) 복잡한 명령어 집합을 활용하는 컴퓨터(CPU) x86, x86-64는 CISC 기반 명령어 집합 구조입니다. 명령어의 형태와 크기가 다양한 가변 길이 명령어를 활용합니다. 장점 다양한 명령어를 활용할 수 있다. 상대적으로 적은 수의 명령어로도 프로그램을 실행할 수 있다...
패리티 비트 & 해밍 코드
패리티 비트(Parity Bit) 시리얼 통신에서 데이터의 오류를 검출하기 위한 일종의 장치 중 하나입니다. 정보 전달 과정에서 오류가 생겼는지 검사하기 위해 추가하는 비트로 전송하고자 하는 데이터의 각 문자에 1비트를 더하여 전송합니다. 짝수 패리티 데이터의 모든 1의 개수를 짝수로 맞춰야합니다. 예를 들어, 1100100의 1의 개수는 3개(홀수)이므로, 자동적으로 패리티 비트는 1이 되어 11100100 총 1의 개수를 4개(짝수)로 만듭니다. 홀수 패리티 데이터의 모든 1의 개수를 홀수로 맞춰야합니다. 예를 들어, 1100100의 1의 개수는 3개(홀수)이므로, 자동적으로 패리티 비트는 0이 되어 01100100 총 1의 개수를 3개(짝수)로 유지합니다. 만약 짝수 패리티일 때, 데이터가 중간에 ..
CPU의 구조와 기능
https://blog.naver.com/ds4ouj/222566933623 [컴퓨터구조] CPU의 구조와 기능 (1) 이번엔 컴퓨터의 핵심 요소인 CPU의 구조와 동작 원리에 대하여 정리할 것입니다. CPU는 기억장치에 ... blog.naver.com 위 글을 공부하여 쓴 글 입니다. 자세한 내용은 위 블로그의 CPU의 구조와 기능 시리즈 글을 참고해주세요. CPU 의 동작 CPU는 기억장치에 저장되어 있는 프로그램 코드인 명령어를 실행함으로써 프로그램을 수행합니다. CPU의 동작은 다음과 같습니다. 명령어 인출 기억 장치로 부터 명령어를 읽어옵니다. 명령어 해독 수행해야할 동작들을 결정하기 위해 1에서 읽어온 명령어를 해독합니다. 데이터 인출 명령어 실행을 위하여 데이터가 필요한 경우 기억장치 혹은..
컴퓨터 시스템의 개요
https://m.blog.naver.com/ds4ouj/222565520844?referrerCode=1 [컴퓨터 구조] 컴퓨터 시스템의 개요 학교 전공교재를 이용하여 컴퓨터 구조를 제대로 공부하기 시작했습니다. 컴퓨터 시스템은 기본적으로 ... blog.naver.com 위 글을 보고 공부한 내용입니다. 자세한 내용은 위 블로그를 참고해주세요. 컴퓨터 시스템이란 하드웨어(Hardware) + 시스템 소프트웨어(System software)로 구성됩니다. 이러한 시스템에 각종 응용 소프트웨어(application software)들이 탑재되어 사용자와 상호작용합니다. 하드웨어 컴퓨터의 각종 정보가 처리되는 물리적 실체입니다. 소프트 웨어 정보들이 이동하는 방향과 정보 처리의 종류, 수행될 시간을 지정..
캐시 메모리의 쓰기 정책 / 버퍼와 캐시의 차이
캐시 메모리 쓰기 정책 Write-Through Through 의 의미는 관통한다 라는 의미로 받아들이면 이해가 수월해집니다. Write-Through는 쓰기를 할때 Cache Memory 와 Main Memory 모두 업데이트 하는 방식입니다. 일관성을 유지할 수 있다는 장점과 동시에 일관성을 유지하기위해 메모리에 쓰는 시간동안 CPU가 대기해야하는 시간이 발생합니다. 위와 같은 단점을 보완하기위해 Write Buffer 를 추가로 사용합니다. 위와 같이 Buffer를 두면 CPU가 Buffer 에 업데이트할 데이터를 적재해놓으면 Memory가 업데이트 되는 동안 CPU는 다른 일을 할 수 있습니다. 장단점 장점 : 캐시 일관성을 유지할 수 있다. 단점 : 처리 속도가 느리며 CPU 대기시간이 늘어난다..
캐시 메모리
https://blog.naver.com/PostView.naver?blogId=ds4ouj&logNo=222609509733&categoryNo=31&parentCategoryNo=0&from=thumbnailList\ [컴퓨터 구조] 캐시 메모리 (Cache Memory) (1) 주기억장치로 사용되는 반도체 기억장치 부품들의 액세스 속도가 최근 크게 개선되었지만, 여전히 CPU의... blog.naver.com https://hyeo-noo.tistory.com/308 [컴퓨터 구조] 캐시 메모리 캐시 메모리 CPU와 주기억장치의 속도차이를 보완하기 위하여 그 사이에 설치하는 반도체 기억장치. 용어 정리 CPU가 원하는 데이터가 이미 캐시에 적재되어 있는 상태를 캐시 적중(cache hit)이라 hy..
부동소수점에 대한 이해
부동 소수점은 실수의 표현과 아주 작은 수와 아주 큰수를 표현하기 위해 도입되었습니다. 또한 고정 소수점이라는 방식도 존재하며 우선 고정 소수점 부터 무엇인지 알아봅시다. 고정 소수점(Fixed Point) 소수점이 찍힐 위치를 미리 정해놓고 소수를 표현하는 방식입니다. 장점: 실수를 정수부와 소수부로 표현하여 단순합니다. 단점: 표현의 범위가 너무 적어서 활용하기 힘듭니다. (정수부는 15bit, 소수부는 16bit ) 정수부만 따졌을때 2^16 - 1 의 수 까지 표현이 가능한데, 터무니 없이 작은 수 입니다. 부동 소수점 지수의 값에 따라 소수점이 움직이는 방식을 활용한 실수 표현 방법입니다. 즉, 소수점의 위치가 고정되어 있지 않습니다. 실수를 가수부 + 지수부로 표현합니다. 가수: 실수의 실제값..