'이론 관련/컴퓨터 관련'에 해당되는 글 86건

  1. 2015.07.28 MMIO <-> PMIO
  2. 2015.04.17 pkzip 포맷
  3. 2015.04.09 wear leveling dynamic static(global)
  4. 2015.04.01 IrDA
  5. 2015.01.29 MPEG4 HE-AAC 관련
  6. 2015.01.23 SBR - Spectral band replication
  7. 2014.11.26 ntp / ptp
  8. 2014.11.26 네트워크 지연시간 설정 및 측정
  9. 2014.11.26 동기 비동기
  10. 2013.10.08 파이프 라인 / 슈퍼스칼라

MMIO 반대말이 안떠올라서 저장 ㅋ


Memory-mapped I/O (not to be confused with memory-mapped file I/O) uses the same address bus to address both memory and I/O devices – the memory and registers of the I/O devices are mapped to (associated with) address values. So when an address is accessed by the CPU, it may refer to a portion of physical RAM, but it can also refer to memory of the I/O device. Thus, the CPU instructions used to access the memory can also be used for accessing devices. Each I/O device monitors the CPU's address bus and responds to any CPU access of an address assigned to that device, connecting the data bus to the desired device's hardware register. To accommodate the I/O devices, areas of the addresses used by the CPU must be reserved for I/O and must not be available for normal physical memory. The reservation might be temporary, such as with the Commodore 64 that does bank switching between its I/O devices and regular memory, or permanent.


Port-mapped I/O often uses a special class of CPU instructions designed specifically for performing I/O, such as the in and out instructions found on microprocessors based on the x86 and x86-64 architectures. Different forms of these two instructions can copy one, two or four bytes (outb, outw and outl, respectively) between the EAX register or one of that register's subdivisions on the CPU and a specified I/O port which is assigned to an I/O device. I/O devices have a separate address space from general memory, either accomplished by an extra "I/O" pin on the CPU's physical interface, or an entire bus dedicated to I/O. Because the address space for I/O is isolated from that for main memory, this is sometimes referred to as isolated I/O.


