Computer Architecture 2

컴퓨터 구조 기초 - 캐시 메모리와 가상 메모리 시스템

캐시(Cache)는 처음에 메인 메모리와 프로세서 간의 중간 계층 메모리를 지칭하기 위해 도입된 용어이다. 현재도 주로 이 의미로 사용되지만, 지역성(Locality) 원리를 활용하여 데이터를 관리하는 모든 저장 장치를 통칭하는 의미로도 확장되어 사용되고 있다. 더보기지역성(Locality) : CPU가 메모리를 접근할 때 특정 패턴이 반복되는 경향을 설명하는 개념으로, 이를 활용하면 데이터를 효율적으로 저장하고, 메모리 접근 비용을 줄여 성능을 향상시킬 수 있다. 시간 지역성(Temporal Locality) : 한 번 접근한 데이터는 곧 다시 접근될 가능성이 높다. 프로그램에서 같은 데이터나 변수를 반복적으로 사용하는 경우가 많기 때문.공간 지역성(Spatial Locality) : 한 번 접근한 데..

컴퓨터 구조 관점에서 바라본 C언어 포인터와 Java

포인터와 컴퓨터 구조의 관계컴퓨터의 메모리는 수많은 작은 공간들이 일렬로 늘어선 형태를 가지고 있다. 각 공간은 고유한 주소를 가지고 있으며, 이는 마치 아파트의 호수와 같다. 1970년대 초기 컴퓨터 시스템에서는 제한된 메모리를 최대한 효율적으로 사용해야 했고, 이러한 배경에서 포인터가 탄생했다.메모리의 물리적 구조를 이해하면 포인터의 필요성이 더욱 분명해진다. CPU는 메모리에서 데이터를 읽고 쓸 때 반드시 주소를 통해 접근한다. 포인터는 이러한 컴퓨터의 기본 작동 방식을 프로그래밍 언어 수준에서 직접 다룰 수 있게 해주는 도구다.역사적 맥락에서 본 포인터1972년 데니스 리치가 C언어를 개발할 당시, 컴퓨터의 하드웨어 자원은 매우 제한적이었다. 8비트 프로세서와 64KB 미만의 메모리가 일반적이던 ..