CS
2 posts
캐시 메모리 (Cashe Memory)

💡 캐시 메모리 (Cashe Memory) 속도가 빠른 장치와 느린 장치에서 속도 차이에 따른 병목 현상을 줄이기 위한 메모리 CPU가 주기억장치에서 저장된 데이터를 읽어올 때, 자주 사용하는 데이터를 캐시 메모리에 저장한 뒤, 다음에 이용할 때 주기억장치가 아닌 캐시 메모리에서 먼저 가져옴으로써 속도를 향상 시킨다. 메인 메모리와 CPU 사이에 위치하며, CPU의 속도에 버금갈 만큼 메모리 계층에서 가장 속도가 빠르지만, 용량이 적고 비싸다는 단점도 있다. 하나의 CPU에는 이러한 캐시 메모리가 2~3개 사용된다.(L1, L2, L3) 이는 속도와 크기에 따라 분류한 것으로, 일반적으로 L1 캐시부터 먼저 사용된다. 듀얼 코어 프로세서의 캐시 메모리 각 코어마다 독립된 L1 캐시 메모리를 가지고, 두 코어가 공유하는 L2 캐시 메모리가 내장된다. L1 캐시는 보통 8~64KB 정도의 용량으로 CPU가 가장 빠르게 접근하게 되며, 여기서 데이터를 찾지 못하면, L2 캐시…

March 05, 2023
CS
객체 지향 프로그래밍 (OOP, Object-Oriented Programming)

🧠 Why? 객체 지향 프로그래밍이 왜 필요할까? 객체 지향 프로그램 이전의 패러다임을 살펴보면 먼저 순차적(비구조적) 프로그래밍과 절차적(구조적)프로그래밍이 있다. 순차적(비구조적) 프로그래밍 순차적으로 흘러가는 프로그래밍 구조를 의미 순차를 중점으로 보는 코드 코드의 흐름, 순서에 기반하는 프로그래밍 비구조적 프로그래밍에서는 주로 goto문을 활용 따라서 규모가 커질수록 goto문이 범람하게 되어 알아보기 어려운 코드가 만들어진다. -> 코드를 단위화할 방법을 모색 절차적(구조적) 프로그래밍 절차적 프로그래밍에서의 절차란, 우리가 평소에 알고있는 절차가 아닌 프로시저를 의미한다. 프로시저란? 반환값(리턴)이 존재하지 않는 함수를 의미 프로시저의 사용으로 goto문이 범람했던 순차적 프로그래밍과 달리 반복 가능성이 있는 부분을 프로시저로 쪼개고 각각의 프로시저안에서 중복되는 부분은 반복문으로 구성 하지만 이런 프로시저는 추상적이라는 문제점을 가지고 있다. 예시 📚 …

February 21, 2023
CS