마이크로프로그래밍

원래벌레·2022년 5월 9일
0
post-custom-banner

💎 마이크로명령어의 형식

  • [연산필드 1] [연산 필드 2] [ 조건필드 ] [분기필드] [주소필드]

💎 조건필드의 종류

1) 00 : U 항상 조건 만족하여 무조건 분기
2) 01 : I 간접 사이클 필드가 1일때만 만족 할 때에 간접 사이클 루틴으로 분기
3) 10 : S 상태레지스터(AC)에 저장된 데이터의 부호가 1인경우 분기
4) 11 : Z 상태 레지스터의 저장된 제로비트가 1인 경우에 대해서만 분기

💎 분기필드의 종류

1) 00 : JUMP 조건이 만족하면 주소필드로 분기, 조건이 만족하지 않으면 CAR+1로 분기
2) 01 : CALL 조건이 만족하면 주소필드로 분기하고 SBR에 CAR+1 값 추가, 조건이 만족하지 않으면 CAR+1로 분기
3) 10 : RET SBR로 복귀
4) 11 : MAP 사상방식, 1+[opcode]+00 분기 목적지 주소 결정

💎 인출 사이클 루틴의 마이크로명령어 루틴

💎 간접 사이클 루틴

💎 실행 사이클 루틴

  • 사상 방식을 이용하여 각 연산 코드에 대한 실행 사이클 루틴의 시작 주소를 결정하고, 각 명령어 실행을 위한 루틴을 작성

  • 각 연산에 대한 사상의 결과인 연산코드가 있다. 명령어주소 레지스터에 해당 연산코드 주소로 가게되면, 최대 4줄 정도의 명령어에 대한 실행 사이클이 존재한다.

  • ex)
    LOAD ORG68
    NOP I CALL INDRT : I=1이면, 간접 사이클 루틴 호출
    IRTAR U JMP NEXT : MAR <-IR(addr)
    READ U JMP NEXT : MBR<-M
    BRTAC U JMP FETCH = 실행사이클 끝마다 0번지로 이동하여 다음 CAR+1 인출

profile
학습한 내용을 담은 블로그 입니다.
post-custom-banner

0개의 댓글