ੈ✩‧₊˚Computer Science/컴퓨터구조

    [컴퓨터 구조] 버스(BUS)

    버스란? 컴퓨터 안의 부품들 간에, 또는 컴퓨터 간에 데이터와 정보를 전송하는 통로 버스의 장점 1) 확장성(Versatility) 새로운 기기를 쉽게 붙일 수 있다. 만약 HDD가 고장나면, 나머지 HDD를 다른 새 컴퓨터에 사용할 수 있게한다. 2) 적은 비용 I/O 기기를 연결하는 wire의 집합을 통해 서로 공유된다. 버스의 단점 1) 통신 병목(bottleneck)현상이 나타난다. 한개의 통신만 허용하기 때문에, 전달할 수 있는 대역폭의 용량이 제한된다. 2) bus 속도가 제한된다. 버스 길이에 따라 (버스길이가 길면 속도가 느려진다.) 버스에 붙일 수 있는 기기 수에 따라 굉장히 다양한 종류의 I/O기기가 있는데 이에 속도를 다 맞출 수 없다. Bus 종류 1) control line : c..

    [컴퓨터구조] 입출력 기기( I/O device)

    I/O device 지금까지 memory, processor에 대해 배웠는데, 이런 장치를 통해 컴퓨터가 일을 하고 그 결과를 I/O device를 통해 내보낸다. I/O가 컴퓨터에 없으면 절대 안된다. 예시) keyboard, disk, network, printer, graphic output I/O를 통해 사람들이 컴퓨터와 상호작용한다. I/O가 있어야 long-term 메모리를 가질 수 있다. (HDD,Flash memory는 전원이 꺼져도 데이터를 잃지 않기 때문) I/O는 로봇 제어, 프로펠러,fins, BOB 등에서 이용된다. I/O의 특징 비용, 의존성이 좋다. 확장성과 다양성 성능에 관한 복잡한 고려가 필요 (latency, throughput) 다양성 (고려되야 하는 것) Behavio..

    [컴퓨터구조] 가상메모리(2)

    메모리 접근 시 miss가 발생하는 type = TLB miss, cache miss, page fault (가상 메모리 miss) ☞3개임 메모리 계층구조에서 miss의 경우의 수 = 8가지(2의 3승) 경우의 수 정리 cache TLB virtual mem 가능 ? 불가능 ? + 상황 hit hit hit 가장 좋은 케이스. (1)TLB가 hit이므로, page table을 확인할 필요가 없음(= 메인 메모리 접근 필요 없음) (2)cache가 hit이므로, 변환한 물리적 주소로 캐시에 접근하면 데이터를 가져올 수 있다. miss hit hit 가능. (1)TLB가 hit이므로, page table 확인 없이 가상주소를 물리적 주소로 변환 (2) 변환한 물리적 주소로 cache를 접근했는데 miss ..

    [컴퓨터구조]가상 메모리(Virtual memory)

    가상메모리란? 각 프로그램에 실제 주소가 아닌 가상의 주소를 주는 것, 주기억장치(DRAM)보다 큰 용량을 사용하고자 할 때 이용한다. DRAM과 HDD간의 requirement 1. 이전 게시글을 참고하면, 캐시의 속도와 메인메모리(DRAM)의 용량을 한번에 가지고 싶기에, 우리는 locality를 사용했다. 이와 같이, 가상메모리를 이용해 메인메모리(DRAM)의 속도와 하드디스크의 용량의 장점을 모두 이용한다. 2. 여러개의 프로세서 간의 메모리를 공유한다. 하지만, 서로 데이터를 read하거나 write하지 않도록 만들어 protection을 제공한다. 3.주소 공간(Address space) - 각 프로그램이 전체 메모리를 다쓰고 있는 것처럼 보이게 한다. 어떻게 ? 가상메모리를 이용한다. 왜? ..

    [컴퓨터구조]캐시 메모리 성능 향상 (improving cache memory performance) / three placement policy

    multiple word direct mapped cache : 일반 direct mapped cache에서 spatial locality를 할 수 있도록 보완한 구조 - 캐시 한 라인의 데이터 block을 한번에 인접한 여러개의 데이터를 가져다 놓음 - 다른 데이터가 miss날 것을 예방 - 4개의 data가 같은 tag와 valid를 공유하고 있다. (절약) - 추가적으로 block offset이 필요 : 한 block안에서 4개 data중 1개의 data를 구분하여 출력하게함 (mux이용) -miss가 나면 block 중에 하나의 data만 교체하는 것이 아니라 block단위로 전체를 교체해야한다. 질문) 4개의 word를 한번에 가져오는 것이 과연 이득인가? 답) 주소를 하나주고 1개의 word를..

    [컴퓨터구조] 부동 소수점 연산(Floating point number arithmetic)

    floating point number arithmetic이 왜 필요한가? - 소수점 표현을 위해 ex) 3.1416 - 아주 작은 수 표현을 위해 ex) 0.00000001 - 아주 큰 수 표현을 위해 ex) 3.1555 & 10^9 부동 소수점 연산 notation -coefficient : 계수 , base number : 진수 , exponent : 지수 ex) 7.151666 * 10^4 ( coefficient : 7.151666, base number : 10, exponent : 4 ) ▩ 10진수의 경우 coefficient 의 범위는 1