본문 바로가기

Base/CS3

효율성을 위한 메모리의 계층적 구조 (메모리 계층 구조) 앞선 글에서는 컴퓨터가 어떻게 우리가 프로그래밍 언어로 작성한 코드를 알아듣고 처리하는지 알아보았다. 메모리와 구조에 대해서도 잠시 언급했는데, 이번 글에서는 메모리에 정보들을 더 효율적으로 저장하고 가져오기 위해 어떤 방법들을 사용했는지에 대한 이야기를 해보려고 한다. 컴퓨터에 있는 메모리들의 종류는 생각보다 훨씬 다양한데, 이 메모리들은 아래 피라미드 그림처럼 계층적인 구조를 이루고 있다. 지금은 낯설게 보일 수 있지만, 이 글을 다 보고나면 각 계층이 무슨 역할을 하고, 왜 이런 구조로 이루어지는지 알게될 것이다. 하나씩 차근차근 알아보도록 하자. 프로세서(CPU)-메모리(RAM) 격차 CPU는 어떤 명령어가 주어지면 내부 자체 메모리 셀인 레지스터에 데이터를 저장하고, 그 데이터들을 가지고 연산을.. 2021. 6. 13.
컴퓨터가 코드를 실행하기까지 (feat. 메모리, 프로세서, 컴파일러) 컴퓨터 컴퓨터는 한마디로 명령에 따라 데이터를 조작하는 기계이다. 조작을 위해서는 '프로세서'와 '메모리'의 역할이 중요하다. 메모리는 무슨 명령을 수행해야하는지, 명령을 수행하려면 어떤 데이터가 필요한 지를 적어두는 공간이고, 프로세서는 메모리에서 명령과 데이터를 꺼내와서 실제로 명령을 수행하는 부품이다. 메모리(RAM) = 수행할 명령들, 명령 수행을 위한 데이터들을 보관 프로세서(CPU) = 메모리에서 명령과 데이터를 꺼내와서 실제로 명령을 수행 메모리 메모리는 왜 필요할까? 예를들어 누군가 우리한테 500에서 600까지의 합을 구하라고 했다고 생각해보자. 500 + 501 를 먼저 계산하고 1001이라는 숫자를 어딘가 적어둘 것이다. 다음에는 1001에 다음 수인 502을 더해 적어두고... 이런.. 2021. 6. 6.
컴퓨터가 실수를 표현하는 방법 (고정소수점, 부동소수점, IEEE 754) 언어 언어는 여러 사람들이 편하게 의사를 전하기 위해 생긴 수단이다. 같은 언어를 사용하는 사람들이 서로의 말을 이해하기 위해서는 같은 기호를 사용했을 때, 같은 뜻으로 받아들여야 한다. 사람이 사용하는 언어든 컴퓨터가 사용하는 언어든 모든 언어는 각 언어만의 기호로 이루어진다. 컴퓨터의 언어 컴퓨터의 언어는 기본적으로 2진수라는 방법을 사용해서 모든 기호를 나타낸다. 2진수는 어떤 기호를 오직 0 과 1 이라는 두가지 종류의 숫자로만 나타내는 방식이다. 선택지가 0, 1 두 가지이기 때문에 2진수 혹은 비트(bit = binary + digit)라고 부른다. 우리는 보통 0~9의 10가지 숫자를 가지고 다른 숫자를 나타낸다. 이 경우에는 선택지가 열 가지나 되기 때문에 10진수라고 부른다. 2진수, 1.. 2021. 6. 3.
반응형