티스토리 뷰

반응형

1. 인텔 초기 CPU

인텔 4004 : 애니악과 동일한 연산 능력을 지닌 인텔 최초의 프로세서, 3500개의 트랜지스터로 45개의 명령어를 소화할 수 있었다.

 

2. 명령어

CPU가 동작하는 기계어 코드를 읽어 실행하는 반복적인 과정이다. 따라서 이 과정은 기계어 명령의 연결이다.

(1)가장 기본적인 명령어

  • HALT : poweroff와 같은 동작을 수행
  • JUMP : 조건에 따른 branch 명령, 무한 루프를 방지하기 위해 추가적인 jump 요소가 필요하다.

연산 과정에 Jump라는 명령어 사용!

Ex) Jump 2 -> 2번 add 명령어 실행

하지만 이렇게 되면 Halt 명령어를 만나지 못해 무한루프에 빠질 수 있음

이를 해결하기 위해 조건부 Jump (Conditional Jump) 사용, 특정상태가 되어야만 작동

컴퓨터 명령어란 사람이 만들어 놓은 프로그램은 번역프로그램들이 번역하여서 이진명령어 즉 컴퓨터가 알아 먹는 명령어로 바꾸어 놓은 것입니다. 실제로 2진수로 되어 있습니다. 컴퓨터에서 명령을 처리하기 위해서 명령(OP code)과 데이터 혹은 데이터를 찾는 주소(Operand)를 가지고 있어야 합니다.

 OP CodeOperand를 합쳐서  명령어(Instruction) 라고 합니다.

OpCode에 해당하는 것은 주로  더해라, 빼라, 나누어라, 곱해라, 저장해라, 등등 명령이구요.  오퍼랜드는 처리 대상이지요. 그런데 뒤에 있는 부분이 곧 데이터 일수도 있구요. 데이터가 저장된 장소 일 수도 있습니다.

명령어에 대해서 억지이기는 하지만 이해하기 편하게 하기 위해서 일상 용어로 설명해 봅시다.

               명령어 :    먹어라              밥을

                                  Op Code            Operand

이 명령 지정방식을 우리는 흔히 즉치데이터 지정방식 이라고 합니다. 즉 명령어 뒤에 있는 것이 먹어라 라는 명령의 데이터 입니다.

              명령어 :    먹어라              밥통

                                  Op Code            Operand

밥통을 먹을 수 없지요. 밥통을 열어봐야 밥이 있는지 아니면, 다른 음식물이 있는지 확인이 되지요. 이를 우리는 직접번지 지정방식이라고 합니다. 즉 밥통이 데이터를 찾는 주소가 됩니다.

              명령어 :    먹어라              노트

                                  Op Code            Operand

이 경우 노트에 가서 들쳐 봤더니, "밥통" 이라는 글씨가 쓰여 있네요. 즉 노트는 밥통을 지정하고, 밥통은 실제로 먹을 것이 있다는 것입니다. 이처럼 사용하는 방법이 간접번지 지정방식입니다.

이처럼 복잡하게 사용하는 이유는 한번 만들어진 하드웨어는 바꿀 수 가 없지요. 메모리 확장을 하기 위해서 번지 선택 지정회로  자체를 바꾸기는 어렵잖아요.

그런데 간접번지 지정방식만 가지고 도 한계가 있습니다. 64KB 라고 하는 한계를 벗어 날 수 없지요. 그래서 만들어 진것이 계산주소 지정방식입니다.

      주소 : 레지스터 + 디스플레이스먼트

이때 레지스터는 여러가지 레지스터가 사용될 수 있습니다. 인덱스 레지스터, 데이터레지스터, 베이스레지스터 등이 사용됩니다.

이처럼 한개의 명령어가 데이터를 찾기 위해서 여러가지 방식을 사용합니다. 그런데 명령어 부분을 해독장치가 해독을 하면 데이터가 뒤에 붙어 있는 오퍼랜드가 직접 데이터 인지 아니면 데이터가 어디에 저장되어 있는지를 나타내는 것인지 알 수가 있도록 되어 있습니다. 똑같은 "더해라"라는 명령어에도 데이터 저장장소에 따라 서너가지 명령으로 또 나뉘어 져 있습니다.

반응형

'TIL WIL' 카테고리의 다른 글

항해 99 TIL-13 초기의 프로그래밍  (0) 2022.02.17
항해 99 TIL-12 고급 CPU 설계  (0) 2022.02.16
항해 99 TIL-10 중앙 처리 장치 (CPU)  (0) 2022.02.14
[WIL-5week] 2021.02.07~02.13  (0) 2022.02.13
항해 99 TIL-9 레지스터와 RAM  (0) 2022.02.12
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
링크
글 보관함