MapleStory Finger Point
본문 바로가기
[CrashCourse] 고급 CPU 설계 (컴퓨터 과학 수업 9/40) CPU 기능 효율성을 위해 캐시라는 개념이 도입되었다. 직접 RAM과 소통하면서 생기는 지연 등을 최소화하는데, 동기화를 하는 부분에서 dirty bits라는 개념이 등장한다. 어느 한 기능을 수행할 때, CPU의 효율적 가동을 위해 다음과 같이 명령어 Pipeline을 설계하였고 이를 통해 CPU의 능률이 향상된다. 하지만 이러한 Instruction Pipeline은 상호 연관성이 있는 명령어들의 충돌이나 조건부 명령어와 같은 위험을 가지고 있는데, 최근 사용되는 고급 CPU들은 예측 실행을 계산하고 Pipeline flush등을 통해 연산이 차질없이 진행되도록 한다. 사람들은 계속해서 분기 예측(Branch Prediction)에 대해 개발하고, 최근에는 그 예측도가 90%에 가깝도록 높아졌다고 .. 2022. 8. 26.
[CrashCourse] 명령어와 프로그램 (컴퓨터 과학 수업 8/40) 7강에서 들었던 CPU에 여러 명령어(Substract, Jump, Jump_Negative, Halt)들을 추가하여 CPU의 Processing에 대해 다루었다. ALU를 다룰 때, 덧셈과 뺄셈만 다루어서 '나눗셈'이나 '곱셈'을 구현하지 못했었는데, CPU의 Processing 절차로 여러 번의 덧셈(곱셈)과 여러 번의 뺄셈(나눗셈)을 구현하였다. 램 4번에 저장되어 있는 Jump 2 라는 명령어는 2번 주소에 있는 명령어로 이동하라는 뜻이다. 즉 SUB B A를 수행하게 되는 것이다. 램 3번에 저장되어 있는 Jump_Neg 5라는 명령어는, 만약 ALU의 결과 값이 음수라 Negative Flag가 활성화 되면 램 5번에 저장되어 있는 명령어로 이동하라는 뜻으로, Jump의 무한 루프(Infini.. 2022. 8. 24.
[CrashCourse] CPU (컴퓨터 과학 수업 7/40) CPU (Central Processin Unit) : 주된 목적은 프로그램을 '실행' 하는 것이다. CPU의 연산과정은 3가지로 단순하게 나타낼 수 있다. 인출과정(Fetch) - 해독과정(Decode) - 실행과정(Execute) CPU의 연산에 일정한 전자신호를 보내어 일종의 '리듬'을 만들어 내는것을 Clock이라고 하며, CPU가 각 사이클(fetch - decode - execute)의 각 단계를 수행하는 속도를 Clock speed라고 한다. (1Hz = 1초에 1cycle을 수행한다. 최근 우리가 사용하는 CPU의 Clock Speed는 대부분 기가헤르쯔이다.) Overclock 또는 Underclock을 설정할 수도 있다. 최근의 프로세서들은 상황에 맞게 Clocking을 할 수 있도록 .. 2022. 8. 24.
[CrashCourse] 컴퓨터 과학 수업 5~6/40 컴퓨터 과학 수업 #5 : ALU 진정한 Computing(계산)의 목적은 숫자를 구조화하고 목적이 있는 방식으로 다루기 위함이다. ALU의 구성요소 Arithmetic Unit(산술적 요소) 모든 수치연산 (덧셈, 뺄셈)을 처리하는 부분으로 2진수(binary)를 연산할 때 반가산(Half Adder), 전가산(Full Adder)의 조합으로 Carry와 Sum을 도출해낸다. 현대에는 Carry-Look-Ahead-Adder(올림수 예견 가산기)를 사용한다고 한다. Logic Unit(논리적 요소) 컴퓨터 과학 수업 #6 : 레지스터와 RAM ALU를 통해 연산하지만, 이를 저장하지 못한다면 의미가 없다. 이러한 생각은 'Memory'의 출발이 된다. RAM(Random Access Memory) Pe.. 2022. 8. 15.
[CrashCourse] 컴퓨터 과학 수업 OT~4/40 초기 컴퓨팅 전자 컴퓨팅 부울 연산과 논리 게이트 이진수로 숫자와 문자 나타내기 한글 자막이 잘 돼있어서 보기 편했지만 보는게 다 머리속에 들어오진 않더군... 비전공자인 나로썬 아주 좋은 양질의 강의이다! 첫 술에 배부를 순 없으니 반복해서 볼 수 밖에 없다. 아이패드로 기록하면서 공부하면 참 유익하다. 여유가 되면 이해한 내용을 기록해보도록 해야겠다. 2022. 8. 15.