본문 바로가기

정보처리기사/전자계산기 구조

capter7



마이크로 오퍼레이션
: 명령을 수행하기 위해 CPU 내의 레지스터와 플래그의 상태변환을 일으키는 작업을 말한다
  마이크로 오퍼레이션을 순서적으로 일어나게 하는데 필요한 신호를 제어신호라고 한다



클럭 주파수가 바로 제어신호라고 따른말로 불린다

마이크로 사이클 타임부여 방식 이라고해서 클럭의 단위를 지정할 수 있는데
그 방법은 3가지로 나뉜다

1. 동기고정식
: 제일 긴 명령어 끝에서 제어신호를 준다 (클럭을 준다!)
  단점은 다른 명령어가 만약에 짧으면 시간낭비를 하게 된다

2. 비동기식
: 명령어가 끝날때마다 제어신호를 준다 낭비시간이 전혀없다 끝날때마다 제어신호를 주기때문에 이와 같이 시간낭비를 줄일 수 있다는 것이다 그러나 이 비동기식은 허구성이다 이론으로만 부여되고 있으며 구현은 매우 어려우므로 없는 얘기나 마찬가지다

3. 동기 가변식
: 수행시간을 다르게 준다하여 어림짐작으로 긴거, 짧은거를 잡아서 클럭을 준다는 것이다
그래서 왠만한 시간 낭비를 줄여준다는 것이다







메이저 스테이트
: CPU의 주된 4가지 상태

1. 인출 사이클(Fetch Cycle)
2. 실행 사이클(Execute Cycle)
3. 간접 사이클(Indirect Cycle)
4. 인터럽트 사이클(Interupt Cycle)


1. 인출 사이클 에서 실행 사이클 되면 너무너무 좋은 조건이다
2. 인출 사이클 에서 간접 사이클을 거쳐 실행 사이클 되면 간접 실행법이 되는 것이고
3. 인출 사이클 에서 간접 사이클이 되서 실행 사이클이 됐는데!!!
   인터럽트 ( 예기치 못한 돌발상황) 이 생기면 인터럽트 사이클로 들어가게 된다
   
   그럼 예기치 못한 상황을 처리하고선 다시 돌아가게 되는 지점이 있을 텐데
   바로 이게 중요한거다 바로 인출 사이클(Fetch cycle)로 간다는 점
   알아 두셔야됨





1. Fetch Cycle
T1 : MAR ← PC
T2 : MBR ← M[MAR], PC ← PC + 1
T3 : OPR ← MBR[OP], I ← MBR[I]
T4 : F ← 1 또는 R ← 1
이게 있으면 무조건 패치 사이클이라는 것을 알아두자



2. 인터럽트
T1 : MBR[AD] ← PC, PC  ← 0
T2 : MAR ← PC, PC ← PC + 1
T3 : M ← MBR, IEN ← 0
T4 : F ← 0 또는 R ← 0

PC  ← 0 와  IEN ← 0 가 있으면 인터럽트라는 것을 알아두자


3. 연산 ADD
MAR ← MBR[ADDR]
MBR ← M[MAR]
AC ← AC+MBR
첫번째 구문과 두번째 구문이 있으면 간접 사아클이다


4. LDA
MAR ← MBR[ADDR]
MBR ← M[MAR], AC ← 0
AC ← AC + MBR


5. STA(Store AC)
MAR ← MBR[AD]
MBR ←  AC
M ←  MBR


6. ISZ(Increment and slip if Zero)
MAR ← MBR[AD]
MBR ← M
MBR ← MBR + 1
M ← MBR, IF[MBR = 0] THEN [PC ← PC +1]
계속 1씩 증가하여 0이되면 건너뛰고 다음 명령어를 수행하라는 것이다


이렇게만 기억하면 이런 구문이 나와도 어렵지 않을것이다

'정보처리기사 > 전자계산기 구조' 카테고리의 다른 글

capter9  (0) 2010.02.06
capter8  (0) 2010.02.02
capter6  (0) 2010.02.01
capter5  (0) 2010.01.29
capter4  (0) 2010.01.29