Average CPI | 평균 CPI (Cycles Per Instruction) CPU 하드웨어에 의해 결정된다. 명령 혼합(Instruction mix)의 영향을 받는다. 프로그램의 명령 개수(Instruction Count)는 프로그램, ISA 및 컴파일러에 의해 결정된다. $$Clock Cycle=Instruction Count \times CPI(Cycles Per Instruction)$$ $$CPU Time=Instruction Count \times CPI \times Clock Cycle Time$$ $$= \frac{Instruction Count \times CPI}{Clock Rate}$$ 참고사항 $$*Clock Cycle Time = \frac{1}{Clock Rate} $$ C..
CPU Time | CPU 시간 $$CPU Time = (CPU Clock Cycles) \times (Clock Cycle Time)$$ $$= \frac{CPU Clock Cycles}{Clock Rate}$$ 성능은 다음에 의해 향상된다. 클럭 주기(clock cycles) 수 감소 클럭 속도(clock rate) 증가 이로인해, 하드웨어 설계자는 종종 클럭 속도와 주기 수를 균형 있게 조정해야 한다. CPU Time Example 컴퓨터 A : 2GHz clock, 10s CPU time 설계할 컴퓨터 B의 조건 6초 CPU 시간을 목표로 한다. 클럭 속도를 높일 수 있지만, 1.2 x 클럭 주기(clock cycles)를 증가한다. B 컴퓨터 클럭(Clock)은 얼마나 빨라야 할까? $$Cloc..
CPU Clocking | CPU 클럭디지털 하드웨어는 일정한 속도의 클럭(Clock)에 의해 작동된다.Clock period | 클럭 주기클럭이 신호의 한 주기를 말한다. Ex) 250ps = 0.25ns = 250×10-12s*1ps=0.001ns=10-12s / 1ns = 1000ps = 10-9sClock frequency (클럭 진동수) : Cycles per second (1초 당 반복 수)Ex) 4.0GHz = 4000MHz = 4.0×$10^9$Hz*$10^9$=10억
"X가 Y보다 n배 빠르다" Performance = 1/Execution Time | 성능 = 1/실행 시간 이전, 성능과 시간이 반비례한다는 것을 배웠다. 이전 학습 바로 가기 Measuring Execution Time | 처리 시간 비교 처리 시간은 프로그램이 실행되는데 걸리는 전체 시간이며 이에 Elapsed time이 포함된다. Elapsed time | 경과 시간 모든 측면을 포함한 총 응답 시간이다. (Processing, I/O, OS overhead, idle time 등) 즉, 프로그램이 시작되고 종료될 때까지의 시간이다. 시스템 전체의 성능을 정의한다. Elapsed time은 CPU에서 프로그램을 실행하는 시간(CPU time)과 자원을 기다리는 시간(Wait time)으로 구성된..
Response Time and Throughpu Response Time | 응답 시간 작업을 수행하는데 걸리는 시간이다. Throughpu | 처리량 시스템이 처리할 수 있는 요청의 수다. 예를 들어 시간당 작업이나 트랜잭션의 수를 의미한다. 위 설명에 대한 상대적 성능에 대해 알아보자. Performance = 1/Execution Time | 성능 = 1/실행 시간 성능과 시간이 반비례한다는 것을 나타내는 공식이다. Performance는 Execution Time의 역수로 정의된다. 즉, 실행 시간이 짧을수록 성능은 높아진다. Ex) 컴퓨터 A가 프로그램을 10초에 실행하고 컴퓨터 B가 같은 프로그램을 20초에 실행한다면, A의 Performance는 B의 Performance보다 2배 높습니다..
Components of a Computer 모든 종류의 컴퓨터에는 Desktop, server, embedded의 동일한 구성 요소가 존재한다. Input/output | 입/출력 장치 사용자 인터페이스 모니터, 키보드, 마우스 등 저장 장치 하드 디스크, CD/DVD, Flash 등 네트워크 어댑터 다른 컴퓨터와 통신하기 위해 사용된다. Touchscreen | 터치스크린 (PostPC) 키보드와 마우스를 대체하며, 저항성(압력 반응) 및 정전용량성(전기 반응) 유형이 있다. 대부분의 태블릿과 스마트폰은 정전용량성 터치스크린 유형이다.
Levels of Program Code 이어서 Software의 High-level language를 기계어로 번역하여 Hardware로 전달된다. 이에 번역되는 과정에서 각 수준별의 프로그래밍 언어가 존재한다. High-level language | 고급 언어 대표적으로 C, Java, Python ···등 컴파일러(Compiler)을 통해 어셈블리어로 번역된다. 높은 생산성과 더불어 다양한 환경에서 프로그래밍 언어를 사용할 수 있는 이점이 있다. Assembly language | 어셈블리어 어셈블리어는 어셈블러(Assembler)를 통해 기계어로 번역한다. 즉, 하드웨어의 명령어를 텍스트로 표현한 언어이다. Hardware representation | 하드웨어 표현(기계어) 2진수(bits)로 ..
Below Your Program 프로그램이 실행되기 위해 필요한 하드웨어와 소프트웨어의 계층 구조를 의미한다. 컴퓨터 내부의 소통을 위해 위 그림과 같이 구조화가 되어 있음을 알 수 있다. 프로그램은 일련의 기계의 명령어로 구성되어 있으며, 이 명령어 들은 컴퓨터 내부의 기계어로 변환되어 실행된다. 그런데 이 기계 명령어들을 실행하기 위해서는 하드웨어 구성 요소와 소프트웨어 구성 요소가 필요하다. 즉, 프로그램 내에 어떻게 소통을 하는지 Application software, System software, Hardware를 통해 알아보자. Application software 일상에서 흔하게 접할 수 있는 프로그램(워드 프로세서, 미디어 플레이어 등의 프로그램)의 일종이다. Application sof..