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의 무한 루프(Infinite Loop)를 탈출시켜주는
조건부 Jump 절이라고 볼 수 있다. 이러한 조건부 Jump는 Neg 외에도 Equal, Greater등이 있다고 한다. - 램 7번에 저장되어 있는 Halt라는 명령어는
명령어(Instructor)와 메모리에 저장된 값(Value)을 구분시켜주는 명령어다.
실제로 램 8번부터는 메모리에 명령어가 아닌 값이 들어있다.
'디팔이의 개발공부 > Computer-Science' 카테고리의 다른 글
[CrashCourse] 최초의 프로그래밍 언어 (컴퓨터 과학 수업 11/40) (0) | 2022.08.30 |
---|---|
[CrashCourse] 초기의 프로그래밍 (컴퓨터 과학 수업 10/40) (0) | 2022.08.30 |
[CrashCourse] CPU (컴퓨터 과학 수업 7/40) (0) | 2022.08.24 |
[CrashCourse] 컴퓨터 과학 수업 5~6/40 (0) | 2022.08.15 |
[CrashCourse] 컴퓨터 과학 수업 OT~4/40 (0) | 2022.08.15 |
댓글