1 / 6

스택 구조

스택 구조. 스택의 속성 last in first out(LIFO) 동작을 하는 저장장치 (storage device) stack pointer(SP) 라는 단지 수를 세는 역할을 하는 주소 레지스터를 가진 메모리 스택 포인터는 스택의 꼭대기 (top) 의 주소를 지시 스택의 2 가지 동작 스택 포인터 레지스터를 하나씩 증가 혹은 감소시킴으로써 수행 push: 스택의 꼭대기에 자료를 넣는 동작 pop: 스택의 꼭대기로부터 자료를 꺼내는 동작

heaton
Download Presentation

스택 구조

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 스택 구조 • 스택의 속성 • last in first out(LIFO)동작을 하는 저장장치(storage device) • stack pointer(SP)라는 단지 수를 세는 역할을 하는 주소 레지스터를 가진 메모리 • 스택 포인터는 스택의 꼭대기(top)의 주소를 지시 • 스택의 2가지 동작 • 스택 포인터 레지스터를 하나씩 증가 혹은 감소시킴으로써 수행 • push: 스택의 꼭대기에 자료를 넣는 동작 • pop: 스택의 꼭대기로부터 자료를 꺼내는 동작 • 동작은 SP 레지스터를 하나씩 증가(push) 혹은 감소(pop)시킴으로써 수행

  2. 레지스터 스택 • 스택의 구성 • 대규모 메모리의 일부분으로 구성 • 제한된 수의 메모리 워드로 구성 • 제한된 수의 레지스터들로 구성 • 메모리 스택의 예 • 64워드의 메모리 스택의 블럭도

  3. SP는 6비트: 64(26)워드의 스택 메모리 • FULL과 EMPTY: 스택의 full과 empty 상태를 표시하는 1비트 레지스터 • 초기상태: SP는 0, EMTY는 1, FULL은 0 • push 동작의 마이크로 연산 • SP ← SP + 1 • M[SP] ← DR • If(SP=Max) then (FULL ← 1) • EMPTY ← 0 • pop 동작의 마이크로 연산 • DR ← M[SP] • SP ← SP - 1 • If(SP=0) then (EMPTY ← 1) • FULL ← 0

  4. 메모리 스택 • CPU에 부착시킨 RAM 메모리를 이용하여 구현 • 메모리의 일부분을 스택을 위해 할당 • 레지스터 중 하나를 SP로 사용 • 프로그램, 데이타, 스택 세그멘트를 가진 컴퓨터 메모리 • SP의 초기값이 4001일 때 • 스택이 주소를 감소시키면서 • 커가는 모양을 표시

  5. push 동작 • SP ← SP - 1 • M[SP] ← DR • pop 동작 • DR ← M[SP] • SP ← SP + 1 • 역 Polish 표기 • 스택의 구조는 어떤 수식의 값을 구하는 데 있어 매우 효율적 • 연산식의 구성에 있어서 역폴리시 개념을 도입 • 연산식의 구성 • A+B : infix 개념 • +AB : prefix(polish) 개념 • AB+ : postfix(역polish) 개념

  6. 산술식의 연산 • 수식을 역polish 형태로 변환 • 피연산자를 순서대로 스택에 push • 연산자가 나타나면 다음과 같은 마이크로 연산1) 스택의 top에 있는 두 값이 연산에 사용된다 2) 스택의 값이 pop되고 연산의 결과가 top의 아래에 있는 피연산자의 자리를 차지 • 예) (3*4)+(5*6) • 역polish 형태: 34*56*+ • 스택 동작

More Related