1. Classes Of Computer
- Desktop Computers
• 범용으로 사용이 되는 컴퓨터
• cost와 performance의 trade-off를 고려
- Server Computers
• 네트워크 기반의 고성능 컴퓨터
- Embedded(=Hidden) Computers
• 시스템의 한 요소로써 숨겨져 있는 내장 컴퓨터
ex) HDTV, Navigation...
2. HW & SW
- Software
• HLL로 쓰여진 Application SW, 컴파일러, I/O나 Memory Management를 담당하는 OS로 이루어진 System SW등으로 구성
- Hardware
• SW와 달리 물리적으로 형체가 존재하는 것들
ex) 프로세서, 메모리, 입출력장치
3. Levels of Program Code
- High-level language(HLL)
• 사람이 이해하기 쉽도록 작성이 된 프로그래밍 언어
• 컴파일러로 인해 어셈블리 코드로 변환
- Assembly language
• 기계어와 1:1로 대응시켜 코드화 된 언어
--> 기계어 1라인 당 어셈블리 1라인이 대응
- Machine language
• 어셈블리어를 가지고 어셈블러에 의해 변환이 된 결과
• Binary digit(bits)
4. A Safe Place for Data
- Volatile main memory(휘발성메모리)
• 주기억장치
• power가 꺼지면 instruction과 data를 잃어버리는 메모리
ex) DRAM, SRAM....
- Non-volatile secondary memory(비휘발성메모리)
• 휘발성메모리와 달리 power가 차단되도 정보를 잃어버리지 않음
ex) Magnetic disk, Flash memory....
5. Networks
- LAN(Local Area Network)
• 빌딩 내와 같은 가까운 거리 내의 pc를 연결하는 네트워크 망
- WAN(Wide Area Network)
• 거리가 있는 PC들을 연결하는 네트워크 망(인터넷)
6. Response Time and Throughput
- Response Time
• 한 작업 당 걸리는 시간(작업 개시 ~ 종료)
- Throughput
• 일정 시간 동안 처리하는 작업의 양
• X의 퍼포먼스 / Y의 퍼포먼스 = Y의 실행시간 / X의 실행시간 = N
--> X는 Y보다 N배 빠르다
- Elapsed time
• 한 작업을 끝내는데 걸리는 시간, 디스크-메모리 접근 + 운영체제 오버헤드... 다 더한 것
- CPU time
• 순수 CPU 실행 성능을 나타내는 시간
8. CPU Time
- Clock Cycle Time(CCT)
• clock period, cycle의 길이를 나타내는 단위
- Clock frequency(Clock rate)
• 1초당 cycle의 수를 나타냄
• Clock Cycle Time과 역수 관계
CPU Time = CPU Clock Cycles x Clock Cycle Time = CPU Clock Cycles / Clock Rate
Clock Cycles = Instruction Count x Cycles per Instruction
CPU Time = Instruction Count x CPI x Clock Cycle Time
• CPU Clock Cycles = 어떤 일을 수행하는데 CPU가 몇 개의 Clock이 필요한지
• CPI = 명령어(Instruction)당 필요한 Cycle의 수
9. Manufacturing ICs
- IC
• 집적회로
• 저항, 콘덴서, 트랜지스터 등 전자부품으로 구성된 큰 회로를 작게 뭉쳐 하나의 칩으로 만든 것
--> 전자부품을 고밀도로 집적하여 패키지화 시킨 것
실리콘 잉콧 자르기 -> Blank Wafers생성 -> Patterend Wafers생성 - > 테스트 후 불량 Chip 거르기 -> Packaged dies 생성 -> 테스트 후 출하
• Yield : Wafer당 정상 dies의 수
10. Amdahl's Law
• 컴퓨터의 어떤 일부분을 향상시키면 전체적인 성능 향상을 기대할 수 있다.
• 개선 후의 실행시간 = (개선에 영향을 받은 실행 시간 / 성능 향상 비율) + 영향을 받지 않은 실행시간
• 일부분의 성능 향상으로는 전체 성능 향상에 한계점이 존재