환급미션 14일째
컴퓨터 구조 - 중앙처리장치 - 마이크로 명령어 집합과 구성 -1
컴퓨터 구조 - 중앙처리장치 - 마이크로 명령어 집합과 구성 -2
지금까지 명령어를 대략적으로 다루었다면
조금 더 구체적인 내용을 다룬다고 한다.
- 실행 순서에 따른 명령어 분류 : step by step 방식만으로는 한계가 있어서 여러 가지 방식이 존재한다.
*순차적 실행 명령어 ( step by step ) : 전체 실행 명령어의 대부분 (70~80%)을 차지한다.
*분기 명령어 : 분기 방식으로 실행이 된다.
위의 flow chart 에서 예를 들자면, p=1 이 조건이고, yes-> 오른쪽 분기, no-> 왼쪽 분기로 다음 명령어가 실행되는 방식이다.
*부 함수 호출 명령어
*복귀 명령어
글보다는 도표를 통해 보다 직관적으로 이해할 수 있다.
왼쪽이 main 함수를 나타내고, 오른쪽이 sub 함수를 보여준다.
예를 들어
어떤 방송국에서 티비 프로그램을 송출할 때,
메인 프로그램들이 기본적으로 송출되고,
중간중간에 서브로 광고가 송출이 되는 것과 같은 방식을 말한다.
- 명령어 구문 형식
명령 코드 : cpu가 실행할 수 있도록 디자인된 연산
operand : 연산에 사용되는 자료 값, 자료가 저장된 주소에 관한 정보
주소 지정 모드 ( addressing mode ) : operand가 저장된 위치를 지정(indexing)하는 방법
하드웨어와 소프트웨어 간의 독립성 유지를 위해 점점 복잡해져간다고 한다.
- 명령어 집합의 설계
자연어는 일상적인 언어들을 이야기하는데, 보통 영어가 기반이 된다.
자연어에 가깝게 명령코드를 이용하는 경우
일상언어와 가깝기 때문에 조금 더 직관적으로 설계, 사용을 할 수 있다는 장점이 있지만
오늘날 세계적으로 이용되고 있기 때문에 사용 언어에 따른 구조적 차이로 인해 발생할 수 있는 어려움이 있고,
그때문에 cpu 구조 설계 자체가 복잡해지게 된다는 단점이 있다.
반면 기계 중심의 명령코드를 이용하는 경우
각종 규칙이 많아지거나 프로그램 길이가 길어지는 등 설계가 복잡해진다는 단점이 있지만
개인의 사용언어에 구애받지 않고 표준화가 가능하기 때문에
오히려 명령어가 더 간편화되거나 제어장치의 제어가 더 쉬워지는 등
cpu 구조 설계가 보다 간단해지게 된다.
따라서 기계 중심의 명령코드를 이용하는 방햐응로 나아가는 중이라고 한다.
자연어, 기계어 명령코드를 비유해본다면 다음과 같은 느낌으로 이해할 수 있다.
자연어 명령 코드 : If p=1 then transfer R2 to R1
기계어 명령 코드 : P:R1<-R2
- 주소 지정 모드 ( addressing mode )
명령어의 구조상
최대한 하드웨어, 소프트웨어 간의 독립성을 유지하며 프로그램의 유연성을 가능하게 할 수 있도록
자료가 저장되어 있는 장소를 지정하는 방법이 필요하다.
이런 방법들을 addressing mode라고 하고, 프로그램의 효율을 결정하는 요소가 된다.
* 묵시적 모드 ( operand가 명령어에 포함되지 않은 모드 )
NOP : no operation, 오퍼랜드가 필요없는 명령어 (ex: 이동)
INC : 묵시적 오퍼랜드인 누산기(AC, accumulator)의 연산 명령어
ADD : 스택 구조의 명령어 ( 스택에 오퍼랜드가 저장됨 )
* 직접값 모드 ( operand 자체가 명령어에 포함되어 있는 모드 )
ex) MOV R1, #100
-> 십진수 값 100 이 두 번째 오퍼랜드로 직접 명령문에 포함되어 있다
* 레지스터 모드 ( register mode : 오퍼랜드가 레지스터에 저장된 모드 )
ex) ADD R1, R2
* 메모리 직접 주소 모드 ( direct mode : 오퍼랜드가 저장된 메모리 주소를 나타내는 모드 )
ex) MOV R1, 100
-> R1에 100번지의 내용을 이동하라는 내용.
* 메모리 간접 주소 모드 ( memory indirect addressing mode : 메모리를 이용하여 간접적으로 주소 지정 )
ex) MOV R1, @100
-> R1 <- M[100] or M[100] <-R1
실제 데이터를 가져오기 위해 메모리를 2번 이상 참조해야 한다.
위의 그림에서 100번지의 내용에 해당하는 주소값에서의 데이터에 해당.....................
- addressing mode 예시
올인원 패키지 : 컴퓨터 공학 전공 필수👉https://bit.ly/3i4sCVE
'패스트캠퍼스' 카테고리의 다른 글
[패스트캠퍼스 수강 후기] 올인원 패키지 : 컴퓨터 공학 전공 필수👉C언어인강 100% 환급 챌린지 16회차 미션 (0) | 2020.11.03 |
---|---|
[패스트캠퍼스 수강 후기] 올인원 패키지 : 컴퓨터 공학 전공 필수👉C언어인강 100% 환급 챌린지 15회차 미션 (0) | 2020.11.02 |
[패스트캠퍼스 수강 후기] 올인원 패키지 : 컴퓨터 공학 전공 필수👉C언어인강 100% 환급 챌린지 13회차 미션 (0) | 2020.10.31 |
[패스트캠퍼스 수강 후기] 올인원 패키지 : 컴퓨터 공학 전공 필수👉C언어인강 100% 환급 챌린지 12회차 미션 (0) | 2020.10.30 |
[패스트캠퍼스 수강 후기] 올인원 패키지 : 컴퓨터 공학 전공 필수👉C언어인강 100% 환급 챌린지 11회차 미션 (0) | 2020.10.29 |