[링크 : https://en.wikipedia.org/wiki/Memory-mapped_I/O]

'이론 관련 > 컴퓨터 관련' 카테고리의 다른 글

tsl - test and set lock  (0) 2015.11.23
SNTP - Simple NTP  (0) 2015.11.12
pkzip 포맷  (0) 2015.04.17
wear leveling dynamic static(global)  (0) 2015.04.09
IrDA  (0) 2015.04.01
Posted by 구차니

쓸일이 있을진 모르겠다 -_-a


[링크 : https://users.cs.jmu.edu/buchhofp/forensics/formats/pkzip.html]

'이론 관련 > 컴퓨터 관련' 카테고리의 다른 글

SNTP - Simple NTP  (0) 2015.11.12
MMIO <-> PMIO  (0) 2015.07.28
wear leveling dynamic static(global)  (0) 2015.04.09
IrDA  (0) 2015.04.01
MPEG4 HE-AAC 관련  (0) 2015.01.29
Posted by 구차니

wear leveling에는 여러단계가 있는데..

찾아는 봐야 할 듯?


그리고 wear는 닳다, 닳음 정도로 해석하면 균등 닳기 라고 하면 되려나? (어?)


none wear-leveling 일반적인 HDD가 쓰는 방식으로 물리 주소에 수정할 내용을 바로바로 같은 위치에 쓰고

dynamic wear-leveling 비어있는 셀에 만 돌아가면서 쓰고

advanced wear-leveling hot cell을 static cell과 바꾸어서 균등하게 돌려가는 방식

static (or global) wear-leveling 데이터가 있는 부분까지 돌려가면서 쓰는방식



음.. advanced와 static의 설명이 모호한 기분인데..

advanced는 hot cell(빈번하게 데이터가 바뀌는 셀, 그렇다면 MRU 를 관리한다는 의미?)이 발생하면

static cell과 가끔 교체해서 전반적으로 노후율을 비슷하게 유지하는 것이고


static의 경우 전체적인 write count를 비교하여 static 이던 hot이던 상관없이 조금이라도 낮은 것과 교체하는 것이다.


이론적으로야 static/global이 가장 균등하게 소모하고

write count로 하므로 초반부터 균등하게 사용해 들어가는 장점이 있을 것으로 보여진다.


아무튼 wear-leveling은 SLC MLC TLC로 오면서

cell 별 보장하는 write 횟수가 기하급수 적으로 떨어짐으로 인해 더더욱 중요도가 올라가고 있으며

용량이 엄청나게 커질수록 이론상 셀의 수명이 기하급수적으로 늘어나기에

나중에 테라급이 보편화 되면 수명이라는걸 논할 가치도 없어 질지도 모르겠다.


[링크 : http://en.wikipedia.org/wiki/Wear_leveling]

[링크 : http://kr.apacer.com/business/technology/wear-leveling/]

[링크 : http://ap.apacer.com/business/technology/wear-leveling/]


[링크 : http://en.wikipedia.org/wiki/Write_amplification]

'이론 관련 > 컴퓨터 관련' 카테고리의 다른 글

MMIO <-> PMIO  (0) 2015.07.28
pkzip 포맷  (0) 2015.04.17
IrDA  (0) 2015.04.01
MPEG4 HE-AAC 관련  (0) 2015.01.29
SBR - Spectral band replication  (0) 2015.01.23
Posted by 구차니

IrDA는 FIR / SIR / CIR 모드로 작동이 가능한데

CIR 모드는 지원할 수도 있고 아닐수도 있다고 한다.


일반적인 리모컨은 CIR 모드를 지원해야 하고


그게 아니라면 38k * 3 = 114kbps < 115200bps

로 SIR 모드를 지원하는 경우 UART모드로 해서 읽으면 3비트를 하나의 데이터로 해서 읽어 오면

약간의 오류가 있을순 있지만 인식이 가능한 수준이 되는 것으로 보인다.

True. Not only can you use SIR hardware to receive, you can transmit, too. Of course, there are some limitations.

Most IR remote controls use 38 KHz sub-carrier3 times 38 is 114, very close to 115.2. You can set the UART to operate at 115.2 Kbps, 7 data bits, no parity, and 1 stop bit - a total of 9 bits. Each 3 cycles of the 38 KHz sub-carrier can be received or transmitted as a byte of 0x5B.


[링크 : http://tldp.org/HOWTO/Infrared-HOWTO/infrared-howto-c-lirc-irda.html]


FIR은 SIR을 지원해야 가능한 것처럼 보이긴 한데..

IrDA 표준

SIR(Serial Infrared)

FIR(Fast Infrared)

CIR(Consumer Infrared)


[링크 : http://support.hp.com/.../3981255/document/c01486263] 


IrPHY

The mandatory IrPHY (Infrared Physical Layer Specification) is the physical layer of the IrDA specifications. It comprises optical link definitions, modulation, coding, cyclic redundancy check (CRC) and the framer. Different data rates use different modulation/coding schemes:


SIR: 9.6–115.2 kbit/s, asynchronous, RZI, UART-like, 3/16 pulse

MIR: 0.576–1.152 Mbit/s, RZI, 1/4 pulse, HDLC bit stuffing

FIR: 4 Mbit/s, 4PPM


[링크 : http://en.wikipedia.org/wiki/Infrared_Data_Association] 


IrDA 스펙상 SIR 과 FIR이 OSI 1계층으로 따로 있는거 보면..

연관이 없는건 아니지만 그래도 필요충분 조건은 아닌 느낌?

[링크 : http://irdajp.info/specifications.html]

'이론 관련 > 컴퓨터 관련' 카테고리의 다른 글

pkzip 포맷  (0) 2015.04.17
wear leveling dynamic static(global)  (0) 2015.04.09
MPEG4 HE-AAC 관련  (0) 2015.01.29
SBR - Spectral band replication  (0) 2015.01.23
ntp / ptp  (0) 2014.11.26
Posted by 구차니

MPEG4 오디오는 크게 AAC-LC와 HE-AAC로 나누어 진다.

확장자나 상품명 content type으로 치면

AAC-LC는 aac로

HE-AAC v1은 aacplus / aacp / aac+

HE-AAC v2는 eAAC+ / enhanced aacPlus / aacPlus v2

이런식으로 갈리는 것으로 보여진다.


VLC에서 확인하면

HE-AAC는 

AAC 확장: SBR 이라는 항목이 추가되어 출력된다.


Low Complexity AAC (AAC LC)

High-Efficiency Advanced Audio Coding (HE-AAC)

    HE-AAC v1 - SBR = aacplus / AAC+ / aacp(?)

    HE-AAC v2 - SBR + PS = Enhanced aacPlus


VersionCommon trade namesCodec featureStandards
HE-AAC v1aacPlus v1, eAAC, AAC+, CT-aacPlusAAC LC + SBRISO/IEC 14496-3:2001/Amd 1:2003
HE-AAC v2aacPlus v2, eAAC+, AAC++, Enhanced AAC+AAC LC + SBR + PSISO/IEC 14496-3:2005/Amd 2:2006


[링크 : http://en.wikipedia.org/wiki/High-Efficiency_Advanced_Audio_Coding]



nero 인코더/디코더를 보면

기본적으로 quality로 설정해서 압축하면 VBR 이며

0.25 quality 정도면(25%) 66kbps 에서

VBR로 대략 40kbps~56kbps 사이에서 데이터가 실제 전송양이 측정될 것으로 예상된다.



[링크 : http://www.nero.com/enu/company/about-nero/nero-aac-codec.php] nero non-commercial

[링크 : http://wiki.multimedia.cx/index.php?title=AAC_Reference_Software#mp4mcDec] official codec

'이론 관련 > 컴퓨터 관련' 카테고리의 다른 글

wear leveling dynamic static(global)  (0) 2015.04.09
IrDA  (0) 2015.04.01
SBR - Spectral band replication  (0) 2015.01.23
ntp / ptp  (0) 2014.11.26
네트워크 지연시간 설정 및 측정  (0) 2014.11.26
Posted by 구차니

SBR은 aacPlus/aacp/aac+ 를 위한 코덱이다.

mpeg-2 aac 에서 aacplus가 나오고

mpeg-4 HE-AAC는 그럼.. 어디서 나온 놈이지? -_-


 A Swedish company Coding Technologies (acquired by Dolby in 2007) developed and pioneered the use of SBR in its MPEG-2 AAC derived codec called aacPlus, which first appeared in 2001. This codec was submitted to MPEG and formed the basis of MPEG-4 High-Efficiency AAC (HE-AAC), standardized in 2003. Coding Technologies' SBR method has been used with WMA 10 Professional to create WMA 10 Pro LBR, and with MP3 to create mp3PRO.


[링크 : http://en.wikipedia.org/wiki/Spectral_band_replication]


2003년 이후부터 SBR이 MPEG-4 HE-AAC에 포함 되었다 라고 해야하려나?


[링크 : http://en.wikipedia.org/wiki/High-Efficiency_Advanced_Audio_Coding]

[링크 : https://software.intel.com/en-us/node/503067]


라이센스 문제가 있는거 같은데..

[링크 : https://code.google.com/p/aacplayer-android/]


일단 규모에 따라 다르지만 $1000 이나 $15000 달러 정도는 필요할 것으로 보인다.

[링크 : http://www.vialicensing.kr/licensing/aac-faq.aspx]

'이론 관련 > 컴퓨터 관련' 카테고리의 다른 글

IrDA  (0) 2015.04.01
MPEG4 HE-AAC 관련  (0) 2015.01.29
ntp / ptp  (0) 2014.11.26
네트워크 지연시간 설정 및 측정  (0) 2014.11.26
동기 비동기  (0) 2014.11.26
Posted by 구차니
NTP - Network Time Protocol
PTP - Precision Time Protocol

NTP
As of June 2010, the current protocol is version 4 (NTPv4)
NTP is intended to synchronize all participating computers to within a few milliseconds of Coordinated Universal Time (UTC).[1]:3 It uses a modified version of Marzullo's algorithm to select accurate time servers and is designed to mitigate the effects of variable network latency. NTP can usually maintain time to within tens of milliseconds over the public Internet, and can achieve better than one millisecond accuracy in local area networks under ideal conditions. Asymmetric routes and network congestion can cause errors of 100 ms or more.

PTP
The Precision Time Protocol (PTP) is a protocol used to synchronize clocks throughout a computer network. On a local area network, it achieves clock accuracy in the sub-microsecond range, making it suitable for measurement and control systems.
IEEE 1588-2002
IEEE 1588-2008

[링크 : http://en.wikipedia.org/wiki/Network_Time_Protocol]
[링크 : http://en.wikipedia.org/wiki/Precision_Time_Protocol]


For example when ntpq -c rl prints precision=-16, the precision is about 15 microseconds (2^-16 s).
[링크 : http://www.ntp.org/ntpfaq/NTP-s-sw-clocks-quality.htm]
[링크 : http://linux.die.net/man/8/ntpq]
[링크 : http://linux.die.net/man/8/ntpdc]


Why is IEEE 1588 so accurate? Two words: Hardware timestamping.
In some cases the delay can be quite long, many microseconds, or even milliseconds
[링크 : http://blog.meinbergglobal.com/2013/09/14/ieee-1588-accurate/]

'이론 관련 > 컴퓨터 관련' 카테고리의 다른 글

MPEG4 HE-AAC 관련  (0) 2015.01.29
SBR - Spectral band replication  (0) 2015.01.23
네트워크 지연시간 설정 및 측정  (0) 2014.11.26
동기 비동기  (0) 2014.11.26
파이프 라인 / 슈퍼스칼라  (0) 2013.10.08
Posted by 구차니
die.net에는 없는 명령인거 같은데..
아무튼 짧은 레이턴시를 길게 일정길이로 늘려줄수는 있으나
작게 잡아지진 않는 것 같고..

tc qdisk add dev eth0 root netem delay 100ms
tc qdisk del dev eth0 root netem delay 100ms
[링크 : http://monovision.tistory.com/5]
[링크 : http://linux.die.net/man/8/tc]

레이턴시는 sockperf라는 유틸을 이용해서 잴 수 있다고 한다.

[링크 : http://www.smallake.kr/?p=2246]
[링크 : https://code.google.com/p/sockperf/]

'이론 관련 > 컴퓨터 관련' 카테고리의 다른 글

SBR - Spectral band replication  (0) 2015.01.23
ntp / ptp  (0) 2014.11.26
동기 비동기  (0) 2014.11.26
파이프 라인 / 슈퍼스칼라  (0) 2013.10.08
VLIW - Very Long Instruction Word  (0) 2013.10.08
Posted by 구차니
동기 비동기는
블러킹과 넌블러킹으로 구현이 되는 상태라고 해야하나?

동기는 서로의 동기를 맞추어 딱딱 주고 받고(물론 서버가 안주면 클라이언트는 무한 대기)
비동기는 안주면 기다리지 않고 다른걸 하다 핸들러를 통하거나 다음번에 받아서 처리하는 식이라고 해석해야하나?

통신에서의 동기는 동기화된 클럭에 맞추어 start / end 없이 전송하는 것이고
비동기는 신호가 없다가 start 신호가 오면 wait 타임을 거쳐 동기를 맞추고 주고 받는 방식 인 듯.

[링크 : http://nsinc.tistory.com/108]
[링크 : http://recipes.egloos.com/viewer/5126390]
[링크 : http://linuxism.tistory.com/757]

'이론 관련 > 컴퓨터 관련' 카테고리의 다른 글

ntp / ptp  (0) 2014.11.26
네트워크 지연시간 설정 및 측정  (0) 2014.11.26
파이프 라인 / 슈퍼스칼라  (0) 2013.10.08
VLIW - Very Long Instruction Word  (0) 2013.10.08
펜타일(Pentile) 방식 디스플레이  (2) 2011.10.15
Posted by 구차니
파이프 라인은 명령어 단계를 나누어서
단위 시간에 작동중인 회로의 사용율을 올리는 기술이다.

파이프 라인은
fetch - decode - execute - store 의 순서를 따르는
회로 레벨에서의 명령어 수행을 나누어 처리 하고

슈퍼스칼라는
명령어 단위로 하기 때문에 파이프 라인과 동시에 확장시켜
파이프 라인 + 슈퍼 스칼라로 최대한의 사용율을 끌어 낼수 있다.
(음? 회로 레벨의 수행단위인가 아니면 명령어 인가 헷갈리네..
명령어 라면 슈퍼 스칼라와 멀티 코어 / 멀티 프로세서와의 차이가 모호해지는데??)

단, 항상 그러하듯 병렬 처리는 동기화 및 순서 문제가 있으므로
모든 부분에 대해서 병렬화 할수 없다는 단점은 존재한다.


[링크 : http://ko.wikipedia.org/wiki/명령어_파이프라인]
 

[링크 : http://ko.wikipedia.org/wiki/슈퍼스칼라]
[링크 : http://www.hanbitbook.co.kr/web/sample/1283/computer_chap4.pdf]

[링크 : http://en.wikipedia.org/wiki/Instruction_pipeline]
[링크 : http://en.wikipedia.org/wiki/Superscalar]
[링크 : http://en.wikipedia.org/wiki/Instruction-level_parallelism]

'이론 관련 > 컴퓨터 관련' 카테고리의 다른 글

네트워크 지연시간 설정 및 측정  (0) 2014.11.26
동기 비동기  (0) 2014.11.26
VLIW - Very Long Instruction Word  (0) 2013.10.08
펜타일(Pentile) 방식 디스플레이  (2) 2011.10.15
EFI 와 BIOS  (0) 2011.07.22
Posted by 구차니