• OS,  Study

    [OS] Memory Allocation Strategies

    우리가 사용하는 프로그램은 virtual address로 동작하기 때문에 이를 physical memory에 allocation 해주는 것이 중요하다. 특히 memory에 단일 process가 올라오는게 아니라 multi process들이 올라오기 때문에 이들을 관리해주는 것은 중요하다. Memory allocation 방식은 크게 두…

  • OS,  Study

    [OS] Process / Thread Scheduling

    현대 computer system은 multi processing 및 multi-threaded processes 들로 구성되기 때문에, 각각을 scheduling하는 방식에 따라 성능이 달라진다. 현재 ready-to-run process들은 Ready Queue에 담겨져 CPU로부터 수행되기를 기다린다. Scheduling algorithm은 많지만 대표적으로 5가지만 소개한다. FCFS…

  • Computer Architecture,  Study

    [Computer Arch.] Floating Point Representation

    Computer system에선 대부분 정수가 아닌 수를 표기할 때는 IEEE Standard 754 형식의 floating point 표기 방식으로 표현한다. 이는 1) 기존 binary representation으로 표현할 경우 2의 지수승에 대해서만 정확한 소수가 표현 가능하며, 2) 너무나…

  • Computer Architecture,  Study

    [Computer Arch.] Carry and Overflow 차이

    Computer system에서 arithmetic operation을 하면 연산에 대한 결과를 flag로 나타내는데 그 중에는 zero, negative, carry, overflow 등이 존재한다. 그 중에 carry와 overflow는 혼동하기 쉽다. 8-bit을 기준으로 덧셈 또는 뺄셈을 수행하게 되면 carry 또는…

  • Computer Architecture,  Study

    [Computer Arch.] TLB / Page Table

    기본적으로 우리가 프로그램에서 사용하는 address는 모두 virtual address를 사용한다. 이러한 virtual address를 통해 physical address memory에 접근하는 기술을 virtual memory라 부른다. Virtual address의 장점은 다음과 같다. Multi process를 동시에 수행 할 때, address…

  • Computer Architecture,  Study

    [Computer Arch.] Cache Miss 원인

    Processing unit과 memory 사이에 존재하는 cache에서 유효한 address의 data를 포함할 경우 hit, 그렇지 못할 경우 miss라고 부른다. 이 때 miss의 종류는 대표적으로 다음과 같다. Cold (compulsory) miss Capacity miss Conflict miss 1. Cold…

  • Computer Architecture,  Study

    [Computer Arch.] Cache 종류

    Cache란 processing unit과 memory 사이에 존재하는 data를 저장하는 logic으로 memory access의 긴 latency로 인한 performance overhead를 줄여줄 수 있는 logic이다.Cache Wikipedia 여기엔 다양한 configuration으로 cache를 구성할 수 있는데 대표적으로 크게 3 가지가 존재한다.…