컴퓨터과학/컴퓨터구조와 운영체제 23

[Stack Frame] 프로시저 호출 시의 스택 프레임 살펴보기

코드가 쭉 진행되다가 특정 프로시저가 호출되면, 프로시저가 실행되고 나서 다시 원래의 실행 흐름으로 돌아옵니다. 예시 코드 0x400000: call func: push  &  jmp 0x400005: mov esi, eax...0x401000: push rbp 0x401001: mov rbp, rsp 0x401004: sub rsp, 0x30 0x401008: mov BYTE PTR[rsp], 0x3 ...0x401020: leave: mov rsp, rbp  &  pop rbp 0x401021: ret: pop rip  &  jmp rip   빠르게 보는 전 과정의 메모리 변화  상세한 작동 1. 프로시저 호출2. function prologue: 기존 상태의 기록, 새로운 stack frame의 마..

[Pipeline CPU] in RV32I CPU microarchitecture

이 글에 포함된 모든 사진 자료들은 (서태원 지음) 에서 가져왔습니다. Pipeline CPU란 “ pipeline CPU란, single-cycle CPU 구조를 여러 stage로 나누어, 각 부분을 동시에 활용되게끔 하는 것이다. (아래 사진 참고) single-cycle CPU에서는, 하나의 instruction이 완료되고 나서야 그 다음 instruction을 수행한 데 비해, pipeline CPU의 경우, 매 clock cycle의 각 stage에서는 다른 instruction이 실행되고 있다. (아래 사진 참고) “ 전형적인 것은 5-stage pipeline CPU이며, 각 stage는 다음과 같다: IF(Instruction Fetch): 명령어를 읽는 단계 ID(Instruction D..