일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- javascript
- DB
- XML
- python
- computer
- github
- while
- for
- control
- DATAPATH
- instruction
- Pipelining
- function
- CSS
- DS
- php
- web
- MacOS
- architecture
- MIPS
- Java
- DoM
- Class
- Algorithm
- html
- react
- mysql
- data structure
- system
- Linux
- Today
- Total
목록MIPS (35)
YYYEJI
Virtual memory란? 실제로 존재하는 memory가 아닌 논리적으로 존재하는 memory입니다. Virtual memory는 memory의 성능보다는 protection 즉 정보를 보호하기 위해 존재한다고 할 수 있습니다. Terminology page - virtual memory block miss - page fault 그림을 보면서 살펴보겠습니다. Virtual memory에 address가 있으면 physical memory에서 data를 가져오고, virtual memory에 address가 없으면 hard disk에서 data를 가져와 CPU에 전달하게 됩니다. 마치 HD(Hard disk)의 cache($)처럼 사용하게 되는 것이죠. Program이 실행될 때 program은 vi..
Performance는 컴퓨터의 성능을 의미합니다. 우리가 컴퓨터를 디자인을 한다면 비용&성능을 배제할 수 없을 것입니다. 우선 MIPS를 배우는 지금은 시간에 초점을 맞춰서 고민을 해봅시다. 기능은 수행시간에 반비례합니다. Performance = 1/Execution Time CPU 시간은 아낼와 같습니다. CPU Time = CPU Clock Cycles X Clock Cycle Time CPU Time = CPU Clock Cycles/Clock Rate (CPU Cycle Time = 1/Clock Rate) * Clock rate = frequency 프로그램 수행 시간은 프로그램의 instruction의 개수(instruction count)과 비례합니다. Seconds/program = M..
① Instruction fetch step (IF) ② Instruction decode/register fetch step (ID) ③ Execution/effective address step (EX) ④ Memory access (MEM) ⑤ Register write-back step (WB) lw의 datapath에서 Corrected datapath를 필요로 합니다. https://yyyeji.tistory.com/283 [MIPS] Corrected Datapath란? Corrected Datapath 란? Pipelining을 할 때 한 instruction이 시작하면 다음 instruction이 그대로 시작을 하게 됩니다. 여기서 5번째 clock cycle을 보면 WB 단계는 regi..
① Instruction fetch step (IF) ② Instruction decode/register fetch step (ID) ③ Execution/effective address step (EX) ④ Memory access (MEM) XXX R-type은 Memory access를 하지 않습니다. ⑤ Register write-back step (WB) R-type의 datapath에서 Corrected datapath를 필요로 합니다. https://yyyeji.tistory.com/283 [MIPS] Corrected Datapath란? Corrected Datapath 란? Pipelining을 할 때 한 instruction이 시작하면 다음 instruction이 그대로 시작을 하게 ..
Pipelining Step ① Instruction fetch step (IF) ② Instruction decode/register fetch step (ID) ③ Execution/effective address step (EX) ④ Memory access (MEM) ⑤ Register write-back step (WB) Q) 어떻게 만들어졌나? A) 같은 instruction 길이, 조금의 instruction format,memory access는 조금만. 5개의 step을 그림으로 살펴보겠습니다. • Single clock datapath를 기본으로 제작했습니다. • Single clock datapath와 다른 점은 중간중간 register가 존재한다는 점입니다. ◡̈
MIPS에는 여러 Instruction이 존재하는데, ALU control가 어떤 값이냐에 따라 실행되는 operation이 달라집니다. ✓ ALUcontrol에 4bits가 들어가는데 ① 2bits는 ALUop에서 발생시키고, ALUop는 어떤 instruction인지에 따라 결정됩니다. (즉, instruction의 op code를 보게 됩니다.) lw, sw - 00 beq - 01 R type - 10 ② 나머지 2bits는 instruction format에 따라서 2bits가 결정됩니다. R type의 경우 op code만 보고 instruction을 파악하기 힘들기 때문에, function code까지 확인해야 됩니다. ↓↓↓ 아래 결과에 따라 실행되는 instructio이 달라집니다 ↓↓↓..
RTL은 Register Transfer Language의 줄임말로써, Register와 register 간에 데이터가 이동하는 흐름 방향을 자세하게 보여줄 수 있는 수준의 언어입니다. 예제를 살펴보겠습니다. ① add operation op code rs rt rd shamt function code add rd, rs, rt ↓↓↓ RTL Description ↓↓↓ IR ← mem[PC]; # Fetch instruction from memory R[rd] ← R[rs] + R[rt]; # ADD operation PC ← PC + 4; # Calculate next address ② sub operation op code rs rt rd shamt function code sub rd, rs, r..
Stored program concept에 의한 intruction 실행 순서 ① Instruction의 주소를 얻기 위해 PC(Program Counter)을 이용한다. ② Instruction을 주소로부터 가져온다. ③ Register로부터 값을 읽는다. ④ 정화기 무엇을 해야할지 정하기 위해 instruction을 이용한다. Fetch&Execute ①, ② - instruction fetch ③, ④ - instruction execute Note) Fetch&Execute는 stored program concept이다. ◡̈