Computer Engineering 28

24. USB(Simple)

Universal Serial Bus (USB)컴퓨터의 각종 주변 기기들을 쉽게 연결하기 위한 인터페이스 규약으로 현재 다른 규격들을 제치고 Universal 규약으로 자리 잡음당초에는 노트북의 확장성을 위해 개발되었지만 오늘날 거의 모든 컴퓨터와 휴대폰 관련 주변기기 인터페이스로 자리 잡음데이터 통신이 주 목적이었지만 주변기기 전원 공급 및 휴대기기 충전 단자의 표준현재는 USB-C type으로 통일되어가는 추세특징Host controller가 end point들 device들을 제어하는 방식, Host Controller만 IRQ(Interrupt ReQuest)가 할당되기만 하면 여러 개의 USB 주변기기를 연결할 수 있다는 높은 확장성Hot plugging, Plug and Play를 지원하여 컴..

23. Computer Architecture(2)

Relative AddressingMulti-programming system에서 user program의 address를 읽어들이기 위한 기술인 index register와 relative addressingMemory Management Units(MMU)Address 종류memory에 접근하기 위해서는 address가 필요하며 이 address를 지정하는 방식은 크게 2가지임.Logical Address(= Virtual Address)기본적으로 process마다 독립적으로 할당되는 주소 공간각 process마다 0부터 시작CPU와 program, programmer(low-level language)가 사용하는 addressPhysical Addressmemory에 실제 올라가는 위치MMUCPU가..

22. Computer Architecture(1)

von Neumann vs Havard ArchitectureCPU 외부에서는 von Neumann architecture를 따르며 내부에선 Havard architecturevon Neumann architectureEDVAC 관련 보고서에서 등장하고, EDSAC에서 최초로 구현된 컴퓨터 구조stored program 방식으로도 불리며 data와 program이 동일한 공간에 저장되고 동일한 bus 사용Harvard architectureMark 1 컴퓨터가 채택한 방식으로 program과 data가 저장되는 memory와 bus가 분리된 것을 제외하면 von Neumann 구조와 매우 유사분리된 memory와 bus를 통해 동시에 program과 data 접근이 가능하므로 von Neumann보다 빠..

3. More about Interrupt

More about Interrupt오늘날 OS는 interrupt를 기반으로 동작함.interrupt가 발생하면 CPU는 현재 하는 일을 멈추고 해당 interrupt를 해결하기 위해 동작함.processor가 특정 동작을 하고 있는 중에 다른 device들에게서 interrupt가 오는 경우, 현재 실행되고 있는 일을 멈추고 해당 interrupt에 대응하는 Interrupt Service Routine(ISR)이 수행하는 것을 가리킴.여기서 routine은 어떤 동작을 수행하는 프로그램 코드를 의미Interrupt 작동단계 : ex) KeyboardKeyboard의 controller에서 key up, key down 등의 interrupt를 일으키는 event 감지Keyboard에서 전기적 신호가..

21. RISC, CISC, and GPU

RISC(Reduced Instruction Set Computer)대부분의 프로그램에서 많이 사용되는 instruction만으로 구성된 instrution set을 가짐.적은 수의 최적화된 instruction들로 구성되어 매우 빠른 실행속도를 가지며 보다 단순한 구조의 CPU 설계가 가능Advanced RISC Machine(ARM), RISC-V가 대표적인 예시로 현재는 대부분 태블릿이나 휴대폰 등에서 사용cf) 태블릿, 휴대폰의 CPU는 Application Processor(AP)라고 함load-store structure 사용 => loading 및 storing instruction들만 memory에 접근 가능하고 evaluating instruction들은 register에만 접근 가능.한..

20. CPU

CPU(The Central Processing Unit)ALU, Register, Control Unit(or Execution Unit)으로 구성위의 3가지 구성요소를 core라고 함. 이외에도 CPU는 cache memory, internal bus 등을 포함하고 있음.Microprocessor과거 CPU는 여러 개의 chip으로 만들어졌으나 현재는 대부분 one-chip으로 구현됨. 때문에 microprocessor와 혼용되어 사용됨.Processor 중 device의 중심이 되는 것을 CPU라 하고 보조적 역할의 processor는 co-processor라고 부름. (그래픽 카드가 일종의 co-processor)Micro Controller Unit(MCU)CPU의 기능을 하는 핵심 장치과 그 ..

19. Memory and Bus

Memory컴퓨터에서 bit들을 저장하는 장소Memory Location and Addressmemory access는 address를 통해 이루어짐address가 다르면 memory 내 위치가 다름Memory의 1byte 별로 address를 할당하는 Byte oriented addressing이 사용됨.위 그림에서 집은 1byte의 같은 크기를 가지는 각각의 memory location을 의미함.각각의 memory location에는 byte address가 할당되어 있음.64bit computer의 경우 이런 memory location이 $2^{64}(=n)$개 존재할 수 있음.Memory Lane = Memory Bus, City Center = CPUMemory address를 지정할 때는 일..

18. Hardware vs Software

Hardware vs Software일반적인 SW와 HW는 수행해야할 logic이 programming source code로 구현되느냐, 아님 gate들로 구성된 chip으로 만들어지느냐의 차이로 구분됨.SW는 CPU(or MPU)에서 동작하거나 해당 SW를 수행할 수 있는 HW에서 동작하므로 핵심 logic인 program만 변경하면 다른 task를 수행하거나 좀 더 개성된 형태로 동작 가능HW는 제조가 되고 난 후에 설계된 task만 수행할 뿐 변경이 어려움. 하지만, 해당 task를 CPU 대비 빠르게 수행하면서 개별 단가가 낮다는 장점.Firmware원래 firmware는 ROM에 저장된 software를 의미.전원이 나가도 유지가 되어야하는 logic을 programming code를 comp..

17. About Memory(2)

Block Devicebit나 depth 단위로 access가 이루어지는 RAM, ROM과 달리 특정 크기의 bytes(block) 단위로 access가 이루어지는 deviceRAM 등에서는 block access가 아닌 random access가 이루어짐.컴퓨터에서 사용하는 고밀도 대용량의 기억장치들은 block device이며 보조기억장치로 활용됨.최근에는 SSD에 의해 점유율 위협Disk Drive대표적인 non-volatile 기억장치보조기억장치의 대명사Direct Access Storage Device & media (DASD)DASD보조기억장치들 중 저장된 데이터를 access하는데 해당 데이터가 저장된 순서나 위치에 상관없이 동일한 수준의 시간이 걸리는 장치들을 가르킴.block 단위로 ac..