본문 바로가기

CS기본3

캐시메모리란? 현대의 컴퓨터 구조는 폰노이만 구조로 실행하려는 프로그램이 메모리에 올라오면 cpu에서 메모리에 올라온 프로그램에 대해 여러 연산을 처리하여 프로그램을 실행하는 형식이다. 그런데 cpu에서 ram으로 접근하는 시간을 줄일 수 있는 방법을 고민하다가 나온게 캐시메모리이다. 비유를 들어 설명하자면 우리가 일상에서 하는 대화도 자주 사용되는 몇개의 단어들이 있는 것처럼 컴퓨터도 여러 명령어들 중에 빈번하게 사용되는 명령어들이 있다. 그런 명령어들을 ram이 아닌 더 빠른 메모리에 저장해놓고 cpu가 거기서 가져오면 더 빠른 연산이 가능하다. 그래서 위 그림처럼 cpu는 접근이 더 빠른 캐시메모리에 먼저 접근한 후에 원하는게 있는지 찾아본다. 이게 가능하려면 컴퓨터가 cpu가 미래에 쓸 데이터를 캐시메모리에 미.. 2020. 11. 14.
1의 보수와 2의 보수 컴퓨터 구조 초반부분 또는 기초 컴퓨터를 공부할 때 항상 나오는 1의 보수와 2의 보수란 무엇인가에 대해 간단히 정리해보려고 한다. 우선 1의 보수의 의미는 해당 bit에서 가장 큰 표현형을 나타낼 때 서로 보완 관계에 있는 수인데 이게 무슨말이냐 하면 10진수를 예로 들었을 때 10진수에서 1bit로 나타낼 수 있는 수는 9까지이다. 즉 a+b = 9를 만족하는 a와 b가 1의 보수 관계이다. 마찬가지로 10진수에서 2bit로 나타낼 수 있는 수는 99이므로 a+b=99를 만족하는 a와 b는 1의 보수 관계이다. 2의 보수의 의미는 최대 표현 자리수를 형성하는데 있어 보완 관계에 있는 수들인데 간단히 말하면 a+b=10, a+b=100 ... 을 만족하는 a와 b를 2의 보수관계라고 한다. 2진수의 경.. 2020. 11. 6.
컴퓨터와 2의보수 이 주제에 대해 안지는 꽤 오래되었지만 시간이 조금만 지나도 자꾸 까먹고 정확하게 이해를 못한것 같아 오늘 한번 제대로 정리하려고한다. 우선 2의 보수를 사용하는 이유는 0 때문인데 현실세계에서의 0은 부호가 딱히 없다. 그러나 컴퓨터에서는 음수와 양수를 나타내기 위한 방법중 하나로 제일 왼쪽비트에 0이면 양수 1이면 음수 이렇게 나타내는 방법이 있는데 이런식으로 나타낼경우 -0과 +0이 공존하는 문제가 있다. 하지만 2의 보수의 경우는 0이 하나만 존재한다. 4bit의 간단한 계산으로 증명해보자. 우선 1의보수는 +0을 나타내는 0000과 -0을 나타내는 1111이 이렇게 두가지가 있다. 2의 보수의 경우는 0000에 2의 보수를 취하면 1111(0을 1로 뒤집고) + 1을 해주면 10000이 나오는데.. 2020. 10. 30.