Computer Science/Computer Architecture

    [컴퓨터 구조] Ch8. Memory and I/O Systems(2) Virtual memory

    이전 posting 이어서 작성. Refrence : David Harris, Sarah Harris - Digital Design and Computer Architecture 8.4 Virtual Memory memory를 실제 용량보다 더욱 커보이게 만드는 방법 Virtual address program은 virtual address를 사용한다. virtual address space는 모두 hard drive에 저장된다. 일부는 DRAM에 올려둔다. (DRAM부터 접근, 없으면 hard drive) CPU는 virtual address → physical address 로 변역하여 사용한다. Memory protection 각 program은 각자의 virtual - physical mapping..

    [컴퓨터 구조] Ch8. Memory and I/O Systems(1) - Cache

    Refrence : David Harris, Sarah Harris - Digital Design and Computer Architecture Topics Memory System Performance Analysis Caches Virtual Memory Memory-Mapped IO 8.1 Introduction 컴퓨터의 성능은 다음 요소에 의해 결정된다. Processor performance Memory system performance ⇒ 하지만, 기술이 발전하면서 single core 성능을 높이는데 한계에 달았고, 이제memory system의 성능을 높이는 것이 중요하다. ⇒ 빠르고, 싸며, 용량이 큰 이상적인 메모리를 만들어야 하지만, 세가지 요소를 모두 충족시킬 수 없어 2가지만을 충..

    [컴퓨터 구조] Ch7. Microarchitecture

    Refrence : David Harris, Sarah Harris - Digital Design and Computer Architecture Topics Performance Analysis Single-Cycle Processor Pipelined Processor Exceptions Advanced Microarchitecture 7.1 Introduction Microarchitecture : 하드웨어에 architectrue를 구현 (1) Single-cycle : 각 명령어가 한 번에 single cycle로 실행 (2) Multicycle : 각 명령어들이 여러 cycle로 실행 (3) Pipelined : 각 명령어들이 여러 cycle로, 여러 개의 명령어들이 동시에 실행, 파이프라인으로..

    [컴퓨터 구조] Ch6. Architecture (3) - Addressing Mode, Odds & Ends

    Addressing Modes Operand(피연산자)의 주소를 나타내는 방법에는 총 아래의 5가지가 있습니다. Register only Immediate Base Addressing PC-Relative Oseudo Direct 1. Register Only Operands found in register ex) add $s0, $t2, #t3 ex) sub $t8, $s1, $0 2. Immediate 16-bit immediate used as an operand ex) addi $s4, $t5, -73 ex) ori $t3, $t7, 0xFF 3. Base Addressing base address + sign-extended immediate ex) lw $s4, 72($0) ⇒ address ..

    [컴퓨터 구조] Ch6. Architecture (2) - Programming

    여기서는 위에서 살펴본 assembly code, machine code로 high-level software constructs를 구현하는 방법을 소개합니다. (if/else, for loops, while loops, arrays, function calls) Logical Instructions and, or, xor, nor = R-type andi, ori, xori = I-type Example Shift Instructions sll : shirt left logical ⇒ sll $t0, $t1, 5 # $t0 5 Variable Shift Instructions sllv : shift left lofical varialble srlv : shfit right logical variable..

    [컴퓨터 구조] Ch6. Architecture (1) - Assembly Language, Machine Language

    Refrence : David Harris, Sarah Harris - Digital Design and Computer Architecture 목차 Assembly Language Machine Language Programming Addrssing Modes Compiling, Assembiling, Loading Odds and Ends Introduction Architecture : instructions와 operand locations들로 정의된다. ISA : Instruction set architecture Microarchitecture : Architecture를 하드웨어로 구현하는 방식 Instruction : Computer의 언어로 내리는 명령어 1. Assembly Langua..

    [컴퓨터 구조] Ch5. Digital Building Blocks (3) - Memory Arrays, Logic Arrays - ROM, DRAM, SRAM 중점으로

    Refrence : David Harris, Sarah Harris - Digital Design and Computer Architecture 목차 Arithmetic Circuits Number Systems Sequentail Building Blocks Memory Arrays Logic Arrays Memory Arrays 보통 세 가지의 타입이 존재합니다. Dynamic random access memory (DRAM) Static random access memory (SRAM) Read Only memory (ROM) 2-dimensional array of bit cells 위 그림에서 각 bit cell에는 1 bit의 정보를 저장합니다. 그리고 한 주소 당 width만큼의 데이터를 저..

    [컴퓨터 구조] Ch5. Digital Building Blocks (2) - Number System : Floating-point number 부동 소숫점 중심으로

    Refrence : David Harris, Sarah Harris - Digital Design and Computer Architecture 목차 Arithmetic Circuits Number Systems Sequentail Building Blocks Memory Arrays Logic Arrays Number Systems 여기서는 컴퓨터가 fraction을 어떻게 표현하는 지 배웁니다. 음수의 경우 2의 보수로 표현하면 되지만, 소수는 어떻게 표현해야 할까요? 소숫점이 고정이냐 유동적이냐에 따라 두 가지 방법으로 나뉩니다. Fixed-point Floating-point (1) Fixed-point 6.75를 4 integer bits와 4 fraction bits로 표현하면, 0110.11..