ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Memory 에 대한 기초
    카테고리 없음 2021. 4. 20. 14:33

    메모리에 대해 알고 프로그램을 만드는것과 그렇지 못한것은 아주 큰 차이가 있습니다. 컴퓨터공학의 기초라고 할 수 있죠...!

     

    메모리

    0과 1을 저장할 수 있는 반도체

     

    메모리는 전압차이를 이용해서 데이터를 저장합니다.

    0 : 전기 off / 1: 전기 on 인것이죠.

     

    가장 작은 공간을 Bit 라고 부르고 -> 종류와 관계 없이 모두 2진수로 저장됩니다.

     

    8개 bit가 모인 1byte 가 기본 단위죠

     

    1bit에는 0과 1을 저장할 수 있죠.

    2bit는 모두 0과 1의 조합으로(00,01,10,11) 4개를 저장할 수 있습니다.

    ...

    8bit는 0~255 까지 저장가능합니다. 만약, 양수와 음수를 모두 저장한다면 -128 ~ 127 로 범위가 줄어듭니다.

     

     

    실제 데이터를 저장할때는 

    최상위 비트로 양수(0)와 음수(1) 를 저장합니다. - Sign bit 라고 합니다. 그러면서 자연스레 실제 저장하는 데이터 비트는 하나 줄어듭니다.

     

    더 큰 단위를 볼까요?

    https://www.101computing.net/how-many-bytes-in/how-many-bytes-in-2/

    bit 를 제외하고 모두 1024만큼인것을 볼 수 있죠~

     

    CPU는 주소 register를 통해 메모리 주소에 접근합니다. 

    32 bit -> 약 42억개 : 4GB(최대용량) / 64bit  -> 1800경? -> 16EB (이론상입니다. 실제로는 더 작지만 아주 크다고 볼 수 있죠)

     

     

    Code

    Data

    Heap : 동적으로 할당된 파라미터 - 공간의 크기를 예측하기 어려움

    Stack : 지역변수 파라미터 - 함수호출 (LIFO)

     

    여기서 값 형식과 참조형식에 대해서 공부해야합니다.

    -> 더 자세하게 Swift 기준으로 정리하겠습니다. 

     

     

    728x90

    댓글

Designed by Tistory.