일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- architecture
- XML
- react
- MacOS
- python
- Java
- Pipelining
- mysql
- html
- computer
- javascript
- Linux
- instruction
- DATAPATH
- DB
- github
- while
- Algorithm
- DoM
- system
- CSS
- web
- DS
- Class
- function
- php
- MIPS
- for
- control
- data structure
- Today
- Total
목록architecture (68)
YYYEJI

Block Memory에서 cache memory로 data를 가져올 때 block 단위로 가져오게 된다. hit upper level에 access 했을 때 원하는 data가 있는 경우이다. miss upper level에 access 했을 때 원하는 data가 없는 경우이다. ◡̈

우리는 크고 빠른 메모리를 가지기를 원하지만 그것은 쉽지 않다. 작은 메모리가 빠른 속도를 가지고, 큰 메모리가 느린 속도를 가지게 된다. 하지만, user는 크고 빠른 메모리를 원하기 때문에 우리는 memory hierarchy를 이용한다. SRAM(Static Random Access Memory) - 빠르지만 비싼 memory DRAM(Dynamic Random Access Memory) - 속도는 SRAM보다 느리지만 SRAM보다 가격이 싼 memory Disk - 속도는 굉장히 느리지만 가격이 싼 disk NOTE) Static은 휘발성이 아니여서, 컴퓨터의 전원을 꺼도 정보가 날라가지 않지만 Dynamic은 휘발성이기 때문에, 컴퓨터의 전원을 끄면 정보가 날라간다. (휘발성인 static도 있..

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..

Hazard란? Clock cycle이 증가함에 따라 잘 진행되야 하는데 다음 clock cycle에서 Instruction을 수행할 수 없는 상황을 의미합니다. Pipelining에서는 3개의 hazard가 있습니다. 하나씩 살펴보겠습니다. ① Structural Hazard Stage 1에서는 instruction을 fetch하고, stage 4에서는 data를 read/write 해야하는데, 동시에 진행할 수 없는 상황을 의미합니다. • MEM - IF: instruction, data를 한 번에 읽을 수 없다면 hazard 발생. • EX - IF: 기본적인 연산인 add, sub etc를 계산하면서 PC의 값을 증가시킬 수 없다면 hazard 발생. • WB - ID: Register에 값이 쓰..

Pipelining 5 Step IF ID EX MEM WB Pipelining에서는 control signal을 ID step에서 모두 발생시킵니다. 각각의 Step에서 쓰이는 control signal들만 쓰이고, 안 쓰인 control signal은 forwarding 시킵니다. IF - Instruction fetch ID - Instruction decode EX - Exectue MEM - Memory access WB - Write back ◡̈

Corrected Datapath 란? Pipelining을 할 때 한 instruction이 시작하면 다음 instruction이 그대로 시작을 하게 됩니다. 여기서 5번째 clock cycle을 보면 WB 단계는 register에 값을 써야되는 상황이고, ID 단계를 register의 번호를 읽어야 되는 상황입니다. ID 단계에서 register의 번호를 읽으면 앞 전에 읽었던 register의 번호는 사라지게 됩니다. 이 문제를 해결하기 위해 corrected datapath를 두게 됩니다. Write register의 번호가 라인을 따라 넘어가면 WB에서 쓰일 register 번호도 ID에서 읽힐 register 번호도 보존되게 됩니다. ◡̈

① Instruction fetch step (IF) ② Instruction decode/register fetch step (ID) ③ Execution/effective address step (EX) ④ Memory access (MEM) XXX beq은 Memory access를 하지 않습니다. ⑤ Register write-back step (WB) XXX beq는 register에 값을 쓰지 않습니다. beq의 datapath에서 Corrected datapath를 필요로 하지 않습니다. https://yyyeji.tistory.com/283 [MIPS] Corrected Datapath란? Corrected Datapath 란? Pipelining을 할 때 한 instruction이 시작하..

① Instruction fetch step (IF) ② Instruction decode/register fetch step (ID) ③ Execution/effective address step (EX) ④ Memory access (MEM) ⑤ Register write-back step (WB) XXX sw는 register에 값을 쓰지 않습니다. sw의 datapath에서 Corrected datapath를 필요로 하지 않습니다. https://yyyeji.tistory.com/283 [MIPS] Corrected Datapath란? Corrected Datapath 란? Pipelining을 할 때 한 instruction이 시작하면 다음 instruction이 그대로 시작을 하게 됩니다. 여..