전통적인 컴퓨터 응용 분야
개인용 컴퓨터
낮은 가격으로 단일 사용자에게 좋은 성능 제공
제 3자 소프트웨어 실행
서버
과거 대형 컴퓨터로 불리던 것의 현대적 형태
보통 네트워크를 통해서만 접근
신용도의 중요성
임베디드 컴퓨터
다른 하드웨어와 한 덩어리로 묶인 단일 시스템으로 공급
한 가지 응용을 수행하거나 서로 연관된 일련의 프로그램을 실행
최소한의 성능만 유지하면서 가격과 소모 전력은 엄격히 제한
하드웨어 설계 시
속도와 비용, 그리고 전력소모 등을 고려해서 설계를 해야 합니다.
그리고 이것에 영향을 미치는 것은 먼저 기술이 필요하겠지만 속도에는 알고리즘, 프로그래밍 언어, 컴파일러, ISA, 운영체제, 프로세서/메모리/IO 시스템 등 다양한 요소가 존재합니다.
컴퓨터 구조 개발의 7가지 아이디어
1. 설계를 단순화하는 추상화
2. 자주 생기는 일을 빠르게
3. 병렬성을 이용한 성능 개선
4. 파이프라이닝을 통한 성능 개선
5. 예측을 통한 성능 개선
6. 메모리 계층구조
7. 여유분을 이용한 신용도 개선
소프트웨어의 계층적 구조
하드웨어 < 시스템 소프트웨어 < 어플리케이션 소프트웨어
여기서 시스템 소프트웨어에는 운영체제, 컴파일러(상위 수준 언어를 기계어로 번역) 등이 있습니다.
Elapsed time VS CPU time
Elapsed time : 전체 응답 시간 (Processing, I/O, OS overhead 포함)
CPU time: CPU에서 걸리는 시간
CPU time은 클락이 상승할 때마다 새로운 일을 시작합니다. 그것에 맞춰서 load, store 같은 걸 실행합니다. instruction 마다 소모되는 클락의 수가 다릅니다. 이는 비는 시간이 없도록 하기 위함인데요.
CPU에 영향을 미치는 3가지
- CPI - instruction 당 몇 싸이클을 소비하는지
- Clock period(Cycle time)
- IC - Instruction의 개수 (Instruction Count)
CPU time = Clock cycle X Clock period = Clock Cycle / Clock Rate *중요
평균 CPI가 적은 것을 사용한다
프로세서 칩을 몇개 묶어놓은 것을 멀티 프로세서이며 칩 안에 멀티 코어 프로세서 내에서 코어끼리 협업하는 것입니다. 칩 내에서 통신하는 것이 더 편하기 때문에 이제 칩 내부에 여러개를 넣으며 이것이 CORE입니다.
병렬처리의 어려움
- 프로그래밍 작성의 어려움
- Load balancing
- Core/processor 간 통신 및 동기화
소비전력은 그렇게 중요 x
'IT 프로그래밍 > 컴퓨터구조' 카테고리의 다른 글
[컴퓨터구조] Processor1 (0) | 2024.12.17 |
---|---|
[컴퓨터구조] processor1 (0) | 2024.12.17 |
[컴퓨터구조] Dapapath (1) | 2024.12.11 |
[컴퓨터구조] CPU 구조 (0) | 2024.12.11 |
[단국대 강의] MIPS 컴퓨터 구조 instruction (0) | 2024.09.29 |