본문 바로가기

Computer Science/Computer Architecture 52

4. Single Cycle Design Single Cycle Implementation Single cycle implementation이란 instruction 하나를 하나의 cycle에 수행하는 것을 말한다. Cycle이 끝나면 새로운 instruction을 수행한다. Clock이 올라가서부터 다음 clock이 올라가기 전까지 하나의 수행을 마친다. 다음 clock이 올라가는 순간 instruction 수행 결과(state)를 update하고, 새로운 instruction을 수행한다. State가 될 수 있는 것은 다음과 같다. PC : 새로운 PC로 update한다. Register : add, sub, lw 등 Data memory : sw 등 Providing Input at High Speed 일반적으로 1GHz의 clock cy.. 2021. 5. 16.
4. Single Cycle Datapath and Control Design Instruction Implementation Instruction의 일반적인 implementation 아래 과정을 거쳐서 이루어진다. Instruction fetch PC → instruction memory PC의 값을 이용해서 실행할 instruction을 읽어온다. PC + 4 → PC fetch가 끝나면 PC의 값은 증가한다. Instruction decode fetch한 instruction이 무엇인지 본다. 즉, opcode를 본다. Register number → Register file read register decode를 하면서 reigster access를 수행한다. Instruction execute ALU을 이용한 계산 결과를 이용한다. arithmetic result → A.. 2021. 5. 16.
3. MIPS ISA MIPS ISA MIPS intruction은 core instruction과 그 외로 나눌 수 있다. Core instruction 자주 사용되는 56개의 instruction set SPECINT의 100% SPECFP의 97% MIPS core : multiply, division을 제외한 대부분의 integer 연산 MIPS arithmetic core : MIPS core에 비해 구현이 다소 복잡하다. Other instruction 잘 사용되지 않는다. 2021. 5. 16.
3. Multimedia Arithmetic Multimedia 1990년대 인터넷이 발달하며 multimedia가 성장하였다. Multimedia data는 주로 8bit, 16bit으로 짧은 데이터가 많이 연결되어있다. 따라서 빠르게 처리하는 것이 필요하다. 기본 생각 빠른 데이터 처리를 위해 하나의 큰 adder를 여러 개의 작은 adder로 사용해서 데이터 연산 처리를 병렬로 처리한다. 병렬로 처리하면 동시에 수행할 수 있기 때문에 처리 속도가 빨라진다. 예를 들어 64bit adder는 16bit 마다 넘어오는 carry를 무시함으로써 4개의 16bit adder로 사용할 수 있다. 또는 8bit 마다의 carry를 끊어버림으로써 8개의 8bit adder로 사용할 수 있다. Subword Parallelism 위에서 처럼 partitio.. 2021. 5. 16.
3. Floating-Point Arithmetic Floating-Point Arithmetic Floating-point를 이용할 경우 매우 작은 수와 매우 큰 수를 표현할 수 있다. 매우 작은 수와 큰 수를 다루는 과학 계산을 위해 만들어졌으며, 소수점이 있는(non-integer) 수를 표현할 수 있다. +9.5와 같이 작은 수는 fixed-point를 사용해서 충분히 표현 가능하다. Normalized Floating-point는 significand(유효숫자) + exponent(지수)로 나눠서 표현한다. 표현 방법이 여러 개가 될 수 있기 때문에 normalized 방식으로 표현한다. Normalized는 소수점 왼쪽에 하나의 0이 아닌 수로 유효숫자를 표현하는 것을 말한다. 예를 들어 $-2.34 \times 10^{56}$은 normali.. 2021. 5. 16.