본문 바로가기

전체 글89

9. 프로세서 (3) Load : MEMREAD 1 MEMWRITE 0 REGWRITE 1 Store : MEMREAD 0 MEMWRITE 1 REGWRITE 0 R-type과 Load/Store 연결 목적지 Register ID (Write Register) 1) R-type의 [15:11] 비트와 Load의 [20:16] 비트를 MUX로 연결 2) RegDst control값 이용 목적지 Register에 들어가는 값 1) R-type : ALU 연산 값 2) Load : Data memory로 부터 읽은 data 값 ALU연산은 - R-type instruction의 operation수행 - Load/Store instruction의 address calculation수행 R-type RegDst : 1 MemRead .. 2023. 6. 4.
9. 프로세서 (2) Instruction Fetch - PC : 32-bit 레지스터 , 현재 instruction의 주소를 저장한다. - Instruction Memory : combinational logic으로 동작하며 PC 주소에 있는 instruction을 제공해준다 - Move to the next instruction => PC + 4가 된다 R-format instructions opcode | rs | rt | rd | shamt | funct R-type의 opcode는 항상 000000이다. funct로 명령어를 구분한다. Register File - Read : combinational logic처럼 동작하며 주어진 register ID로 현재 register value을 제공한다 / 2개의 regis.. 2023. 6. 4.
9. 프로세서 (1) MIPS 1) Arithmetic / logical : add, sub, and, or , slt -> R-type instruction 2) Memory access : lw, sw 3) Control transfer : beq, j CPU 처리 과정 (공통) 1) fetch : memory로 부터 instruction을 Load - Memory address : PC 2) decode : opcode를 확인하여 instruction type을 확인 - Instruction [31 : 26] R-type Instruction => opcode | rs | rt | rd | shamt | funct CPU Arithmetic / Logical : add , sub, and , or , slt - rs, .. 2023. 6. 4.
12. 예외 처리 Procedure의 종료 - return (정상), goto - overflow, underflow, range error -> system interrupt - EOF 등 예외조건 (예상 가능한 조건) 예외 조건 제어 불가능 언어 : 오류 시 약속된 값을 반환 (Programmer가 매번 check) , 오류 처리 루틴으로 즉시 제어 이동(정상 제어를 파괴) 예외 조건 제어 가능 언어 : 사용자가 제어 가능 - PL/I : 최초 제공 언어 - Mesa, CLU, Ada, C++, Java : 우아한 방법 제공 예외 처리 1) 프로시저들 사이의 정보 교환 2) 예외는 오류가 아님 3) 초기 예외 처리 : H/W interrupt routine을 사용 , system에서 제공 (처리 루틴) 4) 고려사항 .. 2023. 6. 4.
728x90