본문 바로가기
기타

정보처리 필기_전자계산기 구조_10강_명령어 (인강메모)

by avvin 2019. 7. 26.


문제 정보 / 이미지 출처 (무료인강) : 

https://www.youtube.com/playlist?list=PLimVTOIIZt2aR9jib0ws7hoDVZXdtiWsK




1. 명령어의 구성


2. 명령어 설계 시 고려사항


3. 연산자 기능


4. 단항/이항 연산



1. 명령어의 구성


연산자부( OP Code, 명령코드, Operation Code ) / 자료부 ( Operand, 번지부, 어드레스 필드 )


연산자부는 명령어 형식, 동작 코드, 데이터 종류 등 표시


자료부는 명령어 순서, 데이터 주소, 데이터 주소를 구하는데 필요한 정보 등을 표시한다(번지)


오퍼랜드부는 레지스터를 지정할수도, 메모리를 지정할 수도있다,



주소필드 = 오퍼랜드부/자료부 








모드 필드 (mode field)


OP Code(연산자부) 안에 포함됨


뒤에 사용된 주소필드 (오퍼랜드부)가 어떠한 주소지정방식을 사용했는지 나타냄


오퍼랜드나 유효번지( EA :실제 데이터가 위치한 주소 )가 결정되는 방법을 나타난다.



명령어를 구성하는 연산자부, 자료부에 관련된 것이 아닌건 1번





명령(연산자)의 개수 구하기


OP Code의 길이만 보면 된다.


OP Code가 5비트이면  명령어 개수는 최대 2^5개


문제의 다른 부분은 모두 무시. OP Code 길이에만 집중




최대 연산자의 수는? 명령의 수는? 같은말




2. 명령어 설계 시 고려사항 (안중요)




인스트럭션 세트와 레지스터 종류는 아무 상관이 없다


*주기억장치 밴드폭(대역폭) 

: Band Width, BUS폭, 얼마나 데이터를 빨리 주고받을 수 있는지를 나타냄, 대역폭이 넓을 수록 빠름




3. 연산자 기능


★★★

1)함수 연산 기능

2)전달 기능 ( Load / Store )

3)제어 기능 ( 명령의 실행 순서 제어 ex.jump )

4)입출력 기능 ( Input / Output )


병렬처리기능 x , 주소지정(오퍼랜드) 기능 X


폰노이만(Von Neumann)형 컴퓨터 :  program 내장 방식 컴퓨터



1) 함수 연산 기능 (ALU니까 산술, 논리 연산 )



산술 연산 : 수치적인 연산 : 사칙연산, 산술 shift★


논리 연산 : 

비수치적인 연산 and / or / xor / Complememnt(NOT, 보수, Invertor) / 논리 shift (shift레지스터의 밀어서 직렬전송)

/ Rotate(ROR, ROL, 회전, 순환 방향)





산술연산 외의 함수연산은 모두 논리연산





2) 전달 기능


Load : 메모리에서 CPU의 레지스터로 데이터를 올리는 것이 load


Store : 하위 기억장치인 메모리에 전달하는 것이 store


Move : 레지스터 간에 자료를 전달하는 명령어


[암기] CPU와 주기억장치와의 자료전달이 가장 많이 일어남



스택메모리는 자료를 주고받을 때 push pop 명령어 쓰기때문에 load와 store 명령어를 쓰지 않는다.



3) 제어 기능


명령의 실행 순서 변경할 때 사용


GOTO, JMP(Jump)

IF, SMA(SNA) 등


Call : 부프로그램(서브루틴)을 호출하는 명령

Return : 부프로그램에서 주프로그램으로 복귀하는 명령


Skip 명령은 번지 필드가 필요없는 명령


A라는 프로그램이 기능적으로 분류되어 여러 모듈로 나뉘어 메모리에 적재된다.

주 프로그램 조각을 모듈=루틴 이라고 한다.

가끔 사용하는 기능은 서브 루틴에 넣어놓고 호출


호출하고 리턴하면서 분기가 일어남





4) 입출력 기능


[암기] 뒤에서 배울거니까 일단 넘어가기


[암기]




4. 단항/이항 연산



단항 연산 ( Unary) : 보수(Complement(NOT)), Rotate, Shift, Move 등/ 그 외엔 다 이항 연산



이항 연상 ( Binary )



연산 순서 : 산술연산 > 관계 연산 > 논리연산 


컴퓨터는 한 번에 3개 이상의 데이터를 단일 연산기로 동시에 처리할 수 없다. 무조건 2개씩