컴퓨터 아키텍쳐
-
Chapter 5 : Memory Hierarchy컴퓨터 아키텍쳐 2022. 6. 15. 20:32
메모리는 크게 3가지로 나뉘어 집니다. Secondary Memory(Disk, Storage) Main Memory Cache Memory Technology 메모리에는 ROM과 RAM이 있습니다. ROM은 Read-Only Memory의 약자로 비휘발성 메모리라는 의미입니다. 전원이 꺼져도 data가 남아있습니다. RAM은 Random Access Memory의 약자로 휘발성 메모리라는 의미입니다. 전원이 꺼지면 data가 날라갑니다. Static RAM(SRAM) 메모리에 access하는데 0.5ns ~ 2.5ns가 들고 GB당 $500 ~ $1000에 가격입니다. Dynamic RAM(DRAM) 메모리에 access하는데 50ns ~ 70ns가 들고 GB당 $3 ~ $6 가격입니다. 이상적인 형태..
-
Chapter 4 : Processor컴퓨터 아키텍쳐 2022. 6. 10. 20:23
Instruction Execution 프로그램에 메모리가 load되면 instruction들은 instruction memory 에 순서대로 주소를 가지며 위치합니다. PC 는 현재 실행하는 명령어의 메모리 주소를 가집니다. (정확히는 다음 명령어) PC에 담긴 주소로 instruction memory에서 instruction을 읽어오는 것을 fetch instruction이라고 합니다. instruction에서 레지스터 번호($at, $t0, $s0,...)를 통해 레지스터에 접근하여 값을 읽어오는것을 read register라고 합니다. instruction의 class에 따라 계산에 ALU를 사용하기도 합니다. 또한 메모리에 접근하여 데이터를 load /store할 수 있고 PC ← target ..
-
Logic Design컴퓨터 아키텍쳐 2022. 4. 18. 20:45
Overview of Logic Design Fundamental Hardware Requirements (하드웨어의 기본 요건) 1. Communication (어떻게 다른곳으로 값을 얻는지) 2. Computation (계산) 3. Storage (저장소) Bits are Our Friends (bit들은 우리의 친구입니다.) 모든 것은 0과 1로 표현됩니다. Digital Signals 전압값은 0에 해당하는 영역, 1에 해당하는 영역, Guard range(보호영역) 총 3개의 영역으로 구분됩니다. 즉, 보호범위에 있지 않은 전압들은 0 또는 1로 해석됩니다. 이러한 원리로 신호에 가해지는 작은 noise들은 데이터의 표현에 거의 영향을 주지 않으며 CPU 내부 회로를 더욱 단순하게 design ..
-
Chapter 3 : Arithmetic for Computers컴퓨터 아키텍쳐 2022. 4. 11. 19:01
Arithmetic for Computers 컴퓨터는 인간이 아니기 때문에 한정된 bit안에 수를 저장합니다. 만약 한정된 bit를 초과하는 수를 저장하면 Overflow가 발생합니다. 덧셈 연산에 overflow가 발생하는 경우는 다음과 같습니다. 1) 두 개의 양수를 더했는데 결과가 음수가 나옴 2) 두 개의 음수를 더했는데 결과가 양수가 나옴 뺄셈 연산에 overflow가 발생하는 경우는 다음과 같습니다. 1) 음수 - 양수의 결과값이 양수 2) 양수 - 음수의 결과 값이 음수 Dealing with Overflow C언어의 경우 Overflow를 무시 MIPS instruction에서는 add, addi, subu가 무시합니다. 반면에 다른언어(Ada, Fortan)의 경우 Overflow가 발생..
-
Chapter 2 : Instructions : Language of the Computer컴퓨터 아키텍쳐 2022. 3. 24. 00:53
Instructions 일의 기본 단위입니다. CPU에서 실행되는 동작 또는 동작코드입니다. instruction은 순차적으로 실행됩니다. 즉, CPU가 다음을 loop를 돌면서 실행합니다. 1. Fetch instrucion (명령어 가져오기) 2. Decode Instruction (명령어 해석) 3. Read source operands (명령어 소스 연산 읽기) 4. Execute (실행) 5. Write destination operand (연산의 목적지 쓰기) 6. Compute next PC (다음 PC를 계산) Assembly and Binary code Assembly binary 코드가 텍스트 형식 컴퓨터 하드웨어는 이해하지 못함 순차적인 instruction Binary code 순차..
-
Chapter 1컴퓨터 아키텍쳐 2022. 3. 6. 23:27
위 게시물은 Computer Organization and Design -The hardware / software interface" by Patterson and Hennessy, 5th edition, 2013 을 참고하여 작성했습니다. Understanding Program Performance 프로그램의 성능을 이해하는데 있어서 크게 4가지 요건이 있습니다. 1) 알고리즘 : 연산 횟수를 결정합니다. 2) 프로그래밍 언어, 컴파일러, 구조 : 작업당 실행할 기계 명령 수를 결정합니다 3) Processor 그리고 메모리 시스템 : 얼마나 빠르게 명령을 처리할지 결정합니다. 4) I/O 시스템 : 얼마나 빠르게 I/O 작업을 할 수 있는지 결정합니다. Below Your Program 우리가 사용..