수업/Computer Architecture 7

[Computer Architecture] Processor - 2

앞서 살펴봤듯이 RISC-V Instructions들은 보통 아래 다섯가지 steps으로 구현된다. 1. IF : Fetch instruction from memory 2. ID : Read registers and decode instruction 3. EX : Execute operation or calculate address (← ex. ALU 쓰는 부분) 4. MEM : Access an operand in data memory 5. WB : Write the result into a register > Single Cycle execution 우리가 이전 글에서 만들었던 single clock cycle 버전은 위처럼 돌아간다. 한 instruction을 clock 한번내에 단계별로 진행한다...

[Computer Architecture] Processor - 1

아래 사항들을 배운다. 1. Implementation of subset of core instructions 2. ISA가 구현에 끼치는 영향 3. 구현 방식에 따라 CPI나 clock rate에 끼치는 영향 (여기서 배우는 기본 개념들은 서버부터 임베디드 processor까지 모든 컴퓨터에 적용된다.) > Overview of Implementation 모든 instructions은 아래 두가지 공통 사항들을 출발점으로 진행된다. 1. PC에 저장된 주소가 가리키는 곳에 저장된 instruction을 memory에 올린다. 2. 양식에 맞게 register 1개 혹은 2개의 값을 읽어온다. 이후 진행 과정은 instructions 종류에 따라 다르게 진행된다. 하지만 RISC-V의 simplicity..

[Computer Architecture] Memory Hierarchy

(교수님께서 챕터5를 보고 챕터4를 하자고 하셔서 그 순서로 정리) programmers는 용량 제한없는 빠른 메모리를 원한다. 이 챕터를 통해 그 환상을 최대한 실현하는 법을 알아본다. 물론 계속 큰 메모리를 계속 빠르게 접근하는 것은 불가능하다. 자 그럼 그 기저에 깔린 원리를 알아보자. > Principle of locality 1. Temporal locality (locality in time) : 특정 item이 한번 referenced되면, 해당 item은 짧은 시간 내에 다시 referenced 된다는 것 2. Spatial locality (locality in space) : 특정 item이 한번 referenced되면, 해당 item의 주변 item들이 짧은 시간 내에 다시 refer..

[Computer Architecture] Arithmetic for Computers(2)

IEEE 754와 부동소숫점, 10진수2진수 변환 등을 다룬 글 > 시간나면 꼭 한번 읽어보기 : What Every Computer Scientist Should Know About Floating-Point Arithmetic 실수를 나타내는 방법 중 Scientific notations이란 것이 있다. 소숫점 왼쪽에 숫자가 하나만 있는 경우를 말한다. ex) 2.17x10^6, 0.7x10^(-1) 이런 Scientific notations 중 소숫점 왼쪽에 0이 아닌 숫자가 오는 경우를 Normalized 됐다고 한다. 이진수로 표현된 실수를 모두 Normalized form으로 변경하면 모두 아래와 같이 정형화(?)된다. 우리는 모든 실수를 위와 같이 표현할 수 있는 것이다. 어떻게 저장할까? ..

[Computer Architecture] Arithmetic for Computers(1)

앞서 Chapter 2까지는 interger에 대해서만 다뤘다. 이번 챕터에선 연산을 좀 더 깊이있게 다룬다. Addition and Subtraction 컴퓨터에서 덧셈은 그냥 사람이 계산하는 것처럼 계산한다. carry가 생기면 올려버리고,, 대신 2진수로 한다는 점이 좀 다르다. 또 음수는 2의 보수로 표현해서 덧셈으로 진행된다. 그리고 비트 수가 제한돼있어서 올라가는 carry가 비트수를 넘어가면 그냥 버려진다. 이렇게 연산결과가 hardware로 표현할 수 없는 경우를 overflow라고 한다. 2의 보수 인 경우 Overflow Detection 1. 덧셈에서 서로 다른 부호를 연산하면 절대 overflow가 발생하지 않는다. 2. 뺄셈에서 서로 같은 부호를 연산하면 절대 overlfow가 발..

Language of the Computer

컴퓨터의 언어로 쓰인 단어를 instructions라고 하고, 그 vocabulary를 instruction set이라 한다. 사람이 읽을 수 있는 instruction과 기계가 읽을 수 있는 instruction, 두가지 형태를 가진다. 기계어 형태, assembly어 형태 이런 instruction set이 바로 hardware와 software 사이 interface이다. Instruction은 Opcode(operation code)와 Operands 두가지 부분으로 나뉜다. Opcode에 따라 Operands에 연산을 수행하는 것이다. Instruction set이 computer마다 다른 것은 맞지만, 그렇게 다르진 않다. 왜냐하면 모든 computer는 비슷한 하드웨어 기술로 만들어지고, 제..

Introduction

공통 집합의 hardware technologies가 computers에 사용되지만, 종류는 크게 3가지로 나뉜다. 1. Personal Computers (PCs) 2. Servers : 주로 network를 통해서만 접근된다. 3. Embedded Computers Post-PC Era Personal Mobile Device(PMD)가 급증해 PC를 대체해나가기 시작했다. 요즘의 PMD는 smart phone이나 tablet computer이지만, 이후엔 electronic glasses가 될지 모른다. 기존의 Server를 대체하는 놈도 등장하기 시작했는데, Cloud Computing이란 것이다. Cloud Computing은 Warehouse Scale Computers(WSCs)라는 큰 da..