목록전공/컴퓨터구조 (6)
수정입니다

Problems 두개의 프로그램이 동시에 하나의 메모리를 사용하고 싶음 --> 만약 그렇게 한다면, 이 하나의 main memory를 공유하고싶음 (하나의 프로그램에서 두개의 instance를 돌리는 것도 비슷한 문제) 프로그램 A는 2GB memory가 필요한데, 내 컴퓨터는 1GB뿐임 memory size를 알 필요 없이 software를 쓰고 싶음 Virtual Memory main memory를 2차 저장장치인 disk의 "cache"로써 사용한다 --> 여러 프로그램들이 효율적이고 안전하게 메모리를 공유하기 위해 --> 작고 제한적인 main memory에서 프로그래밍 하는 부담을 줄이기 위해 --> CPU hardware 와 operating system(OS)이 같이 관리함 program..

Associative Caches Fully associative --> allow a given block to go in any cache entry --> more flexible, reduce miss rate!!! --> requires all entries to be serached at once --> comparator per entry => expensive! M-way set associative (Fully 와 Direct map의 중간 지점) --> Each set contains M entries --> block number determines which set (block number) % (number of sets in cache) --> serch all entries..

전 포스팅에 메모리에는 계층이 있고, CPU는 언제나 가장 빠른 메모리를 이용한다고 했다. Cache memory The level of the 'memory hierarchy' closest to the CPU (fastest) cache가 가장 빠른 메모리인건 알겠는데, 내가 찾고자 하는 정보가 cache의 대체 어디에 저장 되어있을까? (simply, word 단위의 데이터, block = 1word = 4bytes 가정) Where do we look? and put? Direct-mapped Fully associative M-way Set associative Direct Mapped Cache Location determined by memory address Direct ma..
메모리에는 계층이 존재 SRAM(cache in CPU) --> DRAM(main memory) -- SSD -- Magnetic disk(HDD) (fastest,expensive) ---------------------------------------------> (slowest, cheap) GOAL "size of the cheapest memory, with speed of fastest memory" Principle of Locality programs(sw) access a small propotion of their address space(memory) at any time Temporal locality(Time) 가장 최근에 접근했던 걸 다시 접근할 확률이 높다 ex) l..

MIPS Pipelined Datapath IF -> ID -> EX -> MEM -> WB -> 한 cct에 최대 5개의 stage 실행 가능 만약, IF stage가 current instruction 이라면 ID stage는 previous instruction을 실행하고 있을 것 ex) c1 c2 c3 c4 c5 ( clock cycle time, 세로로 묶었을 때가 현 시점(c2) 실행되는 stage들) IF ID EX MEM WB - 이전 명령은 같은 cct에서 ID stage를 실행하고 있음. IF ID EX MEM WB - IF stage가 수행하는 것이 현재 명령이라면, 같은 논리로, 시점을 바꿔서 생각해보면 만약, ID stage가 current instruction이라면 ,..
Pipelining overlapping execution MIPS Pipeline IF : Instruction fetch from memory ID : Instuction decode & register read EX : Execute operation or calculate address MEM : Access memory operand WB : Write result back to register ex) R-format : IF-ID-EX- X - WB SW : IF-ID-EX-MEM - X - LW : IF-ID-EX-MEM-WB => slowest Pipelined - - one stage must finish one clock -> clock sycle -> slowest stag..